ZixiQi commited on
Commit
134557f
·
verified ·
1 Parent(s): 066131f

Publish final step-5780 weights and acceptance results

Browse files
README.md CHANGED
@@ -1,7 +1,7 @@
1
  ---
2
  pipeline_tag: text-generation
3
  base_model: moonshotai/Kimi-K3
4
- checkpoint_step: 4900
5
  tags:
6
  - speculative-decoding
7
  - vllm
@@ -18,33 +18,42 @@ trained at `block_size=5`: one forward pass drafts the full five-token block.
18
 
19
  ## Training
20
 
21
- The draft is trained with [**speculators**](https://github.com/vllm-project/speculators),
22
- the speculative-decoding library from the [vLLM project](https://github.com/vllm-project),
23
- against Kimi-K3 hidden states streamed live from **vLLM**.
 
24
 
25
  ## Acceptance
26
 
27
  Evaluated against Kimi-K3 on 8×B300 (TP8), drafting 5 tokens with probabilistic
28
  sampling and block rejection at temperature 1.0 and top-p 0.95. All 1,604 requests
29
- succeeded.
30
 
31
  | Workload | Requests | Acceptance | Mean accepted length (max 6) |
32
  | --- | ---: | ---: | ---: |
33
- | GSM8K | 256 | 69.22% | 4.461 |
34
- | HumanEval | 164 | 63.90% | 4.195 |
35
- | MBPP | 256 | 56.29% | 3.815 |
36
- | MATH-500 | 500 | 46.82% | 3.341 |
37
- | SWE-bench Pro | 128 | 37.51% | 2.875 |
38
- | MT-Bench | 80 | 33.04% | 2.652 |
39
- | AIME26 | 30 | 28.56% | 2.428 |
40
- | AA-LCR (~100K) | 100 | 40.15% | 3.008 |
41
- | BEAM 100K | 20 | 37.34% | 2.867 |
42
- | BEAM 500K | 35 | 34.57% | 2.728 |
43
- | BEAM 1M | 35 | 31.56% | 2.578 |
44
- | **Aggregate** | **1,604** | **45.63%** | **3.282** |
45
 
46
- **The full 1M context window is supported through YaRN**, validated on every conversation
47
- of the [BEAM](https://huggingface.co/datasets/Mohammadta/BEAM) 100K, 500K, and 1M splits above.
 
 
 
 
 
 
 
 
48
 
49
  ## Serving
50
 
@@ -61,4 +70,4 @@ vllm serve moonshotai/Kimi-K3 \
61
  "draft_sample_method": "probabilistic",
62
  "rejection_sample_method": "block"
63
  }'
64
- ```
 
1
  ---
2
  pipeline_tag: text-generation
3
  base_model: moonshotai/Kimi-K3
4
+ checkpoint_step: 5780
5
  tags:
6
  - speculative-decoding
7
  - vllm
 
18
 
19
  ## Training
20
 
21
+ The draft completed a four-epoch run with
22
+ [**speculators**](https://github.com/vllm-project/speculators), the speculative-decoding
23
+ library from the [vLLM project](https://github.com/vllm-project), against Kimi-K3 hidden
24
+ states streamed live from **vLLM**.
25
 
26
  ## Acceptance
27
 
28
  Evaluated against Kimi-K3 on 8×B300 (TP8), drafting 5 tokens with probabilistic
29
  sampling and block rejection at temperature 1.0 and top-p 0.95. All 1,604 requests
30
+ succeeded. The aggregate is computed from summed counters, not an average of arm rates.
31
 
32
  | Workload | Requests | Acceptance | Mean accepted length (max 6) |
33
  | --- | ---: | ---: | ---: |
34
+ | GSM8K | 256 | 71.62% | 4.581 |
35
+ | HumanEval | 164 | 63.74% | 4.187 |
36
+ | MBPP | 256 | 56.38% | 3.819 |
37
+ | MATH-500 | 500 | 47.48% | 3.374 |
38
+ | SWE-bench Pro | 128 | 38.09% | 2.904 |
39
+ | MT-Bench | 80 | 33.19% | 2.659 |
40
+ | AIME26 | 30 | 29.78% | 2.489 |
41
+ | AA-LCR (~100K) | 100 | 41.04% | 3.052 |
42
+ | BEAM 100K | 20 | 37.17% | 2.858 |
43
+ | BEAM 500K | 35 | 30.26% | 2.513 |
44
+ | BEAM 1M | 35 | 31.37% | 2.569 |
45
+ | **Aggregate** | **1,604** | **46.10%** | **3.305** |
46
 
47
+ The separate five-shot GSM8K accuracy check scored **96.51% exact match** on all 1,319
48
+ examples with zero request errors.
49
+
50
+ **The full 1M context window is supported through YaRN**, evaluated on every row of the
51
+ [BEAM](https://huggingface.co/datasets/Mohammadta/BEAM) 100K, 500K, and 1M splits above.
52
+ The fixed 1M acceptance corpus left-truncates oldest turns in 14 of 35 over-limit source
53
+ conversations to keep prompt plus output within 1,048,576 tokens; its longest measured
54
+ prompt is 1,039,871 tokens. Two successful completions were flagged as degenerate by the
55
+ client (BEAM 500K conversation 4 and BEAM 1M conversation 18). Full counters,
56
+ per-position rates, and quality flags are in `benchmark_results.json`.
57
 
58
  ## Serving
59
 
 
70
  "draft_sample_method": "probabilistic",
71
  "rejection_sample_method": "block"
72
  }'
73
+ ```
benchmark_results.json ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "checkpoint": {
4
+ "global_step": 5780,
5
+ "weights_sha256": "4182214cd0e9898c56ffb220dfababf1e7d8d9029b0a08f4ecc12be0ea6ded72",
6
+ "weights_bytes": 5707153178,
7
+ "config_sha256": "5fd7249ad8dbd8fd23947dacfe5cc49383b69f8083c3b88bc2c3971d670d616f",
8
+ "config_unchanged_from_hub_revision": "066131ff38a6925f745768b2ed3ee5ae05f40144"
9
+ },
10
+ "evaluation": {
11
+ "run": "k3_dspark_block5_step5780_final_20260825_031135",
12
+ "slurm_job_id": 9799,
13
+ "slurm_state": "COMPLETED",
14
+ "slurm_exit_code": "0:0",
15
+ "pipeline_duration_s": 9454.0,
16
+ "target_model": "moonshotai/Kimi-K3",
17
+ "target_revision": "cdd2e49a2c1cf8d4713b513955e415ed75405a72",
18
+ "hardware": "8x NVIDIA B300 (TP8 across 2 nodes)",
19
+ "num_speculative_tokens": 5,
20
+ "draft_sample_method": "probabilistic",
21
+ "rejection_sample_method": "block",
22
+ "temperature": 1.0,
23
+ "top_p": 0.95,
24
+ "max_model_len": 1048576,
25
+ "requests": 1604,
26
+ "failed_requests": 0
27
+ },
28
+ "aggregate": {
29
+ "accepted_tokens": 823451,
30
+ "draft_tokens": 1786225,
31
+ "drafts": 357245,
32
+ "acceptance_rate": 0.4610007137958544,
33
+ "mean_accepted_length": 3.305003568979272
34
+ },
35
+ "arms": [
36
+ {
37
+ "label": "accept_mtbench",
38
+ "requests": 80,
39
+ "failed_requests": 0,
40
+ "acceptance_rate": 0.33188085625047614,
41
+ "mean_accepted_length": 2.659404281252381,
42
+ "accepted_tokens": 43566,
43
+ "draft_tokens": 131270,
44
+ "drafts": 26254,
45
+ "per_position_acceptance": [0.6965414793936162, 0.4423325969376095, 0.26594042812523805, 0.16386074502932887, 0.09072903176658795]
46
+ },
47
+ {
48
+ "label": "accept_gsm8k",
49
+ "requests": 256,
50
+ "failed_requests": 0,
51
+ "acceptance_rate": 0.7161949021264611,
52
+ "mean_accepted_length": 4.580974510632306,
53
+ "accepted_tokens": 50857,
54
+ "draft_tokens": 71010,
55
+ "drafts": 14202,
56
+ "per_position_acceptance": [0.9294465568229827, 0.8285452753133361, 0.7165892127869314, 0.6059709900014083, 0.5004224757076469]
57
+ },
58
+ {
59
+ "label": "accept_math500",
60
+ "requests": 500,
61
+ "failed_requests": 0,
62
+ "acceptance_rate": 0.4747567821928452,
63
+ "mean_accepted_length": 3.373783910964226,
64
+ "accepted_tokens": 216914,
65
+ "draft_tokens": 456895,
66
+ "drafts": 91379,
67
+ "per_position_acceptance": [0.7832105844887776, 0.5922038980509745, 0.4407796101949025, 0.3229735497214896, 0.23461626850808173]
68
+ },
69
+ {
70
+ "label": "accept_humaneval",
71
+ "requests": 164,
72
+ "failed_requests": 0,
73
+ "acceptance_rate": 0.6373504652193177,
74
+ "mean_accepted_length": 4.186752326096588,
75
+ "accepted_tokens": 100695,
76
+ "draft_tokens": 157990,
77
+ "drafts": 31598,
78
+ "per_position_acceptance": [0.8817646686499145, 0.7481169694284449, 0.6228558769542376, 0.5135135135135135, 0.4205012975504779]
79
+ },
80
+ {
81
+ "label": "accept_mbpp",
82
+ "requests": 256,
83
+ "failed_requests": 0,
84
+ "acceptance_rate": 0.5638449795636973,
85
+ "mean_accepted_length": 3.8192248978184864,
86
+ "accepted_tokens": 171750,
87
+ "draft_tokens": 304605,
88
+ "drafts": 60921,
89
+ "per_position_acceptance": [0.8627895142889972, 0.6984291131137046, 0.5382052165919797, 0.4110569425977906, 0.30874411122601403]
90
+ },
91
+ {
92
+ "label": "accept_aime26",
93
+ "requests": 30,
94
+ "failed_requests": 0,
95
+ "acceptance_rate": 0.2977662636729994,
96
+ "mean_accepted_length": 2.488831318364997,
97
+ "accepted_tokens": 51722,
98
+ "draft_tokens": 173700,
99
+ "drafts": 34740,
100
+ "per_position_acceptance": [0.6478411053540587, 0.39833045480713875, 0.2360391479562464, 0.13457109959700633, 0.07204951065054692]
101
+ },
102
+ {
103
+ "label": "accept_swebench_pro",
104
+ "requests": 128,
105
+ "failed_requests": 0,
106
+ "acceptance_rate": 0.3808832202890003,
107
+ "mean_accepted_length": 2.904416101445001,
108
+ "accepted_tokens": 154989,
109
+ "draft_tokens": 406920,
110
+ "drafts": 81384,
111
+ "per_position_acceptance": [0.7383023690160228, 0.5001351617025459, 0.32659982306104396, 0.20828418362331663, 0.13109456404207215]
112
+ },
113
+ {
114
+ "label": "accept_aa_lcr",
115
+ "requests": 100,
116
+ "failed_requests": 0,
117
+ "acceptance_rate": 0.41044765075841655,
118
+ "mean_accepted_length": 3.052238253792083,
119
+ "accepted_tokens": 27736,
120
+ "draft_tokens": 67575,
121
+ "drafts": 13515,
122
+ "per_position_acceptance": [0.7897891231964483, 0.5861635220125786, 0.4015538290788013, 0.20621531631520532, 0.0685164631890492]
123
+ },
124
+ {
125
+ "label": "accept_beam_100k",
126
+ "requests": 20,
127
+ "failed_requests": 0,
128
+ "acceptance_rate": 0.3716840536512668,
129
+ "mean_accepted_length": 2.8584202682563338,
130
+ "accepted_tokens": 1247,
131
+ "draft_tokens": 3355,
132
+ "drafts": 671,
133
+ "per_position_acceptance": [0.789865871833085, 0.5380029806259314, 0.338301043219076, 0.15350223546944858, 0.038748137108792845]
134
+ },
135
+ {
136
+ "label": "accept_beam_500k",
137
+ "requests": 35,
138
+ "failed_requests": 0,
139
+ "acceptance_rate": 0.30257186081694404,
140
+ "mean_accepted_length": 2.51285930408472,
141
+ "accepted_tokens": 2000,
142
+ "draft_tokens": 6610,
143
+ "drafts": 1322,
144
+ "per_position_acceptance": [0.7291981845688351, 0.4523449319213313, 0.23373676248108927, 0.07564296520423601, 0.02193645990922844]
145
+ },
146
+ {
147
+ "label": "accept_beam_1m",
148
+ "requests": 35,
149
+ "failed_requests": 0,
150
+ "acceptance_rate": 0.31374106433677523,
151
+ "mean_accepted_length": 2.568705321683876,
152
+ "accepted_tokens": 1975,
153
+ "draft_tokens": 6295,
154
+ "drafts": 1259,
155
+ "per_position_acceptance": [0.7410643367752184, 0.4908657664813344, 0.2454328832406672, 0.07307386814932486, 0.018268467037331215]
156
+ }
157
+ ],
158
+ "accuracy": {
159
+ "task": "gsm8k",
160
+ "n": 1319,
161
+ "request_errors": 0,
162
+ "exact_match_strict": 0.9651,
163
+ "exact_match_flexible": 0.9651,
164
+ "shot_num": 5,
165
+ "temperature": 0.7,
166
+ "top_p": 0.95
167
+ },
168
+ "long_context_quality_flags": {
169
+ "beam_100k": {
170
+ "source_conversations_left_truncated": 0,
171
+ "degenerate_outputs": 0,
172
+ "unparsed_outputs": 0,
173
+ "no_output_requests": 0,
174
+ "maximum_prompt_tokens": 186117
175
+ },
176
+ "beam_500k": {
177
+ "source_conversations_left_truncated": 0,
178
+ "degenerate_outputs": 1,
179
+ "degenerate_conversation_ids": ["4"],
180
+ "unparsed_outputs": 0,
181
+ "no_output_requests": 0,
182
+ "maximum_prompt_tokens": 717727
183
+ },
184
+ "beam_1m": {
185
+ "source_conversations_left_truncated": 14,
186
+ "degenerate_outputs": 1,
187
+ "degenerate_conversation_ids": ["18"],
188
+ "unparsed_outputs": 0,
189
+ "no_output_requests": 0,
190
+ "maximum_prompt_tokens": 1039871
191
+ }
192
+ }
193
+ }
export_manifest.json CHANGED
@@ -1,12 +1,12 @@
1
  {
2
  "format_version": 1,
3
- "created_at_utc": "2026-08-24T15:24:25.225600+00:00",
4
- "source_checkpoint": "/home/inf-zixi/speculator-training/k3_dspark_3layers/export_staging/global4900",
5
  "target_model": "/home/inf-zixi/.cache/huggingface/hub/models--moonshotai--Kimi-K3/snapshots/cdd2e49a2c1cf8d4713b513955e415ed75405a72",
6
  "source_config_sha256": "e906971eab49e77693bcb0c0e9c4fb73c19afa2a048d6f8c9d2c62d1ec436f35",
7
- "source_weights_sha256": "5c6470d6de9f7e1d13213909a154fff6cd8dc29b8e3023657bee1d70da2f3cf0",
8
  "output_config_sha256": "d46a5c8ae79c8f85f90d554d8df9e4c23579ea2795102930a6505704b298223c",
9
- "output_weights_sha256": "0d40f8be1d2c91f82296e3481cab02873893213601531499fd1ffaf0aa7f9993",
10
  "source_weight_bytes": 8055963450,
11
  "output_weight_bytes": 5707153178,
12
  "tensor_count": 44,
@@ -20,7 +20,7 @@
20
  ],
21
  "training_state": {
22
  "epoch": 3,
23
- "local_step": 4496,
24
- "global_step": 4900
25
  }
26
  }
 
1
  {
2
  "format_version": 1,
3
+ "created_at_utc": "2026-08-25T03:09:45.012409+00:00",
4
+ "source_checkpoint": "/home/inf-zixi/speculator-training/k3_dspark_3layers/export_staging/global5780_final",
5
  "target_model": "/home/inf-zixi/.cache/huggingface/hub/models--moonshotai--Kimi-K3/snapshots/cdd2e49a2c1cf8d4713b513955e415ed75405a72",
6
  "source_config_sha256": "e906971eab49e77693bcb0c0e9c4fb73c19afa2a048d6f8c9d2c62d1ec436f35",
7
+ "source_weights_sha256": "0dea41a55dff6baafd2d00c035be14039a80dadaf81647fd8d63c6f8bbf7137a",
8
  "output_config_sha256": "d46a5c8ae79c8f85f90d554d8df9e4c23579ea2795102930a6505704b298223c",
9
+ "output_weights_sha256": "4182214cd0e9898c56ffb220dfababf1e7d8d9029b0a08f4ecc12be0ea6ded72",
10
  "source_weight_bytes": 8055963450,
11
  "output_weight_bytes": 5707153178,
12
  "tensor_count": 44,
 
20
  ],
21
  "training_state": {
22
  "epoch": 3,
23
+ "local_step": 0,
24
+ "global_step": 5780
25
  }
26
  }
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0d40f8be1d2c91f82296e3481cab02873893213601531499fd1ffaf0aa7f9993
3
  size 5707153178
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4182214cd0e9898c56ffb220dfababf1e7d8d9029b0a08f4ecc12be0ea6ded72
3
  size 5707153178
overlay_manifest.json CHANGED
@@ -1,11 +1,11 @@
1
  {
2
  "format_version": 1,
3
- "created_at_utc": "2026-08-24T15:24:42.547804+00:00",
4
  "kind": "config-only serving overlay",
5
- "plain_export": "/home/inf-zixi/speculator-training/evals/hf_checkpoints/k3_dspark_3layers_step4900_plain",
6
  "weights_hard_linked": true,
7
  "weights_same_inode": true,
8
- "weights_sha256": "0d40f8be1d2c91f82296e3481cab02873893213601531499fd1ffaf0aa7f9993",
9
  "weights_bytes": 5707153178,
10
  "changed_fields": {
11
  "max_position_embeddings": [
@@ -18,7 +18,7 @@
18
  "rope_type": "default"
19
  },
20
  {
21
- "rope_type": "deepseek_yarn",
22
  "rope_theta": 1000000.0,
23
  "factor": 32.0,
24
  "original_max_position_embeddings": 32768,
 
1
  {
2
  "format_version": 1,
3
+ "created_at_utc": "2026-08-25T03:10:02.617008+00:00",
4
  "kind": "config-only serving overlay",
5
+ "plain_export": "/home/inf-zixi/speculator-training/evals/hf_checkpoints/k3_dspark_3layers_step5780_plain",
6
  "weights_hard_linked": true,
7
  "weights_same_inode": true,
8
+ "weights_sha256": "4182214cd0e9898c56ffb220dfababf1e7d8d9029b0a08f4ecc12be0ea6ded72",
9
  "weights_bytes": 5707153178,
10
  "changed_fields": {
11
  "max_position_embeddings": [
 
18
  "rope_type": "default"
19
  },
20
  {
21
+ "rope_type": "yarn",
22
  "rope_theta": 1000000.0,
23
  "factor": 32.0,
24
  "original_max_position_embeddings": 32768,