| --- |
| tags: |
| - safety |
| - guardrail |
| - hallucination-detection |
| - streaming |
| - ling-3.0 |
| license: mit |
| base_model: inclusionAI/Ling-3.0-tiny |
| --- |
| |
| # Ling3-SingProbe |
|
|
| <p align="center"><b>English</b> | <a href="https://huggingface.co/inclusionAI/Ling-3.0-tiny-singprobe/blob/main/README_CN.md">中文</a></p> |
|
|
| ## Model Description |
|
|
| SingProbe is an **intrinsic streaming guardrail** built on `inclusionAI/Ling-3.0-tiny`. Rather than running a separate safety model, this lightweight probe reuses the base model's hidden states during generation to score, at every token, **query intent**, **response unsafety**, and **hallucination risk**. It adds less than 0.5% decode-time overhead. |
|
|
| | Base model | Probe parameters | Tapped layers | Outputs | |
| | --- | ---: | --- | --- | |
| | `inclusionAI/Ling-3.0-tiny-singprobe` | 3.22M | `[6, 14, 22]` | 8 intents + unsafe + hallucination | |
|
|
| See the [technical report](https://arxiv.org/abs/2608.30703) for methodology and complete results; implementation details are available at [inclusionAI/SingProbe](https://github.com/inclusionAI/SingProbe). |
|
|
| ## Evaluation |
|
|
| Higher is better for every metric. Results are averages over the benchmark suites specified below. |
|
|
| | Task | Metric | Ling-3.0-tiny-singprobe | Reference baseline | |
| | --- | --- | ---: | ---: | |
| | Query intent classification (6 benchmarks) | F1 | **0.8561** | Qwen3Guard-Stream-8B-strict: 0.8602 | |
| | Response safety classification (8 benchmarks) | F1 | **0.8508** | Qwen3Guard-Stream-8B-strict: 0.8486 | |
| | Streaming safety (3 benchmarks) | R-AUC / T-AUC | **0.9888 / 0.9479** | Qwen3Guard-Stream-8B-strict: 0.9640 / 0.8893 | |
| | Hallucination detection (6 benchmarks) | AUC | **0.7765** | DRIFT: 0.7408 | |
|
|
| | Deployment characteristic | Result | |
| | --- | --- | |
| | Benign-response false-positive rate | 0.07% average across 5 datasets | |
| | Online hallucination detection | 0.6807 average AUC under free generation | |
| | Decode overhead | < 0.5% | |
|
|
| ## Quick Start |
|
|
| SingProbe is supported through the [SGLang integration branch](https://github.com/jinzhen-lin/sglang/tree/token-probe-ling3-flash-main) or [vLLM integration branch](https://github.com/jinzhen-lin/vllm/tree/bailing-v3-token-probe). Load the probe by its Hugging Face ID at server launch: |
|
|
| ```bash |
| python -m sglang.launch_server \ |
| --model-path inclusionAI/Ling-3.0-tiny \ |
| --probe-ckpt inclusionAI/Ling-3.0-tiny-singprobe \ |
| --port 30000 |
| ``` |
|
|
| The integrations return one score dictionary per generated token (`label_0`–`label_9`). They currently support Ling-3.0 (`BailingMoeV3ForCausalLM`) base models only. Use the exact base-model/probe pair: `inclusionAI/Ling-3.0-tiny` with this checkpoint. |
|
|
| ## Citation |
|
|
| ```bibtex |
| @article{singteam2026singprobe, |
| title = {SingProbe Technical Report}, |
| author = {Sing Team}, |
| journal = {arXiv preprint arXiv:2608.30703}, |
| year = {2026}, |
| } |
| ``` |
|
|