Update README.md
Browse files
README.md
CHANGED
|
@@ -3,13 +3,15 @@ library_name: sglang
|
|
| 3 |
pipeline_tag: text-generation
|
| 4 |
license: mit
|
| 5 |
base_model:
|
| 6 |
-
- inclusionAI/Ling-3.0-
|
| 7 |
tags:
|
| 8 |
- speculative-decoding
|
| 9 |
- tree-speculative-decoding
|
| 10 |
- ubtree
|
|
|
|
| 11 |
- sglang
|
| 12 |
- ling3
|
|
|
|
| 13 |
language:
|
| 14 |
- zh
|
| 15 |
- en
|
|
@@ -17,99 +19,100 @@ language:
|
|
| 17 |
|
| 18 |
# Ling3-Flash-UBTree-B16
|
| 19 |
|
| 20 |
-
|
| 21 |
-
`inclusionAI/Ling-3.0-Flash`. It combines a five-layer DFlash draft backbone
|
| 22 |
-
with a learned UBTree selector. The draft predicts multiple future positions
|
| 23 |
-
in parallel, the selector builds a prefix-closed candidate tree, and the
|
| 24 |
-
Ling3-Flash target model verifies the tree before any token is committed.
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
|
|
|
| 29 |
|
| 30 |
-
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
| Target model | `inclusionAI/Ling-3.0-Flash` |
|
| 35 |
-
| Architecture | `Ling3UBTreeModel` |
|
| 36 |
-
| Draft backbone | 5-layer DFlash |
|
| 37 |
-
| Draft block size | 16 tokens |
|
| 38 |
-
| Maximum verification tree | 65 positions per verification step |
|
| 39 |
-
| Benchmark verification tree | 32 positions per verification step |
|
| 40 |
-
| Training | Joint draft-backbone and tree-selector training |
|
| 41 |
-
| Precision | BF16 |
|
| 42 |
-
|
| 43 |
-
### Configuration compatibility
|
| 44 |
-
|
| 45 |
-
`config.json` identifies this checkpoint as `Ling3UBTreeModel`. The
|
| 46 |
-
`model_type: qwen3` field is retained for compatibility with the shared dense
|
| 47 |
-
draft configuration used by the runtime; it does not mean that this checkpoint
|
| 48 |
-
targets a Qwen3 model.
|
| 49 |
|
| 50 |
-
##
|
| 51 |
|
| 52 |
-
|
| 53 |
-
mathematical reasoning, code generation, and long-form generation workloads.
|
| 54 |
-
It can also support research on tree-based speculative decoding.
|
| 55 |
|
| 56 |
-
|
| 57 |
-
target verification.
|
| 58 |
|
| 59 |
-
|
| 60 |
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
|
|
|
| 64 |
|
| 65 |
-
The
|
| 66 |
-
|
|
|
|
| 67 |
|
| 68 |
-
##
|
| 69 |
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
|---|---:|---:|
|
| 82 |
-
| GSM8K |
|
| 83 |
-
| MATH-500 |
|
| 84 |
-
|
|
| 85 |
-
| HumanEval |
|
| 86 |
-
| MBPP |
|
| 87 |
-
| LiveCodeBench |
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
- Verified performance does not automatically transfer to other tensor
|
| 109 |
-
parallel sizes, runtime versions, hardware, or concurrency levels.
|
| 110 |
-
- Sampling, grammar-constrained decoding, and other serving features require
|
| 111 |
-
independent validation.
|
| 112 |
|
| 113 |
## License
|
| 114 |
|
| 115 |
-
|
|
|
|
|
|
|
|
|
| 3 |
pipeline_tag: text-generation
|
| 4 |
license: mit
|
| 5 |
base_model:
|
| 6 |
+
- inclusionAI/Ling-3.0-flash
|
| 7 |
tags:
|
| 8 |
- speculative-decoding
|
| 9 |
- tree-speculative-decoding
|
| 10 |
- ubtree
|
| 11 |
+
- dflash
|
| 12 |
- sglang
|
| 13 |
- ling3
|
| 14 |
+
- arxiv:2609.39972
|
| 15 |
language:
|
| 16 |
- zh
|
| 17 |
- en
|
|
|
|
| 19 |
|
| 20 |
# Ling3-Flash-UBTree-B16
|
| 21 |
|
| 22 |
+
[Paper](https://arxiv.org/abs/2609.39972) · [Target model](https://huggingface.co/inclusionAI/Ling-3.0-flash)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
+
**Ling3-Flash-UBTree-B16** is a UBTree speculative-decoding draft model for
|
| 25 |
+
[inclusionAI/Ling-3.0-flash](https://huggingface.co/inclusionAI/Ling-3.0-flash). It combines a
|
| 26 |
+
five-layer DFlash backbone with a learned bigram selector to propose multiple
|
| 27 |
+
candidate continuations for target-model verification.
|
| 28 |
|
| 29 |
+
> **SGLang integration — stay tuned!** Our UBTree adaptation for Ling3 has not
|
| 30 |
+
> yet been released to the open-source SGLang community. Public installation
|
| 31 |
+
> instructions and serving recipes will be added here when it becomes available.
|
| 32 |
|
| 33 |
+
This checkpoint is used alongside the matching target model; it cannot serve
|
| 34 |
+
as a standalone text-generation model.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
+
## How UBTree works
|
| 37 |
|
| 38 |
+

|
|
|
|
|
|
|
| 39 |
|
| 40 |
+
*UBTree pipeline*
|
|
|
|
| 41 |
|
| 42 |
+
UBTree pairs a **unigram proposer** with a **bigram selector**:
|
| 43 |
|
| 44 |
+
1. A DFlash backbone proposes candidate tokens for future positions in parallel.
|
| 45 |
+
2. The selector scores transitions between adjacent candidates in parallel.
|
| 46 |
+
3. Tree construction retains promising branches within a verification budget.
|
| 47 |
+
4. The target verifies the tree and commits the accepted continuation.
|
| 48 |
|
| 49 |
+
The paper also introduces tree-native training with renormalized KL supervision
|
| 50 |
+
on high-temperature target traces, encouraging plausible alternative branches.
|
| 51 |
+
See the [paper](https://arxiv.org/abs/2609.39972) for the method and experiments.
|
| 52 |
|
| 53 |
+
## Model specifications
|
| 54 |
|
| 55 |
+
| Item | Value |
|
| 56 |
+
|---|---|
|
| 57 |
+
| Target model | [inclusionAI/Ling-3.0-flash](https://huggingface.co/inclusionAI/Ling-3.0-flash) |
|
| 58 |
+
| Draft architecture | `Ling3UBTreeModel` |
|
| 59 |
+
| Draft backbone | 5 full-attention Transformer layers |
|
| 60 |
+
| Parameters stored in this checkpoint | 481,983,774 (482.0M) |
|
| 61 |
+
| Weight dtype | BF16 |
|
| 62 |
+
| Hidden size | 2,560 |
|
| 63 |
+
| Attention heads / KV heads | 32 / 32 |
|
| 64 |
+
| Target auxiliary feature layers (zero-based) | 1, 11, 23, 29, 35 |
|
| 65 |
+
| Draft block size | 16 (anchor-inclusive runtime convention) |
|
| 66 |
+
| Candidate top-k | 64 per draft position |
|
| 67 |
+
| Default verification tree budget | 64 non-root nodes + 1 anchor |
|
| 68 |
+
| Training | DFlash warm start, then joint backbone + UBTree selector training |
|
| 69 |
+
|
| 70 |
+
The parameter count covers tensors distributed in this repository. The draft
|
| 71 |
+
shares token embeddings and the language-model head with the target; these
|
| 72 |
+
shared weights are not included here. B16 denotes the draft block size, not
|
| 73 |
+
the verification tree's node budget.
|
| 74 |
+
|
| 75 |
+
## Serving with SGLang
|
| 76 |
+
|
| 77 |
+
UBTree support for Ling3 in SGLang is coming soon. We will share installation
|
| 78 |
+
instructions and serving examples once the integration is publicly available.
|
| 79 |
+
**Stay tuned!**
|
| 80 |
+
|
| 81 |
+
## Benchmark results
|
| 82 |
+
|
| 83 |
+
Results for this checkpoint will be added here. **TBD** means not yet reported.
|
| 84 |
+
|
| 85 |
+
| Dataset | Acceptance length | Speedup |
|
| 86 |
|---|---:|---:|
|
| 87 |
+
| GSM8K | TBD | TBD |
|
| 88 |
+
| MATH-500 | TBD | TBD |
|
| 89 |
+
| AIME 2025 | TBD | TBD |
|
| 90 |
+
| HumanEval | TBD | TBD |
|
| 91 |
+
| MBPP | TBD | TBD |
|
| 92 |
+
| LiveCodeBench | TBD | TBD |
|
| 93 |
+
|
| 94 |
+
Acceptance length is the mean number of tokens committed per verification
|
| 95 |
+
step, including the target token. Speedup is measured against target-only
|
| 96 |
+
autoregressive decoding with the same hardware, inputs, and decoding settings.
|
| 97 |
+
The runtime version, tree budget, concurrency, and timing protocol will be
|
| 98 |
+
reported alongside the results.
|
| 99 |
+
|
| 100 |
+
## Citation
|
| 101 |
+
|
| 102 |
+
If you use UBTree in your work, please cite:
|
| 103 |
+
|
| 104 |
+
```bibtex
|
| 105 |
+
@article{liang2026ubtree,
|
| 106 |
+
title = {UBTree: Parallel Tree Drafting via Unigram and Bigram Models for Speculative Decoding},
|
| 107 |
+
author = {Liang, Chumeng and Wang, Linxuan and Peng, Xinyu and Liu, Huabin and Chen, Yuxin and Liu, Ge and Lin, Guang and Song, Qifan and Li, Jianguo},
|
| 108 |
+
journal = {arXiv preprint arXiv:2609.39972},
|
| 109 |
+
year = {2026},
|
| 110 |
+
url = {https://arxiv.org/abs/2609.39972}
|
| 111 |
+
}
|
| 112 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
|
| 114 |
## License
|
| 115 |
|
| 116 |
+
The model weights are released under the **MIT License**. The pipeline figure
|
| 117 |
+
is from [Liang et al., Figure 2](https://arxiv.org/html/2609.39972v1#S2.F2),
|
| 118 |
+
reproduced without modification under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|