Rookie-Liu commited on
Commit
faa0f1b
·
verified ·
1 Parent(s): cc9f570

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +85 -82
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-Flash
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
- Ling3-Flash-UBTree-B16 is a tree speculative-decoding draft model for
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
- This repository contains a speculative-decoding draft checkpoint, not a
27
- standalone language model. It must be used together with the compatible
28
- Ling3-Flash target model and a UBTree-enabled SGLang runtime.
 
29
 
30
- ## Model structure
 
 
31
 
32
- | Item | Value |
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
- ## Intended use
51
 
52
- The model is intended to accelerate Ling3-Flash inference in text generation,
53
- mathematical reasoning, code generation, and long-form generation workloads.
54
- It can also support research on tree-based speculative decoding.
55
 
56
- It is not intended to replace the target model or to generate outputs without
57
- target verification.
58
 
59
- ## Runtime requirements
60
 
61
- - `inclusionAI/Ling-3.0-Flash` as the target model.
62
- - A UBTree-enabled SGLang runtime that registers `Ling3UBTreeModel`.
63
- - This repository as the speculative draft-model path.
 
64
 
65
- The checkpoint is not directly loadable as a standalone
66
- `transformers.AutoModelForCausalLM` model.
 
67
 
68
- ## Performance reference
69
 
70
- The following results are from an optimized SGLang evaluation performed on
71
- **2026-09-23** using H200 GPUs. The setup used Ling3-Flash with tensor
72
- parallelism 4, greedy decoding, a fixed 32-position verification tree, overlap
73
- scheduling, and tuned Triton MoE kernels. The concurrency benchmark additionally
74
- used Full Decode CUDA Graph with batch sizes 1 through 32 captured. Throughput
75
- is measured as client-visible output tokens divided by end-to-end wall time.
76
-
77
- Each task used the same ordered inputs, one warm-up request, temperature 0,
78
- thinking disabled, EOS enabled, and `max_new_tokens=2048`.
79
-
80
- | Dataset | Samples | Output tokens/s |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  |---|---:|---:|
82
- | GSM8K | 128 | 908.50 |
83
- | MATH-500 | 128 | 1136.46 |
84
- | AIME25 | 30 | 1068.17 |
85
- | HumanEval | 128 | 1012.01 |
86
- | MBPP | 128 | 966.96 |
87
- | LiveCodeBench | 128 | 957.39 |
88
-
89
- The fixed-width Full Decode CUDA Graph concurrency sweep on 128 GSM8K prompts
90
- reported the following median throughput across three rounds:
91
-
92
- | Concurrent requests | Output tokens/s |
93
- |---:|---:|
94
- | 1 | 907.05 |
95
- | 4 | 1509.43 |
96
- | 16 | 2174.15 |
97
- | 32 | 2178.32 |
98
-
99
- These figures are reference measurements from the stated environment, not
100
- speedups over a target-only server. The original benchmark summary does not
101
- include an exact public software revision, so results may vary across runtime
102
- versions. These performance tests do not establish strict output equivalence
103
- or task quality.
104
-
105
- ## Limitations
106
-
107
- - Requires the matching Ling3-Flash target and UBTree runtime plugin.
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
- This checkpoint is released under the MIT License.
 
 
 
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
+ ![UBTree architecture and tree-native training pipeline](assets/ubtree_pipeline.png)
 
 
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/).