d0rj commited on
Commit
ef01ffb
·
verified ·
1 Parent(s): 127e504

Upload folder using huggingface_hub

Browse files
README.md ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ license: gemma
5
+ library_name: vllm
6
+ base_model: google/t5gemma-2-1b-1b
7
+ datasets:
8
+ - HuggingFaceH4/ultrachat_200k
9
+ - Aeala/ShareGPT_Vicuna_unfiltered
10
+ - ise-uiuc/Magicoder-Evol-Instruct-110K
11
+ - Salesforce/xlam-function-calling-60k
12
+ - glaiveai/glaive-function-calling-v2
13
+ - TIGER-Lab/MathInstruct
14
+ tags:
15
+ - speculative-decoding
16
+ - speculators
17
+ - vllm
18
+ - t5gemma2
19
+ - dflash
20
+ ---
21
+
22
+ # T5Gemma 2 1B-1B DFlash Large
23
+
24
+ This repository contains a five-layer DFlash draft model that predicts a seven-token speculative block from selected verifier decoder states, trained for the frozen [google/t5gemma-2-1b-1b](https://huggingface.co/google/t5gemma-2-1b-1b) verifier.
25
+
26
+ The checkpoint is a **speculative draft model**, not a standalone language model. It must be paired with the base verifier. This repository includes inference weights, complete optimizer and scheduler states, validation metrics, the exact training command, continuation state, TensorBoard events, and raw benchmark summaries.
27
+
28
+ "Large" distinguishes this 200,000-example mixed-data run from the earlier development checkpoint.
29
+
30
+ ## Model details
31
+
32
+ | Item | Value |
33
+ |---|---|
34
+ | Draft architecture | `DFlashDraftModel` |
35
+ | Verifier | `google/t5gemma-2-1b-1b` |
36
+ | Draft transformer layers | 5 |
37
+ | Draft hidden / intermediate size | 1,152 / 6,912 |
38
+ | Draft vocabulary | 32,000 tokens mapped from the verifier vocabulary |
39
+ | Speculative block | 8 positions: one anchor and up to 7 proposed tokens |
40
+ | Default proposals per step | 7 |
41
+ | Runtime override | 1-7 proposed tokens |
42
+ | Verifier decoder states | 2, 7, 13, 18, 21 |
43
+ | Precision | BF16 |
44
+ | Selected checkpoint | Epoch 5 (sixth/final epoch), global step 146,486 |
45
+
46
+ ## Usage with vLLM
47
+
48
+ Install a compatible vLLM build and the [T5Gemma 2 vLLM plugin](https://github.com/d0rj/t5gemma2-vllm-plugin):
49
+
50
+ ```bash
51
+ pip install "git+https://github.com/d0rj/t5gemma2-vllm-plugin.git"
52
+ ```
53
+
54
+ The plugin is discovered through vLLM entry points. No `VLLM_PLUGINS` environment variable is required.
55
+
56
+ ### Serve with the checkpoint default (K=7)
57
+
58
+ ```bash
59
+ vllm serve d0rj/t5gemma-2-1b-1b.dflash-large \
60
+ --host 127.0.0.1 \
61
+ --port 8000 \
62
+ --served-model-name t5gemma-2-1b-1b-dflash \
63
+ --trust-remote-code \
64
+ --no-enable-chunked-prefill \
65
+ --max-model-len 2048 \
66
+ --max-num-seqs 1
67
+ ```
68
+
69
+ The plugin reads the verifier reference from `config.json` and loads `google/t5gemma-2-1b-1b` automatically.
70
+
71
+ ### Limit the number of draft tokens
72
+
73
+ To override K, serve the verifier explicitly and reference this Hub repository. The adapter uses `method: "dflash"` for all DFlash-family schedulers, then dispatches to the concrete architecture recorded in the draft checkpoint.
74
+
75
+ ```bash
76
+ vllm serve google/t5gemma-2-1b-1b \
77
+ --host 127.0.0.1 \
78
+ --port 8000 \
79
+ --served-model-name t5gemma-2-1b-1b-dflash-k3 \
80
+ --trust-remote-code \
81
+ --no-enable-chunked-prefill \
82
+ --max-model-len 2048 \
83
+ --max-num-seqs 1 \
84
+ --speculative-config '{"model":"d0rj/t5gemma-2-1b-1b.dflash-large","method":"dflash","num_speculative_tokens":3}'
85
+ ```
86
+
87
+ Set `num_speculative_tokens` to an integer from 1 through 7. K=3 and K=7 were benchmarked below. CUDA Graph remains enabled when `--enforce-eager` is omitted.
88
+
89
+ ```bash
90
+ curl http://127.0.0.1:8000/v1/completions \
91
+ -H 'Content-Type: application/json' \
92
+ -d '{
93
+ "model": "t5gemma-2-1b-1b-dflash",
94
+ "prompt": "Solve step by step.\n\nQuestion: A train travels 60 miles in 2 hours. What is its average speed?\nAnswer:",
95
+ "max_tokens": 128,
96
+ "temperature": 0
97
+ }'
98
+ ```
99
+
100
+ This draft is not intended to be loaded independently with Transformers `AutoModelForSeq2SeqLM`. The verifier supplies encoder execution, verification, embeddings, and target hidden states.
101
+
102
+ ## Training
103
+
104
+ Training used online hidden-state extraction. The frozen verifier and trainable draft shared one RTX 5070 Ti 16 GB GPU under WSL2; hidden states were generated in process rather than stored for the full dataset.
105
+
106
+ ### Data mixture
107
+
108
+ The mixture contained exactly 200,000 examples and was deterministically shuffled with seed 42.
109
+
110
+ | Dataset | Examples | Share | Coverage |
111
+ |---|---:|---:|---|
112
+ | [UltraChat 200k](https://huggingface.co/datasets/HuggingFaceH4/ultrachat_200k) | 60,000 | 30% | General instruction following and dialogue |
113
+ | [ShareGPT Vicuna unfiltered](https://huggingface.co/datasets/Aeala/ShareGPT_Vicuna_unfiltered) | 20,000 | 10% | Multi-turn conversation |
114
+ | [Magicoder Evol Instruct](https://huggingface.co/datasets/ise-uiuc/Magicoder-Evol-Instruct-110K) | 50,000 | 25% | Code and software tasks |
115
+ | [xLAM function calling](https://huggingface.co/datasets/Salesforce/xlam-function-calling-60k) | 40,000 | 20% | Tool and function calling |
116
+ | [Glaive function calling v2](https://huggingface.co/datasets/glaiveai/glaive-function-calling-v2) | 20,000 | 10% | Tool use and function calling |
117
+ | [MathInstruct](https://huggingface.co/datasets/TIGER-Lab/MathInstruct) | 10,000 | 5% | Mathematics and reasoning |
118
+
119
+ The prepared data used a 90%/10% train/validation split. Encoder inputs were truncated to 2,048 tokens and decoder targets to 1,024 tokens. Exact retained counts and converters are in [training/data_config.json](training/data_config.json).
120
+
121
+ ### Hyperparameters
122
+
123
+ | Parameter | Value |
124
+ |---|---|
125
+ | Epochs | 6 |
126
+ | Optimizer | AdamW |
127
+ | Learning rate | 6e-4 |
128
+ | Weight decay | 0.01 |
129
+ | Scheduler | Linear; automatic 1% warmup |
130
+ | Packed token budget | 2,048 |
131
+ | Online extraction microbatch | 32 |
132
+ | Maximum anchors | 256 |
133
+ | Block size | 8 |
134
+ | Hidden-state dtype | BF16 |
135
+ | Noise standard deviation | 0.05 |
136
+ | Loss | KL divergence |
137
+ | Verifier | Frozen |
138
+ | Dataloader workers | 0 |
139
+ | Seed | 42 |
140
+ | Training revision | `a58573acefd975901bae8e83b6e8b5e6ace717ef` |
141
+ | Software | Speculators 0.7.0.dev72; Transformers 5.12.1; PyTorch 2.12.0 |
142
+
143
+
144
+ The launcher is [training/train.sh](training/train.sh). [train_command.txt](train_command.txt) records the resolved command and software versions.
145
+
146
+ ### TensorBoard
147
+
148
+ The requested cumulative comparison logs are included: `dflash_t5gemma2_mixture_200k`.
149
+
150
+ ```bash
151
+ tensorboard --logdir tensorboard --port 6006
152
+ ```
153
+
154
+ ## Validation metrics
155
+
156
+ These are teacher-forced metrics from the selected epoch-5 checkpoint. Position accuracy is not equivalent to runtime acceptance because later runtime positions depend on all earlier draft tokens being accepted.
157
+
158
+ | Metric | Value |
159
+ |---|---:|
160
+ | Validation loss | 1.2283 |
161
+ | Full-block token accuracy | 34.51% |
162
+ | Position 1 accuracy | 67.90% |
163
+ | Position 2 accuracy | 49.17% |
164
+ | Position 3 accuracy | 36.79% |
165
+ | Position 4 accuracy | 28.76% |
166
+ | Position 5 accuracy | 23.30% |
167
+ | Position 6 accuracy | 19.33% |
168
+ | Position 7 accuracy | 16.21% |
169
+
170
+ Unrounded values are available in [val_metrics.json](val_metrics.json).
171
+
172
+ ## vLLM performance
173
+
174
+ The raw verifier and all drafts used identical saved prompt snapshots on one RTX 5070 Ti 16 GB under WSL2. The vLLM development build was based on commit `e4b3da3feb20c1854a4b23e431cfb787ee268f72`.
175
+
176
+ Common settings: greedy decoding, seed 0, maximum model length 2,048, maximum output 128, `--max-num-batched-tokens 4096`, GPU memory utilization 0.85, chunked prefill disabled, CUDA Graph enabled, and 8 excluded warm-up requests. BS1 used concurrency/max-num-seqs 1; BS4 used 4. Dataset sizes: MATH-500 500, GSM8K 1,319, HumanEval 164, MBPP 500, MT-Bench 160 independent turns, and UltraChat `test_sft` 5,000.
177
+
178
+ `Base tok/s` is raw verifier throughput; `Draft tok/s` is end-to-end verified throughput. Speedup is their ratio. Latency, TTFT, and ITL are mean/p95 milliseconds. Acceptance rate is accepted tokens divided by all proposed draft tokens. Acceptance length is `1 + accepted_tokens / draft_steps`. Values below 1.0x are genuine slowdowns for this setup.
179
+
180
+ ### Batch size 1
181
+
182
+ | Dataset | K | Base tok/s | Draft tok/s | Speedup | Latency mean/p95 ms | TTFT mean/p95 ms | ITL mean/p95 ms | Accept rate | Accept p1/p2/p3 | Accept len |
183
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
184
+ | math500 | 3 | 113.45 | 64.68 | 0.570x | 1970.50/2394.33 | 176.98/348.85 | 14.18/17.33 | 6.32% | 16.82%/1.89%/0.26% | 1.190 |
185
+ | math500 | 7 | 113.45 | 74.16 | 0.654x | 1716.92/2122.72 | 138.95/232.84 | 12.49/15.42 | 2.73% | 16.89%/1.92%/0.26% | 1.191 |
186
+ | gsm8k | 3 | 115.56 | 65.68 | 0.568x | 1943.86/2365.31 | 178.53/355.62 | 13.93/16.93 | 6.84% | 18.35%/1.95%/0.21% | 1.205 |
187
+ | gsm8k | 7 | 115.56 | 73.26 | 0.634x | 1743.27/2099.80 | 152.56/246.42 | 12.55/15.04 | 2.75% | 17.19%/1.83%/0.20% | 1.192 |
188
+ | humaneval | 3 | 93.66 | 58.98 | 0.630x | 1178.81/2207.20 | 162.99/323.05 | 15.05/20.25 | 5.99% | 16.43%/1.45%/0.10% | 1.180 |
189
+ | humaneval | 7 | 93.66 | 64.81 | 0.692x | 1022.86/2083.64 | 157.66/238.51 | 13.24/16.24 | 2.71% | 17.46%/1.41%/0.08% | 1.189 |
190
+ | mbpp | 3 | 117.61 | 67.35 | 0.573x | 1830.21/2291.14 | 181.88/374.19 | 13.37/16.29 | 6.52% | 18.39%/1.10%/0.06% | 1.196 |
191
+ | mbpp | 7 | 117.61 | 74.82 | 0.636x | 1635.87/2016.28 | 152.67/244.47 | 12.10/14.41 | 2.84% | 18.66%/1.14%/0.06% | 1.199 |
192
+ | mt_bench | 3 | 116.89 | 65.85 | 0.563x | 1907.75/2463.49 | 175.25/376.67 | 13.83/17.45 | 6.04% | 16.21%/1.76%/0.15% | 1.181 |
193
+ | mt_bench | 7 | 116.89 | 73.27 | 0.627x | 1714.64/2135.27 | 139.66/237.62 | 12.69/15.55 | 2.35% | 14.88%/1.46%/0.09% | 1.164 |
194
+ | ultrachat | 3 | 62.83 | 52.06 | 0.829x | 2442.49/3377.26 | 168.36/252.91 | 18.01/24.71 | 7.08% | 18.36%/2.59%/0.30% | 1.212 |
195
+ | ultrachat | 7 | 62.83 | 51.13 | 0.814x | 2487.86/3443.12 | 172.78/258.77 | 18.33/25.19 | 3.06% | 18.49%/2.58%/0.32% | 1.215 |
196
+
197
+ ### Batch size 4
198
+
199
+ | Dataset | K | Base tok/s | Draft tok/s | Speedup | Latency mean/p95 ms | TTFT mean/p95 ms | ITL mean/p95 ms | Accept rate | Accept p1/p2/p3 | Accept len |
200
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
201
+ | math500 | 3 | 266.74 | 185.18 | 0.694x | 2740.52/3396.06 | 232.73/422.78 | 19.89/24.71 | 6.29% | 16.64%/1.97%/0.24% | 1.189 |
202
+ | math500 | 7 | 266.74 | 188.44 | 0.706x | 2690.23/3411.27 | 223.15/410.68 | 19.61/24.83 | 2.74% | 16.86%/2.02%/0.26% | 1.192 |
203
+ | gsm8k | 3 | 280.58 | 188.79 | 0.673x | 2702.38/3317.10 | 235.61/424.62 | 19.48/24.18 | 6.81% | 18.37%/1.86%/0.20% | 1.204 |
204
+ | gsm8k | 7 | 280.58 | 188.46 | 0.672x | 2705.30/3477.26 | 301.18/834.45 | 18.98/23.59 | 2.74% | 17.14%/1.81%/0.20% | 1.192 |
205
+ | humaneval | 3 | 194.21 | 147.26 | 0.758x | 1856.84/3610.00 | 250.89/497.85 | 24.55/42.01 | 5.95% | 16.41%/1.35%/0.08% | 1.179 |
206
+ | humaneval | 7 | 194.21 | 141.91 | 0.731x | 1877.28/3978.09 | 343.90/982.06 | 22.96/33.21 | 2.68% | 17.40%/1.31%/0.09% | 1.188 |
207
+ | mbpp | 3 | 275.24 | 189.94 | 0.690x | 2595.66/3320.97 | 234.11/439.53 | 19.14/23.96 | 6.46% | 18.25%/1.11%/0.04% | 1.194 |
208
+ | mbpp | 7 | 275.24 | 170.29 | 0.619x | 2875.58/4074.32 | 634.04/1885.92 | 18.20/24.69 | 2.85% | 18.78%/1.13%/0.05% | 1.200 |
209
+ | mt_bench | 3 | 309.23 | 195.62 | 0.633x | 2573.23/3166.33 | 221.35/448.16 | 18.68/23.10 | 6.07% | 16.45%/1.71%/0.06% | 1.182 |
210
+ | mt_bench | 7 | 309.23 | 180.37 | 0.583x | 2753.90/3791.87 | 381.83/1026.59 | 21.71/25.58 | 2.48% | 15.47%/1.60%/0.12% | 1.173 |
211
+ | ultrachat | 3 | 155.46 | 135.15 | 0.869x | 3763.95/4515.90 | 257.60/405.56 | 27.76/33.28 | 7.09% | 18.40%/2.57%/0.30% | 1.213 |
212
+ | ultrachat | 7 | 155.46 | 134.03 | 0.862x | 3794.92/4543.27 | 255.94/399.63 | 28.03/33.56 | 3.07% | 18.54%/2.58%/0.31% | 1.215 |
213
+
214
+ Full results, all quantiles, request counts, prompt hashes, baseline rows, and complete suite comparisons are included in [benchmarks/bs1](benchmarks/bs1) and [benchmarks/bs4](benchmarks/bs4).
215
+
216
+ ## Repository contents
217
+
218
+ - `model.safetensors`: selected draft weights.
219
+ - `config.json`, `config.py`: architecture and verifier linkage.
220
+ - `optimizer_state_dict.pt`: complete AdamW state.
221
+ - `scheduler_state_dict.pt`: scheduler state.
222
+ - `training_state.json`: epoch/global-step continuation metadata.
223
+ - `train_command.txt`: exact training command and package versions.
224
+ - `val_metrics.json`: selected-checkpoint validation metrics.
225
+ - `training/`: data metadata and launcher.
226
+ - `tensorboard/`: cumulative TensorBoard events.
227
+ - `benchmarks/`: raw bs1 and bs4 reports.
228
+
229
+ For optimizer-level continuation, restore the root checkpoint files as an epoch directory in a compatible Speculators checkpoint tree and point `checkpoint_best` to it.
230
+
231
+ ## Limitations
232
+
233
+ - Performance depends on hardware, workload, batch size, and vLLM version; universal acceleration is not claimed.
234
+ - The plugin path was validated for single-GPU text serving. Tensor/pipeline parallelism, quantized serving, and the vision path require separate validation.
235
+ - Teacher-forced validation accuracy does not guarantee equal runtime acceptance.
236
+ - K=3 reduces draft work but changes block length relative to eight-position training; K=7 matches the trained block shape.
237
+ - Generated outputs retain the behavior and limitations of the verifier and training data.
238
+
239
+ ## License and attribution
240
+
241
+ This checkpoint is derived from T5Gemma 2 and is distributed under the Gemma license. Using the verifier requires accepting Google's Gemma terms. Each dataset retains its own license and conditions.
242
+
243
+ Training used the [vLLM Speculators project](https://github.com/vllm-project/speculators) with T5Gemma 2, DFlare, DSpark, online-extraction, and logging extensions from the accompanying development branch.
benchmarks/bs1/comparison.md ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ | Dataset | Run | Req | Output tok/s | Speedup | Latency mean/p95 ms | TTFT mean/p95 ms | ITL mean/p95 ms | TPOT mean/p95 ms | Accept rate | Accept p1/p2/p3 | Accept len |
2
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
3
+ | math500 | baseline | 500 | 113.45 | 1.000x | 1121.85/1314.59 | 169.94/335.47 | 7.54/8.68 | 7.54/8.69 | — | -/-/- | — |
4
+ | math500 | dflash_k3 | 500 | 64.68 | 0.570x | 1970.50/2394.33 | 176.98/348.85 | 14.18/17.33 | 14.18/17.33 | 6.32% | 16.82%/1.89%/0.26% | 1.190 |
5
+ | math500 | dflash_k7 | 500 | 74.16 | 0.654x | 1716.92/2122.72 | 138.95/232.84 | 12.49/15.42 | 12.49/15.42 | 2.73% | 16.89%/1.92%/0.26% | 1.191 |
6
+ | math500 | dflare_k3 | 500 | 93.74 | 0.826x | 1359.56/1919.75 | 150.99/254.30 | 9.56/13.64 | 9.56/13.64 | 39.18% | 64.52%/35.08%/17.94% | 2.175 |
7
+ | math500 | dflare_k7 | 500 | 97.45 | 0.859x | 1306.61/1831.94 | 149.97/241.51 | 9.16/13.16 | 9.17/13.16 | 18.55% | 64.82%/35.30%/17.18% | 2.298 |
8
+ | math500 | dspark_k3 | 500 | 131.01 | 1.155x | 972.82/1383.58 | 139.16/243.83 | 6.59/9.67 | 6.59/9.67 | 44.80% | 65.41%/42.19%/26.82% | 2.344 |
9
+ | math500 | dspark_k7 | 500 | 136.48 | 1.203x | 932.87/1415.98 | 142.46/239.27 | 6.26/10.08 | 6.26/10.08 | 22.84% | 64.00%/39.61%/24.04% | 2.599 |
10
+ | gsm8k | baseline | 1319 | 115.56 | 1.000x | 1105.36/1276.34 | 164.78/332.90 | 7.42/7.93 | 7.42/7.93 | — | -/-/- | — |
11
+ | gsm8k | dflash_k3 | 1319 | 65.68 | 0.568x | 1943.86/2365.31 | 178.53/355.62 | 13.93/16.93 | 13.93/16.93 | 6.84% | 18.35%/1.95%/0.21% | 1.205 |
12
+ | gsm8k | dflash_k7 | 1319 | 73.26 | 0.634x | 1743.27/2099.80 | 152.56/246.42 | 12.55/15.04 | 12.55/15.04 | 2.75% | 17.19%/1.83%/0.20% | 1.192 |
13
+ | gsm8k | dflare_k3 | 1319 | 80.95 | 0.701x | 1577.24/2166.57 | 150.18/254.45 | 11.26/15.61 | 11.26/15.61 | 27.89% | 53.39%/21.58%/8.69% | 1.837 |
14
+ | gsm8k | dflare_k7 | 1319 | 81.92 | 0.709x | 1558.94/2191.44 | 152.78/255.01 | 11.09/15.86 | 11.09/15.86 | 12.80% | 54.17%/21.95%/9.32% | 1.896 |
15
+ | gsm8k | dspark_k3 | 1319 | 111.95 | 0.969x | 1140.44/1627.45 | 137.90/232.76 | 7.91/11.64 | 7.91/11.64 | 31.19% | 53.50%/25.78%/14.30% | 1.936 |
16
+ | gsm8k | dspark_k7 | 1319 | 111.09 | 0.961x | 1149.49/1690.77 | 142.42/238.71 | 7.94/11.94 | 7.94/11.94 | 14.63% | 53.36%/25.01%/13.27% | 2.024 |
17
+ | humaneval | baseline | 164 | 93.66 | 1.000x | 754.68/1367.14 | 189.28/342.50 | 8.11/9.87 | 8.11/9.87 | — | -/-/- | — |
18
+ | humaneval | dflash_k3 | 164 | 58.98 | 0.630x | 1178.81/2207.20 | 162.99/323.05 | 15.05/20.25 | 15.06/20.27 | 5.99% | 16.43%/1.45%/0.10% | 1.180 |
19
+ | humaneval | dflash_k7 | 164 | 64.81 | 0.692x | 1022.86/2083.64 | 157.66/238.51 | 13.24/16.24 | 13.24/16.24 | 2.71% | 17.46%/1.41%/0.08% | 1.189 |
20
+ | humaneval | dflare_k3 | 164 | 99.28 | 1.060x | 700.23/1298.74 | 163.54/255.47 | 8.18/11.82 | 8.19/11.83 | 58.63% | 77.59%/56.43%/41.86% | 2.759 |
21
+ | humaneval | dflare_k7 | 164 | 114.43 | 1.222x | 579.29/1124.12 | 153.89/249.90 | 7.29/11.29 | 7.29/11.30 | 32.60% | 76.90%/55.26%/40.09% | 3.282 |
22
+ | humaneval | dspark_k3 | 164 | 130.99 | 1.399x | 530.74/905.70 | 146.04/236.92 | 6.10/8.98 | 6.11/8.99 | 60.43% | 77.12%/58.94%/45.24% | 2.813 |
23
+ | humaneval | dspark_k7 | 164 | 145.41 | 1.553x | 455.86/852.21 | 143.63/241.35 | 5.51/9.66 | 5.51/9.66 | 34.97% | 73.45%/55.20%/39.37% | 3.448 |
24
+ | mbpp | baseline | 500 | 117.61 | 1.000x | 1045.16/1252.24 | 170.20/343.01 | 7.19/7.64 | 7.19/7.64 | — | -/-/- | — |
25
+ | mbpp | dflash_k3 | 500 | 67.35 | 0.573x | 1830.21/2291.14 | 181.88/374.19 | 13.37/16.29 | 13.37/16.29 | 6.52% | 18.39%/1.10%/0.06% | 1.196 |
26
+ | mbpp | dflash_k7 | 500 | 74.82 | 0.636x | 1635.87/2016.28 | 152.67/244.47 | 12.10/14.41 | 12.10/14.41 | 2.84% | 18.66%/1.14%/0.06% | 1.199 |
27
+ | mbpp | dflare_k3 | 500 | 103.43 | 0.879x | 1191.91/1663.97 | 151.14/261.67 | 8.62/12.05 | 8.62/12.05 | 46.96% | 68.67%/44.38%/27.84% | 2.409 |
28
+ | mbpp | dflare_k7 | 500 | 115.48 | 0.982x | 1059.83/1511.53 | 149.30/254.47 | 7.82/11.13 | 7.83/11.13 | 24.50% | 67.47%/42.50%/25.01% | 2.715 |
29
+ | mbpp | dspark_k3 | 500 | 146.73 | 1.248x | 840.11/1144.96 | 133.81/238.02 | 5.95/8.07 | 5.95/8.07 | 52.37% | 71.03%/51.06%/35.03% | 2.571 |
30
+ | mbpp | dspark_k7 | 500 | 158.24 | 1.346x | 773.38/1069.82 | 144.88/240.50 | 5.46/7.70 | 5.46/7.70 | 28.85% | 68.24%/46.95%/30.63% | 3.020 |
31
+ | mt_bench | baseline | 160 | 116.89 | 1.000x | 1074.68/1319.75 | 160.69/327.47 | 7.31/8.34 | 7.31/8.34 | — | -/-/- | — |
32
+ | mt_bench | dflash_k3 | 160 | 65.85 | 0.563x | 1907.75/2463.49 | 175.25/376.67 | 13.83/17.45 | 13.84/17.45 | 6.04% | 16.21%/1.76%/0.15% | 1.181 |
33
+ | mt_bench | dflash_k7 | 160 | 73.27 | 0.627x | 1714.64/2135.27 | 139.66/237.62 | 12.69/15.55 | 12.69/15.55 | 2.35% | 14.88%/1.46%/0.09% | 1.164 |
34
+ | mt_bench | dflare_k3 | 160 | 85.55 | 0.732x | 1468.51/2127.07 | 159.73/265.74 | 10.65/15.71 | 10.66/15.71 | 32.31% | 57.74%/27.25%/11.94% | 1.969 |
35
+ | mt_bench | dflare_k7 | 160 | 89.12 | 0.762x | 1409.59/2124.10 | 146.91/259.67 | 10.23/15.34 | 10.24/15.34 | 14.63% | 57.43%/27.01%/11.06% | 2.024 |
36
+ | mt_bench | dspark_k3 | 160 | 121.09 | 1.036x | 1037.41/1565.51 | 141.77/240.41 | 7.31/11.71 | 7.32/11.71 | 37.06% | 59.00%/32.88%/19.30% | 2.112 |
37
+ | mt_bench | dspark_k7 | 160 | 122.24 | 1.046x | 1027.68/1596.33 | 141.25/255.56 | 7.28/11.79 | 7.29/11.79 | 17.42% | 56.41%/30.24%/17.08% | 2.220 |
38
+ | ultrachat | baseline | 5000 | 62.83 | 1.000x | 2024.82/3256.73 | 166.96/289.88 | 14.71/23.86 | 14.71/23.87 | — | -/-/- | — |
39
+ | ultrachat | dflash_k3 | 5000 | 52.06 | 0.829x | 2442.49/3377.26 | 168.36/252.91 | 18.01/24.71 | 18.01/24.71 | 7.08% | 18.36%/2.59%/0.30% | 1.212 |
40
+ | ultrachat | dflash_k7 | 5000 | 51.13 | 0.814x | 2487.86/3443.12 | 172.78/258.77 | 18.33/25.19 | 18.33/25.19 | 3.06% | 18.49%/2.58%/0.32% | 1.215 |
41
+ | ultrachat | dflare_k3 | 5000 | 62.40 | 0.993x | 2037.94/2756.50 | 185.96/279.43 | 14.67/19.80 | 14.67/19.80 | 31.13% | 57.22%/26.06%/10.11% | 1.934 |
42
+ | ultrachat | dflare_k7 | 5000 | 66.03 | 1.051x | 1925.98/2635.48 | 180.71/272.82 | 13.82/18.90 | 13.82/18.90 | 14.39% | 57.70%/26.66%/10.39% | 2.008 |
43
+ | ultrachat | dspark_k3 | 5000 | 78.10 | 1.243x | 1628.21/2287.42 | 171.98/258.65 | 11.54/16.24 | 11.54/16.25 | 32.41% | 55.57%/28.18%/13.47% | 1.972 |
44
+ | ultrachat | dspark_k7 | 5000 | 78.70 | 1.253x | 1616.26/2290.96 | 176.72/263.78 | 11.40/16.28 | 11.40/16.28 | 15.45% | 55.33%/28.03%/13.31% | 2.081 |
benchmarks/bs1/results.json ADDED
@@ -0,0 +1,1304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "dataset": "math500",
4
+ "run": "baseline",
5
+ "method": "baseline",
6
+ "num_speculative_tokens": null,
7
+ "requests": 500,
8
+ "output_tokens": 63642,
9
+ "request_throughput_rps": 0.8912881111809688,
10
+ "output_throughput_tps": 113.44671594355843,
11
+ "speedup_vs_baseline": 1.0,
12
+ "latency_mean_ms": 1121.8503840199992,
13
+ "latency_p50_ms": 1100.7910255029856,
14
+ "latency_p95_ms": 1314.5946230510162,
15
+ "latency_p99_ms": 1484.1045933025453,
16
+ "ttft_mean_ms": 169.94078358601837,
17
+ "ttft_p50_ms": 146.2457435009128,
18
+ "ttft_p95_ms": 335.47060909950216,
19
+ "ttft_p99_ms": 373.49712165247183,
20
+ "itl_mean_ms": 7.536181297069743,
21
+ "itl_p50_ms": 7.382753629891218,
22
+ "itl_p95_ms": 8.68439770515185,
23
+ "itl_p99_ms": 10.087323529295983,
24
+ "tpot_mean_ms": 7.537555813759378,
25
+ "tpot_p50_ms": 7.383992137781786,
26
+ "tpot_p95_ms": 8.685839803156412,
27
+ "acceptance_rate": null,
28
+ "acceptance_pos_1": null,
29
+ "acceptance_pos_2": null,
30
+ "acceptance_pos_3": null,
31
+ "mean_acceptance_length": null
32
+ },
33
+ {
34
+ "dataset": "math500",
35
+ "run": "dflash_k3",
36
+ "method": "dflash",
37
+ "num_speculative_tokens": 3,
38
+ "requests": 500,
39
+ "output_tokens": 63731,
40
+ "request_throughput_rps": 0.5074555001107937,
41
+ "output_throughput_tps": 64.68129295512199,
42
+ "speedup_vs_baseline": 0.5701468959868523,
43
+ "latency_mean_ms": 1970.4961424658832,
44
+ "latency_p50_ms": 1974.9981015011144,
45
+ "latency_p95_ms": 2394.326527546944,
46
+ "latency_p99_ms": 2618.456352452631,
47
+ "ttft_mean_ms": 176.97923488401284,
48
+ "ttft_p50_ms": 151.66605199920014,
49
+ "ttft_p95_ms": 348.84992924853566,
50
+ "ttft_p99_ms": 401.735668064066,
51
+ "itl_mean_ms": 14.179071923655801,
52
+ "itl_p50_ms": 14.188702799193972,
53
+ "itl_p95_ms": 17.33207021927915,
54
+ "itl_p99_ms": 18.87767345473462,
55
+ "tpot_mean_ms": 14.180381967095736,
56
+ "tpot_p50_ms": 14.189951897641887,
57
+ "tpot_p95_ms": 17.33332515668878,
58
+ "acceptance_rate": 0.06323912607737021,
59
+ "acceptance_pos_1": 0.16818250150330727,
60
+ "acceptance_pos_2": 0.01894167167769092,
61
+ "acceptance_pos_3": 0.0025932050511124475,
62
+ "mean_acceptance_length": 1.1897173782321107
63
+ },
64
+ {
65
+ "dataset": "math500",
66
+ "run": "dflash_k7",
67
+ "method": "dflash",
68
+ "num_speculative_tokens": 7,
69
+ "requests": 500,
70
+ "output_tokens": 63668,
71
+ "request_throughput_rps": 0.5823973894271881,
72
+ "output_throughput_tps": 74.16015398010043,
73
+ "speedup_vs_baseline": 0.6537003152827826,
74
+ "latency_mean_ms": 1716.9249164580651,
75
+ "latency_p50_ms": 1721.4581165007985,
76
+ "latency_p95_ms": 2122.7248207490447,
77
+ "latency_p99_ms": 2282.573311009855,
78
+ "ttft_mean_ms": 138.95278630002576,
79
+ "ttft_p50_ms": 141.47450450036558,
80
+ "ttft_p95_ms": 232.83745254921087,
81
+ "ttft_p99_ms": 255.96303990992965,
82
+ "itl_mean_ms": 12.488242557152846,
83
+ "itl_p50_ms": 12.48854895669593,
84
+ "itl_p95_ms": 15.423414866535039,
85
+ "itl_p99_ms": 16.76060266095041,
86
+ "tpot_mean_ms": 12.489462153205425,
87
+ "tpot_p50_ms": 12.489741562990455,
88
+ "tpot_p95_ms": 15.424737617707956,
89
+ "acceptance_rate": 0.027334900964792862,
90
+ "acceptance_pos_1": 0.16893291649402992,
91
+ "acceptance_pos_2": 0.019209763079588684,
92
+ "acceptance_pos_3": 0.002561301743945158,
93
+ "mean_acceptance_length": 1.19134430675355
94
+ },
95
+ {
96
+ "dataset": "math500",
97
+ "run": "dflare_k3",
98
+ "method": "dflare",
99
+ "num_speculative_tokens": 3,
100
+ "requests": 500,
101
+ "output_tokens": 63731,
102
+ "request_throughput_rps": 0.7354717914893614,
103
+ "output_throughput_tps": 93.74470548681697,
104
+ "speedup_vs_baseline": 0.8263324742997098,
105
+ "latency_mean_ms": 1359.560892554051,
106
+ "latency_p50_ms": 1336.2468844989053,
107
+ "latency_p95_ms": 1919.7459352993976,
108
+ "latency_p99_ms": 2183.3393649194472,
109
+ "ttft_mean_ms": 150.9933998281267,
110
+ "ttft_p50_ms": 150.4645309996704,
111
+ "ttft_p95_ms": 254.30402324909662,
112
+ "ttft_p99_ms": 281.55977436035755,
113
+ "itl_mean_ms": 9.55804924402514,
114
+ "itl_p50_ms": 9.37427223622698,
115
+ "itl_p95_ms": 13.641124985851773,
116
+ "itl_p99_ms": 15.580885431589866,
117
+ "tpot_mean_ms": 9.559225141953267,
118
+ "tpot_p50_ms": 9.37540769291087,
119
+ "tpot_p95_ms": 13.642259077954161,
120
+ "acceptance_rate": 0.39181146804128403,
121
+ "acceptance_pos_1": 0.6452053391595262,
122
+ "acceptance_pos_2": 0.35083467039907146,
123
+ "acceptance_pos_3": 0.1793943945652545,
124
+ "mean_acceptance_length": 2.175434404123852
125
+ },
126
+ {
127
+ "dataset": "math500",
128
+ "run": "dflare_k7",
129
+ "method": "dflare",
130
+ "num_speculative_tokens": 7,
131
+ "requests": 500,
132
+ "output_tokens": 63668,
133
+ "request_throughput_rps": 0.7652758346384362,
134
+ "output_throughput_tps": 97.4471636795199,
135
+ "speedup_vs_baseline": 0.8589685727703342,
136
+ "latency_mean_ms": 1306.6064661140117,
137
+ "latency_p50_ms": 1288.1172004999826,
138
+ "latency_p95_ms": 1831.9392699944729,
139
+ "latency_p99_ms": 2117.9882052937314,
140
+ "ttft_mean_ms": 149.97463030007202,
141
+ "ttft_p50_ms": 150.71226700456464,
142
+ "ttft_p95_ms": 241.5094937001413,
143
+ "ttft_p99_ms": 269.5821494147821,
144
+ "itl_mean_ms": 9.164062260873436,
145
+ "itl_p50_ms": 9.109615248048863,
146
+ "itl_p95_ms": 13.162089144880586,
147
+ "itl_p99_ms": 16.025888632277603,
148
+ "tpot_mean_ms": 9.165267968224493,
149
+ "tpot_p50_ms": 9.110725452762747,
150
+ "tpot_p95_ms": 13.163240382294413,
151
+ "acceptance_rate": 0.18547955359716675,
152
+ "acceptance_pos_1": 0.6482415681752667,
153
+ "acceptance_pos_2": 0.3530196021908331,
154
+ "acceptance_pos_3": 0.17180743730181608,
155
+ "mean_acceptance_length": 2.2983568751801675
156
+ },
157
+ {
158
+ "dataset": "math500",
159
+ "run": "dspark_k3",
160
+ "method": "dspark",
161
+ "num_speculative_tokens": 3,
162
+ "requests": 500,
163
+ "output_tokens": 63731,
164
+ "request_throughput_rps": 1.0278341396966633,
165
+ "output_throughput_tps": 131.0097951140161,
166
+ "speedup_vs_baseline": 1.1548134648445494,
167
+ "latency_mean_ms": 972.8192880541756,
168
+ "latency_p50_ms": 951.3454184962029,
169
+ "latency_p95_ms": 1383.5792890022267,
170
+ "latency_p99_ms": 1658.223661600423,
171
+ "ttft_mean_ms": 139.16257599797973,
172
+ "ttft_p50_ms": 140.1768340037961,
173
+ "ttft_p95_ms": 243.82559089899584,
174
+ "ttft_p99_ms": 256.6295453281782,
175
+ "itl_mean_ms": 6.592793092238339,
176
+ "itl_p50_ms": 6.475244685019803,
177
+ "itl_p95_ms": 9.666808936191497,
178
+ "itl_p99_ms": 11.624004104496413,
179
+ "tpot_mean_ms": 6.593887856670312,
180
+ "tpot_p50_ms": 6.476409696829716,
181
+ "tpot_p95_ms": 9.667887905099029,
182
+ "acceptance_rate": 0.44804447383243945,
183
+ "acceptance_pos_1": 0.6541032988024392,
184
+ "acceptance_pos_2": 0.4218646682830064,
185
+ "acceptance_pos_3": 0.26816545441187273,
186
+ "mean_acceptance_length": 2.344133421497318
187
+ },
188
+ {
189
+ "dataset": "math500",
190
+ "run": "dspark_k7",
191
+ "method": "dspark",
192
+ "num_speculative_tokens": 7,
193
+ "requests": 500,
194
+ "output_tokens": 63668,
195
+ "request_throughput_rps": 1.0718413712400758,
196
+ "output_throughput_tps": 136.4839928482263,
197
+ "speedup_vs_baseline": 1.2030669351074852,
198
+ "latency_mean_ms": 932.8721254997654,
199
+ "latency_p50_ms": 924.5265510035097,
200
+ "latency_p95_ms": 1415.9799854001901,
201
+ "latency_p99_ms": 1651.539169616298,
202
+ "ttft_mean_ms": 142.46345183774247,
203
+ "ttft_p50_ms": 146.44532399688615,
204
+ "ttft_p95_ms": 239.27307030317024,
205
+ "ttft_p99_ms": 256.7968881978595,
206
+ "itl_mean_ms": 6.260414953927999,
207
+ "itl_p50_ms": 6.1309666968776675,
208
+ "itl_p95_ms": 10.081072708306051,
209
+ "itl_p99_ms": 12.369931453538051,
210
+ "tpot_mean_ms": 6.261500149276782,
211
+ "tpot_p50_ms": 6.13199001179062,
212
+ "tpot_p95_ms": 10.082133980709683,
213
+ "acceptance_rate": 0.2283637249725866,
214
+ "acceptance_pos_1": 0.6400113714819478,
215
+ "acceptance_pos_2": 0.3961336961377574,
216
+ "acceptance_pos_3": 0.24038500588880315,
217
+ "mean_acceptance_length": 2.598546074808106
218
+ },
219
+ {
220
+ "dataset": "gsm8k",
221
+ "run": "baseline",
222
+ "method": "baseline",
223
+ "num_speculative_tokens": null,
224
+ "requests": 1319,
225
+ "output_tokens": 168500,
226
+ "request_throughput_rps": 0.9045831802614913,
227
+ "output_throughput_tps": 115.55895820626328,
228
+ "speedup_vs_baseline": 1.0,
229
+ "latency_mean_ms": 1105.3625852046998,
230
+ "latency_p50_ms": 1089.5358249981655,
231
+ "latency_p95_ms": 1276.3373936999415,
232
+ "latency_p99_ms": 1319.7392648432285,
233
+ "ttft_mean_ms": 164.77733511295938,
234
+ "ttft_p50_ms": 141.7763389981701,
235
+ "ttft_p95_ms": 332.90244539603,
236
+ "ttft_p99_ms": 382.7308631595223,
237
+ "itl_mean_ms": 7.419506798811708,
238
+ "itl_p50_ms": 7.384766740153826,
239
+ "itl_p95_ms": 7.931435276391204,
240
+ "itl_p99_ms": 8.172192777608757,
241
+ "tpot_mean_ms": 7.420847337932145,
242
+ "tpot_p50_ms": 7.386314905524496,
243
+ "tpot_p95_ms": 7.932668355122615,
244
+ "acceptance_rate": null,
245
+ "acceptance_pos_1": null,
246
+ "acceptance_pos_2": null,
247
+ "acceptance_pos_3": null,
248
+ "mean_acceptance_length": null
249
+ },
250
+ {
251
+ "dataset": "gsm8k",
252
+ "run": "dflash_k3",
253
+ "method": "dflash",
254
+ "num_speculative_tokens": 3,
255
+ "requests": 1319,
256
+ "output_tokens": 168418,
257
+ "request_throughput_rps": 0.5144087930838571,
258
+ "output_throughput_tps": 65.6828658935535,
259
+ "speedup_vs_baseline": 0.568392679486734,
260
+ "latency_mean_ms": 1943.8572523131418,
261
+ "latency_p50_ms": 1934.8288309993222,
262
+ "latency_p95_ms": 2365.305382902443,
263
+ "latency_p99_ms": 2508.7120192195284,
264
+ "ttft_mean_ms": 178.53159811208383,
265
+ "ttft_p50_ms": 159.649838002224,
266
+ "ttft_p95_ms": 355.616971301788,
267
+ "ttft_p99_ms": 411.2498142791445,
268
+ "itl_mean_ms": 13.929846219481163,
269
+ "itl_p50_ms": 13.876137322875465,
270
+ "itl_p95_ms": 16.931091559855826,
271
+ "itl_p99_ms": 17.821733611478884,
272
+ "tpot_mean_ms": 13.931159616121034,
273
+ "tpot_p50_ms": 13.87738181893644,
274
+ "tpot_p95_ms": 16.93262100001677,
275
+ "acceptance_rate": 0.06835341539008165,
276
+ "acceptance_pos_1": 0.1835041448500868,
277
+ "acceptance_pos_2": 0.019489077905896417,
278
+ "acceptance_pos_3": 0.0020670234142617415,
279
+ "mean_acceptance_length": 1.2050602461702449
280
+ },
281
+ {
282
+ "dataset": "gsm8k",
283
+ "run": "dflash_k7",
284
+ "method": "dflash",
285
+ "num_speculative_tokens": 7,
286
+ "requests": 1319,
287
+ "output_tokens": 168457,
288
+ "request_throughput_rps": 0.5735945671017055,
289
+ "output_throughput_tps": 73.25702804416376,
290
+ "speedup_vs_baseline": 0.6339363834814603,
291
+ "latency_mean_ms": 1743.2748062024025,
292
+ "latency_p50_ms": 1739.7538450004504,
293
+ "latency_p95_ms": 2099.799393000285,
294
+ "latency_p99_ms": 2201.536506499797,
295
+ "ttft_mean_ms": 152.56252339044147,
296
+ "ttft_p50_ms": 159.50948600038828,
297
+ "ttft_p95_ms": 246.41776080115957,
298
+ "ttft_p99_ms": 261.92414222023217,
299
+ "itl_mean_ms": 12.548829301304638,
300
+ "itl_p50_ms": 12.529087370075011,
301
+ "itl_p95_ms": 15.037010089759487,
302
+ "itl_p99_ms": 15.820388422991211,
303
+ "tpot_mean_ms": 12.550042645359513,
304
+ "tpot_p50_ms": 12.530304661416404,
305
+ "tpot_p95_ms": 15.038574778736802,
306
+ "acceptance_rate": 0.02749077227835654,
307
+ "acceptance_pos_1": 0.1718565178355114,
308
+ "acceptance_pos_2": 0.018334307172683095,
309
+ "acceptance_pos_3": 0.002037936980717981,
310
+ "mean_acceptance_length": 1.1924354059484958
311
+ },
312
+ {
313
+ "dataset": "gsm8k",
314
+ "run": "dflare_k3",
315
+ "method": "dflare",
316
+ "num_speculative_tokens": 3,
317
+ "requests": 1319,
318
+ "output_tokens": 168418,
319
+ "request_throughput_rps": 0.6339721362775607,
320
+ "output_throughput_tps": 80.94944597998045,
321
+ "speedup_vs_baseline": 0.7005034247149607,
322
+ "latency_mean_ms": 1577.243275963595,
323
+ "latency_p50_ms": 1558.0307409982197,
324
+ "latency_p95_ms": 2166.574809700978,
325
+ "latency_p99_ms": 2443.7027309426035,
326
+ "ttft_mean_ms": 150.18097911596254,
327
+ "ttft_p50_ms": 151.24057199864183,
328
+ "ttft_p95_ms": 254.45422550219513,
329
+ "ttft_p99_ms": 278.5744088418869,
330
+ "itl_mean_ms": 11.259462841455447,
331
+ "itl_p50_ms": 11.12902188976914,
332
+ "itl_p95_ms": 15.608968344093311,
333
+ "itl_p99_ms": 17.811628303623607,
334
+ "tpot_mean_ms": 11.260660320716259,
335
+ "tpot_p50_ms": 11.130129110223226,
336
+ "tpot_p95_ms": 15.610202330715275,
337
+ "acceptance_rate": 0.2788578880838151,
338
+ "acceptance_pos_1": 0.5339278493601303,
339
+ "acceptance_pos_2": 0.21577434619629957,
340
+ "acceptance_pos_3": 0.08687146869501547,
341
+ "mean_acceptance_length": 1.8365736642514454
342
+ },
343
+ {
344
+ "dataset": "gsm8k",
345
+ "run": "dflare_k7",
346
+ "method": "dflare",
347
+ "num_speculative_tokens": 7,
348
+ "requests": 1319,
349
+ "output_tokens": 168457,
350
+ "request_throughput_rps": 0.6414136486780062,
351
+ "output_throughput_tps": 81.91858909427664,
352
+ "speedup_vs_baseline": 0.7088899931761125,
353
+ "latency_mean_ms": 1558.9424188529392,
354
+ "latency_p50_ms": 1528.7051639970741,
355
+ "latency_p95_ms": 2191.441884898086,
356
+ "latency_p99_ms": 2472.421863719936,
357
+ "ttft_mean_ms": 152.77644680597203,
358
+ "ttft_p50_ms": 155.94628499820828,
359
+ "ttft_p95_ms": 255.01179830098403,
360
+ "ttft_p99_ms": 283.681260881276,
361
+ "itl_mean_ms": 11.093297977502198,
362
+ "itl_p50_ms": 10.81332909192518,
363
+ "itl_p95_ms": 15.859892152744344,
364
+ "itl_p99_ms": 18.10012607823774,
365
+ "tpot_mean_ms": 11.094531792060318,
366
+ "tpot_p50_ms": 10.814917770089934,
367
+ "tpot_p95_ms": 15.861106548793142,
368
+ "acceptance_rate": 0.12798578221940327,
369
+ "acceptance_pos_1": 0.5417164364111695,
370
+ "acceptance_pos_2": 0.21953528205359357,
371
+ "acceptance_pos_3": 0.0932478420590025,
372
+ "mean_acceptance_length": 1.8959004755358229
373
+ },
374
+ {
375
+ "dataset": "gsm8k",
376
+ "run": "dspark_k3",
377
+ "method": "dspark",
378
+ "num_speculative_tokens": 3,
379
+ "requests": 1319,
380
+ "output_tokens": 168418,
381
+ "request_throughput_rps": 0.8767773042557421,
382
+ "output_throughput_tps": 111.95229721618163,
383
+ "speedup_vs_baseline": 0.9687894296896996,
384
+ "latency_mean_ms": 1140.4352353411668,
385
+ "latency_p50_ms": 1110.0252579999506,
386
+ "latency_p95_ms": 1627.445946199441,
387
+ "latency_p99_ms": 1797.3359449025884,
388
+ "ttft_mean_ms": 137.89601687177677,
389
+ "ttft_p50_ms": 139.47895800083643,
390
+ "ttft_p95_ms": 232.75966649744078,
391
+ "ttft_p99_ms": 255.23558505970868,
392
+ "itl_mean_ms": 7.9109000767037285,
393
+ "itl_p50_ms": 7.7173600157683415,
394
+ "itl_p95_ms": 11.63812698740246,
395
+ "itl_p99_ms": 13.068145703495471,
396
+ "tpot_mean_ms": 7.912022636927084,
397
+ "tpot_p50_ms": 7.718454007901284,
398
+ "tpot_p95_ms": 11.63953219130328,
399
+ "acceptance_rate": 0.3119374812973321,
400
+ "acceptance_pos_1": 0.5350344129088691,
401
+ "acceptance_pos_2": 0.257809083166448,
402
+ "acceptance_pos_3": 0.14296894781667932,
403
+ "mean_acceptance_length": 1.9358124438919964
404
+ },
405
+ {
406
+ "dataset": "gsm8k",
407
+ "run": "dspark_k7",
408
+ "method": "dspark",
409
+ "num_speculative_tokens": 7,
410
+ "requests": 1319,
411
+ "output_tokens": 168457,
412
+ "request_throughput_rps": 0.8698276010199105,
413
+ "output_throughput_tps": 111.09063547006147,
414
+ "speedup_vs_baseline": 0.9613329610654137,
415
+ "latency_mean_ms": 1149.4913456012362,
416
+ "latency_p50_ms": 1122.8163880005013,
417
+ "latency_p95_ms": 1690.7677308932762,
418
+ "latency_p99_ms": 1912.2929262730754,
419
+ "ttft_mean_ms": 142.42033671721288,
420
+ "ttft_p50_ms": 144.59181799611542,
421
+ "ttft_p95_ms": 238.7138173042331,
422
+ "ttft_p99_ms": 260.84847668505967,
423
+ "itl_mean_ms": 7.943716780175663,
424
+ "itl_p50_ms": 7.752916023642096,
425
+ "itl_p95_ms": 11.936723438570985,
426
+ "itl_p99_ms": 13.552413253823115,
427
+ "tpot_mean_ms": 7.944849474277738,
428
+ "tpot_p50_ms": 7.753948110208927,
429
+ "tpot_p95_ms": 11.937846825916434,
430
+ "acceptance_rate": 0.14634874499637113,
431
+ "acceptance_pos_1": 0.5336472057746123,
432
+ "acceptance_pos_2": 0.25006905994403145,
433
+ "acceptance_pos_3": 0.13272720721586337,
434
+ "mean_acceptance_length": 2.024441214974598
435
+ },
436
+ {
437
+ "dataset": "humaneval",
438
+ "run": "baseline",
439
+ "method": "baseline",
440
+ "num_speculative_tokens": null,
441
+ "requests": 164,
442
+ "output_tokens": 11593,
443
+ "request_throughput_rps": 1.3248947198163699,
444
+ "output_throughput_tps": 93.65551516360473,
445
+ "speedup_vs_baseline": 1.0,
446
+ "latency_mean_ms": 754.6755473965566,
447
+ "latency_p50_ms": 647.226564502489,
448
+ "latency_p95_ms": 1367.1402201009187,
449
+ "latency_p99_ms": 1480.0008050996985,
450
+ "ttft_mean_ms": 189.28278684156462,
451
+ "ttft_p50_ms": 179.46013799883076,
452
+ "ttft_p95_ms": 342.49747914982436,
453
+ "ttft_p99_ms": 379.2299685735634,
454
+ "itl_mean_ms": 8.10896273002792,
455
+ "itl_p50_ms": 7.874335342868083,
456
+ "itl_p95_ms": 9.866437620078749,
457
+ "itl_p99_ms": 14.497655275340552,
458
+ "tpot_mean_ms": 8.11360654911452,
459
+ "tpot_p50_ms": 7.876261433408698,
460
+ "tpot_p95_ms": 9.867678297241653,
461
+ "acceptance_rate": null,
462
+ "acceptance_pos_1": null,
463
+ "acceptance_pos_2": null,
464
+ "acceptance_pos_3": null,
465
+ "mean_acceptance_length": null
466
+ },
467
+ {
468
+ "dataset": "humaneval",
469
+ "run": "dflash_k3",
470
+ "method": "dflash",
471
+ "num_speculative_tokens": 3,
472
+ "requests": 164,
473
+ "output_tokens": 11403,
474
+ "request_throughput_rps": 0.8482418297936308,
475
+ "output_throughput_tps": 58.97866820205349,
476
+ "speedup_vs_baseline": 0.6297404706922488,
477
+ "latency_mean_ms": 1178.8075736159687,
478
+ "latency_p50_ms": 1028.3337114997266,
479
+ "latency_p95_ms": 2207.2047492016277,
480
+ "latency_p99_ms": 2550.0725987079936,
481
+ "ttft_mean_ms": 162.98695540243034,
482
+ "ttft_p50_ms": 142.10437850124435,
483
+ "ttft_p95_ms": 323.0461064536938,
484
+ "ttft_p99_ms": 404.1426902490639,
485
+ "itl_mean_ms": 15.05167389736459,
486
+ "itl_p50_ms": 15.00903958145443,
487
+ "itl_p95_ms": 20.248163725045735,
488
+ "itl_p99_ms": 21.988641405840404,
489
+ "tpot_mean_ms": 15.056187308266047,
490
+ "tpot_p50_ms": 15.011203893487512,
491
+ "tpot_p95_ms": 20.267178071169052,
492
+ "acceptance_rate": 0.0599447417200014,
493
+ "acceptance_pos_1": 0.1643059490084986,
494
+ "acceptance_pos_2": 0.01447906830343091,
495
+ "acceptance_pos_3": 0.0010492078480747037,
496
+ "mean_acceptance_length": 1.1798342251600042
497
+ },
498
+ {
499
+ "dataset": "humaneval",
500
+ "run": "dflash_k7",
501
+ "method": "dflash",
502
+ "num_speculative_tokens": 7,
503
+ "requests": 164,
504
+ "output_tokens": 10873,
505
+ "request_throughput_rps": 0.9775628464767565,
506
+ "output_throughput_tps": 64.81122457159618,
507
+ "speedup_vs_baseline": 0.6920171701407963,
508
+ "latency_mean_ms": 1022.8616001402481,
509
+ "latency_p50_ms": 861.6272605004269,
510
+ "latency_p95_ms": 2083.6442281001837,
511
+ "latency_p99_ms": 2187.8588047894846,
512
+ "ttft_mean_ms": 157.66290578664288,
513
+ "ttft_p50_ms": 154.99908150104602,
514
+ "ttft_p95_ms": 238.5054721988126,
515
+ "ttft_p99_ms": 254.32537110971683,
516
+ "itl_mean_ms": 13.23754715845204,
517
+ "itl_p50_ms": 13.002521015674134,
518
+ "itl_p95_ms": 16.242605144630183,
519
+ "itl_p99_ms": 17.38454934863588,
520
+ "tpot_mean_ms": 13.2414967604306,
521
+ "tpot_p50_ms": 13.004417010839589,
522
+ "tpot_p95_ms": 16.244994796315652,
523
+ "acceptance_rate": 0.027065165688917075,
524
+ "acceptance_pos_1": 0.17458379578246394,
525
+ "acceptance_pos_2": 0.014095449500554939,
526
+ "acceptance_pos_3": 0.0007769145394006659,
527
+ "mean_acceptance_length": 1.1894561598224196
528
+ },
529
+ {
530
+ "dataset": "humaneval",
531
+ "run": "dflare_k3",
532
+ "method": "dflare",
533
+ "num_speculative_tokens": 3,
534
+ "requests": 164,
535
+ "output_tokens": 11403,
536
+ "request_throughput_rps": 1.4279144513142106,
537
+ "output_throughput_tps": 99.28358834351184,
538
+ "speedup_vs_baseline": 1.060093344957588,
539
+ "latency_mean_ms": 700.2340810428306,
540
+ "latency_p50_ms": 654.7297254983278,
541
+ "latency_p95_ms": 1298.7420633009606,
542
+ "latency_p99_ms": 1572.5833712578244,
543
+ "ttft_mean_ms": 163.544509548978,
544
+ "ttft_p50_ms": 175.85190250065352,
545
+ "ttft_p95_ms": 255.46592105038144,
546
+ "ttft_p99_ms": 272.46247330847837,
547
+ "itl_mean_ms": 8.18464679387673,
548
+ "itl_p50_ms": 8.052460137035897,
549
+ "itl_p95_ms": 11.823310047215534,
550
+ "itl_p99_ms": 14.873981783527022,
551
+ "tpot_mean_ms": 8.188209899387681,
552
+ "tpot_p50_ms": 8.053541158448532,
553
+ "tpot_p95_ms": 11.828740774528667,
554
+ "acceptance_rate": 0.5862826458384184,
555
+ "acceptance_pos_1": 0.7759336099585062,
556
+ "acceptance_pos_2": 0.5643153526970954,
557
+ "acceptance_pos_3": 0.4185989748596534,
558
+ "mean_acceptance_length": 2.758847937515255
559
+ },
560
+ {
561
+ "dataset": "humaneval",
562
+ "run": "dflare_k7",
563
+ "method": "dflare",
564
+ "num_speculative_tokens": 7,
565
+ "requests": 164,
566
+ "output_tokens": 10873,
567
+ "request_throughput_rps": 1.7259982556670077,
568
+ "output_throughput_tps": 114.43157947480107,
569
+ "speedup_vs_baseline": 1.2218349263778336,
570
+ "latency_mean_ms": 579.2890396647502,
571
+ "latency_p50_ms": 542.1822514981613,
572
+ "latency_p95_ms": 1124.121437451322,
573
+ "latency_p99_ms": 1337.6976848527559,
574
+ "ttft_mean_ms": 153.88535212816083,
575
+ "ttft_p50_ms": 160.26985099961166,
576
+ "ttft_p95_ms": 249.8991386499256,
577
+ "ttft_p99_ms": 257.3446220774349,
578
+ "itl_mean_ms": 7.2881835467627765,
579
+ "itl_p50_ms": 6.791492409145974,
580
+ "itl_p95_ms": 11.28842372509098,
581
+ "itl_p99_ms": 14.967644061684823,
582
+ "tpot_mean_ms": 7.292224562039036,
583
+ "tpot_p50_ms": 6.792956900041677,
584
+ "tpot_p95_ms": 11.300806915223802,
585
+ "acceptance_rate": 0.3260095527572731,
586
+ "acceptance_pos_1": 0.7689969604863222,
587
+ "acceptance_pos_2": 0.5525835866261398,
588
+ "acceptance_pos_3": 0.40091185410334346,
589
+ "mean_acceptance_length": 3.282066869300912
590
+ },
591
+ {
592
+ "dataset": "humaneval",
593
+ "run": "dspark_k3",
594
+ "method": "dspark",
595
+ "num_speculative_tokens": 3,
596
+ "requests": 164,
597
+ "output_tokens": 11403,
598
+ "request_throughput_rps": 1.8838722899407694,
599
+ "output_throughput_tps": 130.98655928167435,
600
+ "speedup_vs_baseline": 1.3985995277785492,
601
+ "latency_mean_ms": 530.7444518413565,
602
+ "latency_p50_ms": 495.157746001496,
603
+ "latency_p95_ms": 905.6995584996912,
604
+ "latency_p99_ms": 1086.2262809240203,
605
+ "ttft_mean_ms": 146.0434188045882,
606
+ "ttft_p50_ms": 152.46622500490048,
607
+ "ttft_p95_ms": 236.91825044916186,
608
+ "ttft_p99_ms": 255.82899200926477,
609
+ "itl_mean_ms": 6.104835246645276,
610
+ "itl_p50_ms": 5.68536281673191,
611
+ "itl_p95_ms": 8.98480516036281,
612
+ "itl_p99_ms": 11.694451736160172,
613
+ "tpot_mean_ms": 6.108340038664795,
614
+ "tpot_p50_ms": 5.68948486237622,
615
+ "tpot_p95_ms": 8.989236841355433,
616
+ "acceptance_rate": 0.6043326693227091,
617
+ "acceptance_pos_1": 0.7711653386454184,
618
+ "acceptance_pos_2": 0.5893924302788844,
619
+ "acceptance_pos_3": 0.4524402390438247,
620
+ "mean_acceptance_length": 2.812998007968128
621
+ },
622
+ {
623
+ "dataset": "humaneval",
624
+ "run": "dspark_k7",
625
+ "method": "dspark",
626
+ "num_speculative_tokens": 7,
627
+ "requests": 164,
628
+ "output_tokens": 10873,
629
+ "request_throughput_rps": 2.193269418244654,
630
+ "output_throughput_tps": 145.4110877108178,
631
+ "speedup_vs_baseline": 1.5526163884401514,
632
+ "latency_mean_ms": 455.86265411590676,
633
+ "latency_p50_ms": 409.3146830055048,
634
+ "latency_p95_ms": 852.2122731519629,
635
+ "latency_p99_ms": 1123.0342373249005,
636
+ "ttft_mean_ms": 143.6314728172608,
637
+ "ttft_p50_ms": 148.64660549210384,
638
+ "ttft_p95_ms": 241.35335180908442,
639
+ "ttft_p99_ms": 261.36555448989384,
640
+ "itl_mean_ms": 5.509904282925857,
641
+ "itl_p50_ms": 5.137632333503879,
642
+ "itl_p95_ms": 9.656399889036864,
643
+ "itl_p99_ms": 11.480592018691826,
644
+ "tpot_mean_ms": 5.513652760595837,
645
+ "tpot_p50_ms": 5.139975778089672,
646
+ "tpot_p95_ms": 9.664061358919506,
647
+ "acceptance_rate": 0.3497128270580728,
648
+ "acceptance_pos_1": 0.7345245692405871,
649
+ "acceptance_pos_2": 0.5520102105934908,
650
+ "acceptance_pos_3": 0.3937460114869177,
651
+ "mean_acceptance_length": 3.4479897894065092
652
+ },
653
+ {
654
+ "dataset": "mbpp",
655
+ "run": "baseline",
656
+ "method": "baseline",
657
+ "num_speculative_tokens": null,
658
+ "requests": 500,
659
+ "output_tokens": 61467,
660
+ "request_throughput_rps": 0.9566788994866338,
661
+ "output_throughput_tps": 117.60836382948983,
662
+ "speedup_vs_baseline": 1.0,
663
+ "latency_mean_ms": 1045.163285173956,
664
+ "latency_p50_ms": 1051.2518215000455,
665
+ "latency_p95_ms": 1252.2429954937252,
666
+ "latency_p99_ms": 1313.4473929634257,
667
+ "ttft_mean_ms": 170.204570235961,
668
+ "ttft_p50_ms": 147.96629649936222,
669
+ "ttft_p95_ms": 343.0072944531275,
670
+ "ttft_p99_ms": 394.77327711974795,
671
+ "itl_mean_ms": 7.1850096596128905,
672
+ "itl_p50_ms": 7.149241377965513,
673
+ "itl_p95_ms": 7.642400291320152,
674
+ "itl_p99_ms": 7.887752700210706,
675
+ "tpot_mean_ms": 7.1880918593224585,
676
+ "tpot_p50_ms": 7.1504635433104955,
677
+ "tpot_p95_ms": 7.643652335044196,
678
+ "acceptance_rate": null,
679
+ "acceptance_pos_1": null,
680
+ "acceptance_pos_2": null,
681
+ "acceptance_pos_3": null,
682
+ "mean_acceptance_length": null
683
+ },
684
+ {
685
+ "dataset": "mbpp",
686
+ "run": "dflash_k3",
687
+ "method": "dflash",
688
+ "num_speculative_tokens": 3,
689
+ "requests": 500,
690
+ "output_tokens": 61643,
691
+ "request_throughput_rps": 0.5463233439436157,
692
+ "output_throughput_tps": 67.3540197814326,
693
+ "speedup_vs_baseline": 0.5726975326268746,
694
+ "latency_mean_ms": 1830.2107265740342,
695
+ "latency_p50_ms": 1857.0996774942614,
696
+ "latency_p95_ms": 2291.14192195193,
697
+ "latency_p99_ms": 2455.683664069438,
698
+ "ttft_mean_ms": 181.87522897598683,
699
+ "ttft_p50_ms": 156.96376850246452,
700
+ "ttft_p95_ms": 374.19471385073825,
701
+ "ttft_p99_ms": 413.4018152903445,
702
+ "itl_mean_ms": 13.36878509883122,
703
+ "itl_p50_ms": 13.397268279545893,
704
+ "itl_p95_ms": 16.285712324037817,
705
+ "itl_p99_ms": 17.16560508802913,
706
+ "tpot_mean_ms": 13.37178172838754,
707
+ "tpot_p50_ms": 13.398526082703144,
708
+ "tpot_p95_ms": 16.287178615374877,
709
+ "acceptance_rate": 0.0651825815270455,
710
+ "acceptance_pos_1": 0.18390939269673892,
711
+ "acceptance_pos_2": 0.011013473930872876,
712
+ "acceptance_pos_3": 0.0006248779535247023,
713
+ "mean_acceptance_length": 1.1955477445811364
714
+ },
715
+ {
716
+ "dataset": "mbpp",
717
+ "run": "dflash_k7",
718
+ "method": "dflash",
719
+ "num_speculative_tokens": 7,
720
+ "requests": 500,
721
+ "output_tokens": 61199,
722
+ "request_throughput_rps": 0.6112544218481429,
723
+ "output_throughput_tps": 74.81631872536899,
724
+ "speedup_vs_baseline": 0.636147942962957,
725
+ "latency_mean_ms": 1635.86529272798,
726
+ "latency_p50_ms": 1672.3464854994745,
727
+ "latency_p95_ms": 2016.2770743999317,
728
+ "latency_p99_ms": 2129.984438859737,
729
+ "ttft_mean_ms": 152.66953481407472,
730
+ "ttft_p50_ms": 159.74267549972865,
731
+ "ttft_p95_ms": 244.47033859860304,
732
+ "ttft_p99_ms": 260.42180475840723,
733
+ "itl_mean_ms": 12.100660442193382,
734
+ "itl_p50_ms": 12.01978580708575,
735
+ "itl_p95_ms": 14.406062782671242,
736
+ "itl_p99_ms": 15.092129389210932,
737
+ "tpot_mean_ms": 12.10357721618688,
738
+ "tpot_p50_ms": 12.02091915748017,
739
+ "tpot_p95_ms": 14.40738571140975,
740
+ "acceptance_rate": 0.028364658688842314,
741
+ "acceptance_pos_1": 0.18660277646316453,
742
+ "acceptance_pos_2": 0.011358258400378608,
743
+ "acceptance_pos_3": 0.0005718567597412841,
744
+ "mean_acceptance_length": 1.1985526108218962
745
+ },
746
+ {
747
+ "dataset": "mbpp",
748
+ "run": "dflare_k3",
749
+ "method": "dflare",
750
+ "num_speculative_tokens": 3,
751
+ "requests": 500,
752
+ "output_tokens": 61643,
753
+ "request_throughput_rps": 0.8389172370608934,
754
+ "output_throughput_tps": 103.4267504882893,
755
+ "speedup_vs_baseline": 0.8794166258297648,
756
+ "latency_mean_ms": 1191.9062847682944,
757
+ "latency_p50_ms": 1208.0225355002767,
758
+ "latency_p95_ms": 1663.9658735984995,
759
+ "latency_p99_ms": 1887.62577743968,
760
+ "ttft_mean_ms": 151.1433905701415,
761
+ "ttft_p50_ms": 151.9770585000515,
762
+ "ttft_p95_ms": 261.6679305512662,
763
+ "ttft_p99_ms": 283.6371392303044,
764
+ "itl_mean_ms": 8.617537094703247,
765
+ "itl_p50_ms": 8.440096641743008,
766
+ "itl_p95_ms": 12.05171109251937,
767
+ "itl_p99_ms": 14.760888378997743,
768
+ "tpot_mean_ms": 8.620249662427044,
769
+ "tpot_p50_ms": 8.441339763779492,
770
+ "tpot_p95_ms": 12.052845620474532,
771
+ "acceptance_rate": 0.4696401115367576,
772
+ "acceptance_pos_1": 0.6867328590415136,
773
+ "acceptance_pos_2": 0.4438276913454773,
774
+ "acceptance_pos_3": 0.278359784223282,
775
+ "mean_acceptance_length": 2.408920334610273
776
+ },
777
+ {
778
+ "dataset": "mbpp",
779
+ "run": "dflare_k7",
780
+ "method": "dflare",
781
+ "num_speculative_tokens": 7,
782
+ "requests": 500,
783
+ "output_tokens": 61199,
784
+ "request_throughput_rps": 0.943455812538664,
785
+ "output_throughput_tps": 115.47710454310739,
786
+ "speedup_vs_baseline": 0.9818783357153716,
787
+ "latency_mean_ms": 1059.8270873299334,
788
+ "latency_p50_ms": 1066.4042809985403,
789
+ "latency_p95_ms": 1511.5341901015197,
790
+ "latency_p99_ms": 1678.6425156925543,
791
+ "ttft_mean_ms": 149.29563258778944,
792
+ "ttft_p50_ms": 151.24238849966787,
793
+ "ttft_p95_ms": 254.46768340189007,
794
+ "ttft_p99_ms": 276.2093989884306,
795
+ "itl_mean_ms": 7.8246956861011725,
796
+ "itl_p50_ms": 7.491708066904327,
797
+ "itl_p95_ms": 11.13285018701698,
798
+ "itl_p99_ms": 19.920353018048132,
799
+ "tpot_mean_ms": 7.827419804285574,
800
+ "tpot_p50_ms": 7.492821476362439,
801
+ "tpot_p95_ms": 11.13404580474156,
802
+ "acceptance_rate": 0.24501954356323288,
803
+ "acceptance_pos_1": 0.6746690203000882,
804
+ "acceptance_pos_2": 0.42497793468667255,
805
+ "acceptance_pos_3": 0.2500882612533098,
806
+ "mean_acceptance_length": 2.71513680494263
807
+ },
808
+ {
809
+ "dataset": "mbpp",
810
+ "run": "dspark_k3",
811
+ "method": "dspark",
812
+ "num_speculative_tokens": 3,
813
+ "requests": 500,
814
+ "output_tokens": 61643,
815
+ "request_throughput_rps": 1.1901763850957827,
816
+ "output_throughput_tps": 146.73208581291865,
817
+ "speedup_vs_baseline": 1.247633085225578,
818
+ "latency_mean_ms": 840.1123063238338,
819
+ "latency_p50_ms": 843.1062914969516,
820
+ "latency_p95_ms": 1144.961133646211,
821
+ "latency_p99_ms": 1246.0605967608715,
822
+ "ttft_mean_ms": 133.81045833000098,
823
+ "ttft_p50_ms": 131.7662695000763,
824
+ "ttft_p95_ms": 238.02317654808573,
825
+ "ttft_p99_ms": 263.0950807044428,
826
+ "itl_mean_ms": 5.951950751595078,
827
+ "itl_p50_ms": 5.73346276769729,
828
+ "itl_p95_ms": 8.067283917319386,
829
+ "itl_p99_ms": 14.154150555114027,
830
+ "tpot_mean_ms": 5.954451005112758,
831
+ "tpot_p50_ms": 5.734595043312457,
832
+ "tpot_p95_ms": 8.068427130726949,
833
+ "acceptance_rate": 0.5237361111111111,
834
+ "acceptance_pos_1": 0.7102916666666667,
835
+ "acceptance_pos_2": 0.510625,
836
+ "acceptance_pos_3": 0.35029166666666667,
837
+ "mean_acceptance_length": 2.5712083333333333
838
+ },
839
+ {
840
+ "dataset": "mbpp",
841
+ "run": "dspark_k7",
842
+ "method": "dspark",
843
+ "num_speculative_tokens": 7,
844
+ "requests": 500,
845
+ "output_tokens": 61199,
846
+ "request_throughput_rps": 1.292868654843097,
847
+ "output_throughput_tps": 158.2445376154854,
848
+ "speedup_vs_baseline": 1.3455211216517766,
849
+ "latency_mean_ms": 773.3765653301089,
850
+ "latency_p50_ms": 777.3538839974208,
851
+ "latency_p95_ms": 1069.8221424441717,
852
+ "latency_p99_ms": 1181.5079208668612,
853
+ "ttft_mean_ms": 144.87902384001063,
854
+ "ttft_p50_ms": 148.97060450311983,
855
+ "ttft_p95_ms": 240.50168554604164,
856
+ "ttft_p99_ms": 261.4171255609835,
857
+ "itl_mean_ms": 5.4609269159301945,
858
+ "itl_p50_ms": 5.171082055140708,
859
+ "itl_p95_ms": 7.696279004271422,
860
+ "itl_p99_ms": 16.670999059686896,
861
+ "tpot_mean_ms": 5.463527012393008,
862
+ "tpot_p50_ms": 5.172086559067843,
863
+ "tpot_p95_ms": 7.697418791287318,
864
+ "acceptance_rate": 0.2885384335766015,
865
+ "acceptance_pos_1": 0.6823742415345468,
866
+ "acceptance_pos_2": 0.46951458211000197,
867
+ "acceptance_pos_3": 0.3062732432961441,
868
+ "mean_acceptance_length": 3.0197690350362105
869
+ },
870
+ {
871
+ "dataset": "mt_bench",
872
+ "run": "baseline",
873
+ "method": "baseline",
874
+ "num_speculative_tokens": null,
875
+ "requests": 160,
876
+ "output_tokens": 20102,
877
+ "request_throughput_rps": 0.9303956789559812,
878
+ "output_throughput_tps": 116.89258711483208,
879
+ "speedup_vs_baseline": 1.0,
880
+ "latency_mean_ms": 1074.6847601811623,
881
+ "latency_p50_ms": 1056.2882739977795,
882
+ "latency_p95_ms": 1319.7490790018492,
883
+ "latency_p99_ms": 1393.648768519415,
884
+ "ttft_mean_ms": 160.69353549364678,
885
+ "ttft_p50_ms": 136.07312599924626,
886
+ "ttft_p95_ms": 327.46918089833343,
887
+ "ttft_p99_ms": 382.2414645081152,
888
+ "itl_mean_ms": 7.309607731920508,
889
+ "itl_p50_ms": 7.198581275588367,
890
+ "itl_p95_ms": 8.339637732306286,
891
+ "itl_p99_ms": 9.805146286736829,
892
+ "tpot_mean_ms": 7.3133077895495875,
893
+ "tpot_p50_ms": 7.1998062007842805,
894
+ "tpot_p95_ms": 8.34087489329106,
895
+ "acceptance_rate": null,
896
+ "acceptance_pos_1": null,
897
+ "acceptance_pos_2": null,
898
+ "acceptance_pos_3": null,
899
+ "mean_acceptance_length": null
900
+ },
901
+ {
902
+ "dataset": "mt_bench",
903
+ "run": "dflash_k3",
904
+ "method": "dflash",
905
+ "num_speculative_tokens": 3,
906
+ "requests": 160,
907
+ "output_tokens": 20102,
908
+ "request_throughput_rps": 0.5241432036444518,
909
+ "output_throughput_tps": 65.85204174787981,
910
+ "speedup_vs_baseline": 0.5633551568431672,
911
+ "latency_mean_ms": 1907.7480007938448,
912
+ "latency_p50_ms": 1930.5097770011344,
913
+ "latency_p95_ms": 2463.4897702966555,
914
+ "latency_p99_ms": 2646.199334648336,
915
+ "ttft_mean_ms": 175.24922163756855,
916
+ "ttft_p50_ms": 140.2629744989099,
917
+ "ttft_p95_ms": 376.67113924690057,
918
+ "ttft_p99_ms": 423.97999386870646,
919
+ "itl_mean_ms": 13.833307178800341,
920
+ "itl_p50_ms": 13.946147039380268,
921
+ "itl_p95_ms": 17.445409657068915,
922
+ "itl_p99_ms": 18.298039104984053,
923
+ "tpot_mean_ms": 13.837227284098185,
924
+ "tpot_p50_ms": 13.947568574815339,
925
+ "tpot_p95_ms": 17.446681594068878,
926
+ "acceptance_rate": 0.060423199037646175,
927
+ "acceptance_pos_1": 0.16210140211796722,
928
+ "acceptance_pos_2": 0.017630006507720522,
929
+ "acceptance_pos_3": 0.0015381884872507838,
930
+ "mean_acceptance_length": 1.1812695971129386
931
+ },
932
+ {
933
+ "dataset": "mt_bench",
934
+ "run": "dflash_k7",
935
+ "method": "dflash",
936
+ "num_speculative_tokens": 7,
937
+ "requests": 160,
938
+ "output_tokens": 20102,
939
+ "request_throughput_rps": 0.583168838359363,
940
+ "output_throughput_tps": 73.26787492937446,
941
+ "speedup_vs_baseline": 0.6267965893970513,
942
+ "latency_mean_ms": 1714.6447665063306,
943
+ "latency_p50_ms": 1721.8866950006486,
944
+ "latency_p95_ms": 2135.267027699956,
945
+ "latency_p99_ms": 2242.278299470854,
946
+ "ttft_mean_ms": 139.6615898878281,
947
+ "ttft_p50_ms": 138.0474095003592,
948
+ "ttft_p95_ms": 237.62467689830373,
949
+ "ttft_p99_ms": 245.49128495971672,
950
+ "itl_mean_ms": 12.686621501440076,
951
+ "itl_p50_ms": 12.566233303133897,
952
+ "itl_p95_ms": 15.546194449997866,
953
+ "itl_p99_ms": 16.16330862709806,
954
+ "tpot_mean_ms": 12.6899270927419,
955
+ "tpot_p50_ms": 12.567349094479857,
956
+ "tpot_p95_ms": 15.547512893692872,
957
+ "acceptance_rate": 0.02348325183475921,
958
+ "acceptance_pos_1": 0.14881334188582424,
959
+ "acceptance_pos_2": 0.01463642194880168,
960
+ "acceptance_pos_3": 0.0008746865706455186,
961
+ "mean_acceptance_length": 1.1643827628433145
962
+ },
963
+ {
964
+ "dataset": "mt_bench",
965
+ "run": "dflare_k3",
966
+ "method": "dflare",
967
+ "num_speculative_tokens": 3,
968
+ "requests": 160,
969
+ "output_tokens": 20102,
970
+ "request_throughput_rps": 0.6809063012234507,
971
+ "output_throughput_tps": 85.5473654199613,
972
+ "speedup_vs_baseline": 0.7318459410597347,
973
+ "latency_mean_ms": 1468.511645206172,
974
+ "latency_p50_ms": 1454.6153324990883,
975
+ "latency_p95_ms": 2127.0678361986943,
976
+ "latency_p99_ms": 2281.048237952054,
977
+ "ttft_mean_ms": 159.72944469986032,
978
+ "ttft_p50_ms": 168.77598499922897,
979
+ "ttft_p95_ms": 265.74251724632626,
980
+ "ttft_p99_ms": 281.86643974164326,
981
+ "itl_mean_ms": 10.654948740516124,
982
+ "itl_p50_ms": 10.288291291322736,
983
+ "itl_p95_ms": 15.705922906309695,
984
+ "itl_p99_ms": 16.95837595336085,
985
+ "tpot_mean_ms": 10.6584103940507,
986
+ "tpot_p50_ms": 10.289786913365493,
987
+ "tpot_p95_ms": 15.707090863808236,
988
+ "acceptance_rate": 0.3230895107183767,
989
+ "acceptance_pos_1": 0.5774177712322042,
990
+ "acceptance_pos_2": 0.27245949926362295,
991
+ "acceptance_pos_3": 0.1193912616593029,
992
+ "mean_acceptance_length": 1.9692685321551302
993
+ },
994
+ {
995
+ "dataset": "mt_bench",
996
+ "run": "dflare_k7",
997
+ "method": "dflare",
998
+ "num_speculative_tokens": 7,
999
+ "requests": 160,
1000
+ "output_tokens": 20102,
1001
+ "request_throughput_rps": 0.7093667936140545,
1002
+ "output_throughput_tps": 89.12307053268577,
1003
+ "speedup_vs_baseline": 0.7624356063326214,
1004
+ "latency_mean_ms": 1409.5885398314294,
1005
+ "latency_p50_ms": 1421.8769274993974,
1006
+ "latency_p95_ms": 2124.1017438478584,
1007
+ "latency_p99_ms": 2515.584632036989,
1008
+ "ttft_mean_ms": 146.91454585622523,
1009
+ "ttft_p50_ms": 142.44566849811235,
1010
+ "ttft_p95_ms": 259.6700968468212,
1011
+ "ttft_p99_ms": 287.97775861195987,
1012
+ "itl_mean_ms": 10.234430485377915,
1013
+ "itl_p50_ms": 10.088829999998364,
1014
+ "itl_p95_ms": 15.341923362584064,
1015
+ "itl_p99_ms": 19.70016743978345,
1016
+ "tpot_mean_ms": 10.238094617695932,
1017
+ "tpot_p50_ms": 10.089903972448514,
1018
+ "tpot_p95_ms": 15.343091349977053,
1019
+ "acceptance_rate": 0.14626535131870344,
1020
+ "acceptance_pos_1": 0.5742903160861688,
1021
+ "acceptance_pos_2": 0.2700825447956513,
1022
+ "acceptance_pos_3": 0.1106301590497282,
1023
+ "mean_acceptance_length": 2.023857459230924
1024
+ },
1025
+ {
1026
+ "dataset": "mt_bench",
1027
+ "run": "dspark_k3",
1028
+ "method": "dspark",
1029
+ "num_speculative_tokens": 3,
1030
+ "requests": 160,
1031
+ "output_tokens": 20102,
1032
+ "request_throughput_rps": 0.9638367060855711,
1033
+ "output_throughput_tps": 121.09403416082594,
1034
+ "speedup_vs_baseline": 1.035942801418763,
1035
+ "latency_mean_ms": 1037.4081412996475,
1036
+ "latency_p50_ms": 1001.3265734996821,
1037
+ "latency_p95_ms": 1565.5059430991967,
1038
+ "latency_p99_ms": 1781.7731402603386,
1039
+ "ttft_mean_ms": 141.7672610684349,
1040
+ "ttft_p50_ms": 145.46368399896892,
1041
+ "ttft_p95_ms": 240.4056666531687,
1042
+ "ttft_p99_ms": 261.25688084066496,
1043
+ "itl_mean_ms": 7.313367654694055,
1044
+ "itl_p50_ms": 6.893495897653395,
1045
+ "itl_p95_ms": 11.711175241387847,
1046
+ "itl_p99_ms": 16.168680668779416,
1047
+ "tpot_mean_ms": 7.316552068142107,
1048
+ "tpot_p50_ms": 6.894642385820525,
1049
+ "tpot_p95_ms": 11.712829905159229,
1050
+ "acceptance_rate": 0.3706431026018655,
1051
+ "acceptance_pos_1": 0.5900483904902167,
1052
+ "acceptance_pos_2": 0.3288449400378708,
1053
+ "acceptance_pos_3": 0.19303597727750893,
1054
+ "mean_acceptance_length": 2.1119293078055965
1055
+ },
1056
+ {
1057
+ "dataset": "mt_bench",
1058
+ "run": "dspark_k7",
1059
+ "method": "dspark",
1060
+ "num_speculative_tokens": 7,
1061
+ "requests": 160,
1062
+ "output_tokens": 20102,
1063
+ "request_throughput_rps": 0.9729636803231215,
1064
+ "output_throughput_tps": 122.24072438659618,
1065
+ "speedup_vs_baseline": 1.045752578531864,
1066
+ "latency_mean_ms": 1027.6755360433526,
1067
+ "latency_p50_ms": 1009.7822754978552,
1068
+ "latency_p95_ms": 1596.3315117551247,
1069
+ "latency_p99_ms": 2005.884019333607,
1070
+ "ttft_mean_ms": 141.24648624401743,
1071
+ "ttft_p50_ms": 139.84237199474592,
1072
+ "ttft_p95_ms": 255.56160285341318,
1073
+ "ttft_p99_ms": 265.59654699100065,
1074
+ "itl_mean_ms": 7.283154806994812,
1075
+ "itl_p50_ms": 6.8463791023933425,
1076
+ "itl_p95_ms": 11.787724323593851,
1077
+ "itl_p99_ms": 15.836048513204252,
1078
+ "tpot_mean_ms": 7.286351986039958,
1079
+ "tpot_p50_ms": 6.847493661481403,
1080
+ "tpot_p95_ms": 11.788784734661597,
1081
+ "acceptance_rate": 0.1742194735272419,
1082
+ "acceptance_pos_1": 0.5641138336446544,
1083
+ "acceptance_pos_2": 0.30238435336776176,
1084
+ "acceptance_pos_3": 0.17075046698165036,
1085
+ "mean_acceptance_length": 2.2195363146906932
1086
+ },
1087
+ {
1088
+ "dataset": "ultrachat",
1089
+ "run": "baseline",
1090
+ "method": "baseline",
1091
+ "num_speculative_tokens": null,
1092
+ "requests": 5000,
1093
+ "output_tokens": 636089,
1094
+ "request_throughput_rps": 0.4938431604479032,
1095
+ "output_throughput_tps": 62.825640417229266,
1096
+ "speedup_vs_baseline": 1.0,
1097
+ "latency_mean_ms": 2024.8159037780163,
1098
+ "latency_p50_ms": 1899.8980629985454,
1099
+ "latency_p95_ms": 3256.729267303672,
1100
+ "latency_p99_ms": 3405.7137782224895,
1101
+ "ttft_mean_ms": 166.95593686518114,
1102
+ "ttft_p50_ms": 163.98859200126026,
1103
+ "ttft_p95_ms": 289.8830948040995,
1104
+ "ttft_p99_ms": 336.2988253685762,
1105
+ "itl_mean_ms": 14.712897944777563,
1106
+ "itl_p50_ms": 13.827794673245338,
1107
+ "itl_p95_ms": 23.864679124793426,
1108
+ "itl_p99_ms": 24.76342741740255,
1109
+ "tpot_mean_ms": 14.714261969753975,
1110
+ "tpot_p50_ms": 13.829047236223541,
1111
+ "tpot_p95_ms": 23.866155100384233,
1112
+ "acceptance_rate": null,
1113
+ "acceptance_pos_1": null,
1114
+ "acceptance_pos_2": null,
1115
+ "acceptance_pos_3": null,
1116
+ "mean_acceptance_length": null
1117
+ },
1118
+ {
1119
+ "dataset": "ultrachat",
1120
+ "run": "dflash_k3",
1121
+ "method": "dflash",
1122
+ "num_speculative_tokens": 3,
1123
+ "requests": 5000,
1124
+ "output_tokens": 635846,
1125
+ "request_throughput_rps": 0.4093959318736204,
1126
+ "output_throughput_tps": 52.06255313962281,
1127
+ "speedup_vs_baseline": 0.82868320631309,
1128
+ "latency_mean_ms": 2442.487533897996,
1129
+ "latency_p50_ms": 2383.8188690006064,
1130
+ "latency_p95_ms": 3377.258205899534,
1131
+ "latency_p99_ms": 3705.6293327211833,
1132
+ "ttft_mean_ms": 168.35537181059328,
1133
+ "ttft_p50_ms": 170.54413749974628,
1134
+ "ttft_p95_ms": 252.9078775001381,
1135
+ "ttft_p99_ms": 299.23500963023804,
1136
+ "itl_mean_ms": 18.0134018722681,
1137
+ "itl_p50_ms": 17.54899170471861,
1138
+ "itl_p95_ms": 24.705050003148795,
1139
+ "itl_p99_ms": 27.191358835904875,
1140
+ "tpot_mean_ms": 18.01468435680956,
1141
+ "tpot_p50_ms": 17.550207216533355,
1142
+ "tpot_p95_ms": 24.706307322046488,
1143
+ "acceptance_rate": 0.07081888392688648,
1144
+ "acceptance_pos_1": 0.18361221407447353,
1145
+ "acceptance_pos_2": 0.02588322896495871,
1146
+ "acceptance_pos_3": 0.002961208741227203,
1147
+ "mean_acceptance_length": 1.2124566517806594
1148
+ },
1149
+ {
1150
+ "dataset": "ultrachat",
1151
+ "run": "dflash_k7",
1152
+ "method": "dflash",
1153
+ "num_speculative_tokens": 7,
1154
+ "requests": 5000,
1155
+ "output_tokens": 636040,
1156
+ "request_throughput_rps": 0.4019325528965641,
1157
+ "output_throughput_tps": 51.12903618886613,
1158
+ "speedup_vs_baseline": 0.8138243533900298,
1159
+ "latency_mean_ms": 2487.8614642295834,
1160
+ "latency_p50_ms": 2432.8269440011354,
1161
+ "latency_p95_ms": 3443.123125650527,
1162
+ "latency_p99_ms": 3724.6332480803176,
1163
+ "ttft_mean_ms": 172.7844437341555,
1164
+ "ttft_p50_ms": 173.04360800153518,
1165
+ "ttft_p95_ms": 258.7694342015311,
1166
+ "ttft_p99_ms": 299.8475944703024,
1167
+ "itl_mean_ms": 18.332019165246155,
1168
+ "itl_p50_ms": 17.85771458268332,
1169
+ "itl_p95_ms": 25.186547632286487,
1170
+ "itl_p99_ms": 27.352591655754214,
1171
+ "tpot_mean_ms": 18.33325328096626,
1172
+ "tpot_p50_ms": 17.85883874804062,
1173
+ "tpot_p95_ms": 25.18777078149849,
1174
+ "acceptance_rate": 0.03064899424451109,
1175
+ "acceptance_pos_1": 0.1849223980874338,
1176
+ "acceptance_pos_2": 0.025778901811864367,
1177
+ "acceptance_pos_3": 0.0031517369145264325,
1178
+ "mean_acceptance_length": 1.2145429597115776
1179
+ },
1180
+ {
1181
+ "dataset": "ultrachat",
1182
+ "run": "dflare_k3",
1183
+ "method": "dflare",
1184
+ "num_speculative_tokens": 3,
1185
+ "requests": 5000,
1186
+ "output_tokens": 635846,
1187
+ "request_throughput_rps": 0.4906630866625573,
1188
+ "output_throughput_tps": 62.397232200408084,
1189
+ "speedup_vs_baseline": 0.9931809972174402,
1190
+ "latency_mean_ms": 2037.9430946188047,
1191
+ "latency_p50_ms": 2007.9161120011122,
1192
+ "latency_p95_ms": 2756.5027899490815,
1193
+ "latency_p99_ms": 3044.030925800253,
1194
+ "ttft_mean_ms": 185.9597727056098,
1195
+ "ttft_p50_ms": 186.23321399718407,
1196
+ "ttft_p95_ms": 279.4342198045342,
1197
+ "ttft_p99_ms": 323.5009970532701,
1198
+ "itl_mean_ms": 14.673263611031553,
1199
+ "itl_p50_ms": 14.47747526376982,
1200
+ "itl_p95_ms": 19.803011401590926,
1201
+ "itl_p99_ms": 21.86518714472933,
1202
+ "tpot_mean_ms": 14.674543237540032,
1203
+ "tpot_p50_ms": 14.478983830686477,
1204
+ "tpot_p95_ms": 19.804314228371027,
1205
+ "acceptance_rate": 0.3113198824188073,
1206
+ "acceptance_pos_1": 0.572229825914399,
1207
+ "acceptance_pos_2": 0.26063458484348756,
1208
+ "acceptance_pos_3": 0.10109523649853532,
1209
+ "mean_acceptance_length": 1.933959647256422
1210
+ },
1211
+ {
1212
+ "dataset": "ultrachat",
1213
+ "run": "dflare_k7",
1214
+ "method": "dflare",
1215
+ "num_speculative_tokens": 7,
1216
+ "requests": 5000,
1217
+ "output_tokens": 636040,
1218
+ "request_throughput_rps": 0.5191022628219358,
1219
+ "output_throughput_tps": 66.03396064905282,
1220
+ "speedup_vs_baseline": 1.0510670517724432,
1221
+ "latency_mean_ms": 1925.9773102255406,
1222
+ "latency_p50_ms": 1903.7692794991017,
1223
+ "latency_p95_ms": 2635.482599895113,
1224
+ "latency_p99_ms": 2962.525904481372,
1225
+ "ttft_mean_ms": 180.70931879136043,
1226
+ "ttft_p50_ms": 182.9802385000221,
1227
+ "ttft_p95_ms": 272.8241580512986,
1228
+ "ttft_p99_ms": 313.5787184005314,
1229
+ "itl_mean_ms": 13.822185940257995,
1230
+ "itl_p50_ms": 13.62802470079417,
1231
+ "itl_p95_ms": 18.901379390565385,
1232
+ "itl_p99_ms": 21.488975903824134,
1233
+ "tpot_mean_ms": 13.823438931487352,
1234
+ "tpot_p50_ms": 13.629216417345067,
1235
+ "tpot_p95_ms": 18.902619697261734,
1236
+ "acceptance_rate": 0.14394009500546442,
1237
+ "acceptance_pos_1": 0.5769995228510126,
1238
+ "acceptance_pos_2": 0.26659988687461095,
1239
+ "acceptance_pos_3": 0.10386364282712356,
1240
+ "mean_acceptance_length": 2.007580665038251
1241
+ },
1242
+ {
1243
+ "dataset": "ultrachat",
1244
+ "run": "dspark_k3",
1245
+ "method": "dspark",
1246
+ "num_speculative_tokens": 3,
1247
+ "requests": 5000,
1248
+ "output_tokens": 635846,
1249
+ "request_throughput_rps": 0.6141321767148702,
1250
+ "output_throughput_tps": 78.09869760708868,
1251
+ "speedup_vs_baseline": 1.2431022921283417,
1252
+ "latency_mean_ms": 1628.2056611145947,
1253
+ "latency_p50_ms": 1592.831803496665,
1254
+ "latency_p95_ms": 2287.4158730010095,
1255
+ "latency_p99_ms": 2571.3276440004856,
1256
+ "ttft_mean_ms": 171.98177616532774,
1257
+ "ttft_p50_ms": 172.63183150498662,
1258
+ "ttft_p95_ms": 258.64595805287536,
1259
+ "ttft_p99_ms": 302.3406934656669,
1260
+ "itl_mean_ms": 11.538623067112681,
1261
+ "itl_p50_ms": 11.238307917321478,
1262
+ "itl_p95_ms": 16.24375355278012,
1263
+ "itl_p99_ms": 18.46682838556656,
1264
+ "tpot_mean_ms": 11.5398444087042,
1265
+ "tpot_p50_ms": 11.239705511848223,
1266
+ "tpot_p95_ms": 16.245154050035826,
1267
+ "acceptance_rate": 0.3240773825244086,
1268
+ "acceptance_pos_1": 0.5557454318356237,
1269
+ "acceptance_pos_2": 0.28176742365161084,
1270
+ "acceptance_pos_3": 0.13471929208599118,
1271
+ "mean_acceptance_length": 1.9722321475732256
1272
+ },
1273
+ {
1274
+ "dataset": "ultrachat",
1275
+ "run": "dspark_k7",
1276
+ "method": "dspark",
1277
+ "num_speculative_tokens": 7,
1278
+ "requests": 5000,
1279
+ "output_tokens": 636040,
1280
+ "request_throughput_rps": 0.6186701811110291,
1281
+ "output_throughput_tps": 78.69979639877178,
1282
+ "speedup_vs_baseline": 1.2526700225595981,
1283
+ "latency_mean_ms": 1616.259658270469,
1284
+ "latency_p50_ms": 1584.57970800373,
1285
+ "latency_p95_ms": 2290.956548342365,
1286
+ "latency_p99_ms": 2594.4233495666413,
1287
+ "ttft_mean_ms": 176.71817260388633,
1288
+ "ttft_p50_ms": 176.76159800612368,
1289
+ "ttft_p95_ms": 263.7752173024638,
1290
+ "ttft_p99_ms": 303.1083872308955,
1291
+ "itl_mean_ms": 11.399967330431618,
1292
+ "itl_p50_ms": 11.174435653507444,
1293
+ "itl_p95_ms": 16.282335170467917,
1294
+ "itl_p99_ms": 18.624601763757692,
1295
+ "tpot_mean_ms": 11.401195973910607,
1296
+ "tpot_p50_ms": 11.175635023563679,
1297
+ "tpot_p95_ms": 16.283561415453793,
1298
+ "acceptance_rate": 0.15448514765416219,
1299
+ "acceptance_pos_1": 0.5533425372792525,
1300
+ "acceptance_pos_2": 0.28025688169439844,
1301
+ "acceptance_pos_3": 0.13306681148704796,
1302
+ "mean_acceptance_length": 2.0813960335791357
1303
+ }
1304
+ ]
benchmarks/bs1/run_config.json ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "args": {
3
+ "base_model": "google/t5gemma-2-1b-1b",
4
+ "dflash_model": "/mnt/d/Projects/dflash_t5/dflash-output/dflash_t5gemma2_mixture_200k/checkpoints/5",
5
+ "dflare_model": "/mnt/d/Projects/dflash_t5/dflash-output/dflare_t5gemma2_mixture_200k/checkpoints/5",
6
+ "dspark_model": "/mnt/d/Projects/dflash_t5/dflash-output/dspark_t5gemma2_mixture_200k/checkpoints/5",
7
+ "speculative_token_counts": [
8
+ 3,
9
+ 7
10
+ ],
11
+ "methods": [
12
+ "dflash",
13
+ "dflare",
14
+ "dspark"
15
+ ],
16
+ "datasets": [
17
+ "math500",
18
+ "gsm8k",
19
+ "humaneval",
20
+ "mbpp",
21
+ "mt_bench",
22
+ "ultrachat"
23
+ ],
24
+ "num_prompts": 0,
25
+ "ultrachat_num_prompts": 5000,
26
+ "warmup": 8,
27
+ "concurrency": 1,
28
+ "max_num_seqs": 1,
29
+ "max_num_batched_tokens": 4096,
30
+ "max_model_len": 2048,
31
+ "max_tokens": 128,
32
+ "gpu_memory_utilization": 0.85,
33
+ "host": "127.0.0.1",
34
+ "port": 8011,
35
+ "temperature": 0.0,
36
+ "top_p": 1.0,
37
+ "seed": 0,
38
+ "timeout_s": 180.0,
39
+ "server_timeout_s": 600.0,
40
+ "enforce_eager": false,
41
+ "include_baseline": true
42
+ },
43
+ "runs": [
44
+ {
45
+ "name": "baseline",
46
+ "checkpoint": null,
47
+ "num_speculative_tokens": null
48
+ },
49
+ {
50
+ "name": "dflash_k3",
51
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflash_t5gemma2_mixture_200k/checkpoints/5",
52
+ "num_speculative_tokens": 3
53
+ },
54
+ {
55
+ "name": "dflash_k7",
56
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflash_t5gemma2_mixture_200k/checkpoints/5",
57
+ "num_speculative_tokens": 7
58
+ },
59
+ {
60
+ "name": "dflare_k3",
61
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflare_t5gemma2_mixture_200k/checkpoints/5",
62
+ "num_speculative_tokens": 3
63
+ },
64
+ {
65
+ "name": "dflare_k7",
66
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflare_t5gemma2_mixture_200k/checkpoints/5",
67
+ "num_speculative_tokens": 7
68
+ },
69
+ {
70
+ "name": "dspark_k3",
71
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dspark_t5gemma2_mixture_200k/checkpoints/5",
72
+ "num_speculative_tokens": 3
73
+ },
74
+ {
75
+ "name": "dspark_k7",
76
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dspark_t5gemma2_mixture_200k/checkpoints/5",
77
+ "num_speculative_tokens": 7
78
+ }
79
+ ],
80
+ "prompt_sets": {
81
+ "math500": {
82
+ "count": 500,
83
+ "sha256": "78a67699bc700588d0e23da6457ea3afc00d5635897d456a6245f1e964449c4a"
84
+ },
85
+ "gsm8k": {
86
+ "count": 1319,
87
+ "sha256": "d591bbef95c9d5b17f6f26999bde24def2f6fbf25d7e20953b9ac89c65ffbb8e"
88
+ },
89
+ "humaneval": {
90
+ "count": 164,
91
+ "sha256": "de1066c5b81dc0f99eab434315cee2c3c68c5a522b8c25d53c73f9c9042b44c8"
92
+ },
93
+ "mbpp": {
94
+ "count": 500,
95
+ "sha256": "c596be7f77834627fd0a05755691e30dbf4f6724425842de6d03348614e5fecd"
96
+ },
97
+ "mt_bench": {
98
+ "count": 160,
99
+ "sha256": "8761bfece58bd26e5b93c33e9aad480728ea9950a7d257aaff267db5c7b98010"
100
+ },
101
+ "ultrachat": {
102
+ "count": 5000,
103
+ "sha256": "5dac9e9dc0d63372c701dbebbb18f3f22a568e9b62cc0ff1b4fb88fc41bf5bf7"
104
+ }
105
+ },
106
+ "benchmark_fingerprint": "436353e1f7cd491994a7f381976fb001a63b77a4fea4411f0b645d604defc27e",
107
+ "output_dir": "/mnt/d/Projects/dflash_t5/benchmark-results/t5gemma2_speculators_suite_bs1_fixed"
108
+ }
benchmarks/bs4/comparison.md ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ | Dataset | Run | Req | Output tok/s | Speedup | Latency mean/p95 ms | TTFT mean/p95 ms | ITL mean/p95 ms | TPOT mean/p95 ms | Accept rate | Accept p1/p2/p3 | Accept len |
2
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
3
+ | math500 | baseline | 500 | 266.74 | 1.000x | 1901.95/2310.23 | 211.01/379.08 | 13.40/16.31 | 13.40/16.31 | — | -/-/- | — |
4
+ | math500 | dflash_k3 | 500 | 185.18 | 0.694x | 2740.52/3396.06 | 232.73/422.78 | 19.89/24.71 | 19.90/24.71 | 6.29% | 16.64%/1.97%/0.24% | 1.189 |
5
+ | math500 | dflash_k7 | 500 | 188.44 | 0.706x | 2690.23/3411.27 | 223.15/410.68 | 19.61/24.83 | 19.61/24.83 | 2.74% | 16.86%/2.02%/0.26% | 1.192 |
6
+ | math500 | dflare_k3 | 500 | 217.77 | 0.816x | 2328.94/3331.75 | 279.51/506.23 | 16.27/23.21 | 16.27/23.21 | 39.35% | 64.89%/35.28%/17.89% | 2.181 |
7
+ | math500 | dflare_k7 | 500 | 225.99 | 0.847x | 2249.20/3338.34 | 263.03/475.01 | 15.76/24.25 | 15.76/24.25 | 18.69% | 64.67%/35.48%/17.53% | 2.309 |
8
+ | math500 | dspark_k3 | 500 | 286.34 | 1.073x | 1774.14/2512.93 | 237.01/434.45 | 12.18/17.88 | 12.18/17.88 | 44.99% | 65.67%/42.25%/27.05% | 2.350 |
9
+ | math500 | dspark_k7 | 500 | 294.75 | 1.105x | 1725.25/2646.27 | 247.76/461.03 | 11.72/18.88 | 11.72/18.88 | 22.89% | 63.98%/39.64%/24.22% | 2.602 |
10
+ | gsm8k | baseline | 1319 | 280.58 | 1.000x | 1819.24/2167.76 | 217.05/398.45 | 12.64/15.22 | 12.64/15.22 | — | -/-/- | — |
11
+ | gsm8k | dflash_k3 | 1319 | 188.79 | 0.673x | 2702.38/3317.10 | 235.61/424.62 | 19.48/24.18 | 19.48/24.19 | 6.81% | 18.37%/1.86%/0.20% | 1.204 |
12
+ | gsm8k | dflash_k7 | 1319 | 188.46 | 0.672x | 2705.30/3477.26 | 301.18/834.45 | 18.98/23.59 | 18.98/23.59 | 2.74% | 17.14%/1.81%/0.20% | 1.192 |
13
+ | gsm8k | dflare_k3 | 1319 | 201.03 | 0.716x | 2536.44/3534.03 | 258.19/484.66 | 17.98/25.82 | 17.98/25.82 | 27.95% | 53.64%/21.51%/8.69% | 1.838 |
14
+ | gsm8k | dflare_k7 | 1319 | 154.41 | 0.550x | 3304.27/5885.10 | 1205.81/4089.58 | 16.56/27.05 | 16.56/27.06 | 12.83% | 54.22%/21.89%/9.37% | 1.898 |
15
+ | gsm8k | dspark_k3 | 1319 | 267.82 | 0.954x | 1904.86/2717.59 | 232.41/436.56 | 13.20/19.22 | 13.20/19.23 | 31.15% | 53.33%/25.75%/14.35% | 1.934 |
16
+ | gsm8k | dspark_k7 | 1319 | 256.27 | 0.913x | 1991.49/2946.94 | 240.23/457.41 | 13.82/21.07 | 13.82/21.07 | 14.63% | 53.19%/24.90%/13.31% | 2.024 |
17
+ | humaneval | baseline | 164 | 194.21 | 1.000x | 1403.54/2734.28 | 218.21/420.29 | 17.84/29.90 | 17.85/29.91 | — | -/-/- | — |
18
+ | humaneval | dflash_k3 | 164 | 147.26 | 0.758x | 1856.84/3610.00 | 250.89/497.85 | 24.55/42.01 | 24.56/42.02 | 5.95% | 16.41%/1.35%/0.08% | 1.179 |
19
+ | humaneval | dflash_k7 | 164 | 141.91 | 0.731x | 1877.28/3978.09 | 343.90/982.06 | 22.96/33.21 | 22.97/33.23 | 2.68% | 17.40%/1.31%/0.09% | 1.188 |
20
+ | humaneval | dflare_k3 | 164 | 194.56 | 1.002x | 1401.65/2758.01 | 307.73/627.48 | 17.78/33.04 | 17.78/33.05 | 58.74% | 77.35%/56.42%/42.44% | 2.762 |
21
+ | humaneval | dflare_k7 | 164 | 206.56 | 1.064x | 1296.23/2684.54 | 395.19/956.47 | 16.23/32.95 | 16.23/32.96 | 33.05% | 77.91%/56.44%/40.45% | 3.313 |
22
+ | humaneval | dspark_k3 | 164 | 234.79 | 1.209x | 1172.97/2107.93 | 265.30/502.88 | 14.78/29.63 | 14.78/29.64 | 59.91% | 76.53%/58.74%/44.47% | 2.797 |
23
+ | humaneval | dspark_k7 | 164 | 210.60 | 1.084x | 1276.63/2616.22 | 564.26/1681.50 | 12.49/25.28 | 12.49/25.28 | 35.09% | 74.01%/55.03%/39.85% | 3.457 |
24
+ | mbpp | baseline | 500 | 275.24 | 1.000x | 1788.02/2216.35 | 221.07/398.67 | 13.20/15.66 | 13.21/15.67 | — | -/-/- | — |
25
+ | mbpp | dflash_k3 | 500 | 189.94 | 0.690x | 2595.66/3320.97 | 234.11/439.53 | 19.14/23.96 | 19.15/23.96 | 6.46% | 18.25%/1.11%/0.04% | 1.194 |
26
+ | mbpp | dflash_k7 | 500 | 170.29 | 0.619x | 2875.58/4074.32 | 634.04/1885.92 | 18.20/24.69 | 18.21/24.70 | 2.85% | 18.78%/1.13%/0.05% | 1.200 |
27
+ | mbpp | dflare_k3 | 500 | 244.12 | 0.887x | 2016.51/2791.48 | 280.07/557.88 | 14.26/19.44 | 14.27/19.63 | 47.05% | 68.89%/44.50%/27.76% | 2.411 |
28
+ | mbpp | dflare_k7 | 500 | 184.84 | 0.672x | 2657.85/4488.95 | 1190.47/3259.46 | 12.45/22.86 | 12.46/22.86 | 24.66% | 67.13%/42.74%/25.45% | 2.726 |
29
+ | mbpp | dspark_k3 | 500 | 310.80 | 1.129x | 1592.68/2178.77 | 240.73/455.66 | 11.35/15.68 | 11.35/15.68 | 52.29% | 71.25%/50.82%/34.79% | 2.569 |
30
+ | mbpp | dspark_k7 | 500 | 274.50 | 0.997x | 1794.33/3171.44 | 643.14/2119.01 | 10.10/14.88 | 10.11/14.88 | 28.83% | 68.32%/47.02%/30.55% | 3.018 |
31
+ | mt_bench | baseline | 160 | 309.23 | 1.000x | 1607.62/2284.11 | 320.49/629.17 | 11.01/15.18 | 11.01/15.19 | — | -/-/- | — |
32
+ | mt_bench | dflash_k3 | 160 | 195.62 | 0.633x | 2573.23/3166.33 | 221.35/448.16 | 18.68/23.10 | 18.68/23.11 | 6.07% | 16.45%/1.71%/0.06% | 1.182 |
33
+ | mt_bench | dflash_k7 | 160 | 180.37 | 0.583x | 2753.90/3791.87 | 381.83/1026.59 | 21.71/25.58 | 21.71/25.58 | 2.48% | 15.47%/1.60%/0.12% | 1.173 |
34
+ | mt_bench | dflare_k3 | 160 | 225.31 | 0.729x | 2231.25/3333.71 | 248.97/520.00 | 15.78/23.60 | 15.78/23.60 | 32.30% | 57.50%/27.57%/11.81% | 1.969 |
35
+ | mt_bench | dflare_k7 | 160 | 133.91 | 0.433x | 3752.53/6717.97 | 1934.01/4820.78 | 14.32/29.83 | 14.32/29.83 | 14.58% | 56.90%/26.94%/11.54% | 2.021 |
36
+ | mt_bench | dspark_k3 | 160 | 282.93 | 0.915x | 1771.67/2604.84 | 252.12/503.80 | 12.36/19.15 | 12.36/19.15 | 36.54% | 58.03%/32.54%/19.06% | 2.096 |
37
+ | mt_bench | dspark_k7 | 160 | 224.25 | 0.725x | 2225.17/3657.94 | 838.84/2441.89 | 11.43/22.87 | 11.43/23.00 | 17.22% | 55.30%/29.97%/16.74% | 2.205 |
38
+ | ultrachat | baseline | 5000 | 155.46 | 1.000x | 3269.57/3934.88 | 231.24/386.99 | 24.09/28.91 | 24.09/28.91 | — | -/-/- | — |
39
+ | ultrachat | dflash_k3 | 5000 | 135.15 | 0.869x | 3763.95/4515.90 | 257.60/405.56 | 27.76/33.28 | 27.77/33.28 | 7.09% | 18.40%/2.57%/0.30% | 1.213 |
40
+ | ultrachat | dflash_k7 | 5000 | 134.03 | 0.862x | 3794.92/4543.27 | 255.94/399.63 | 28.03/33.56 | 28.03/33.56 | 3.07% | 18.54%/2.58%/0.31% | 1.215 |
41
+ | ultrachat | dflare_k3 | 5000 | 161.25 | 1.037x | 3155.82/4013.42 | 282.90/456.06 | 22.75/29.20 | 22.75/29.20 | 31.06% | 57.10%/26.00%/10.07% | 1.932 |
42
+ | ultrachat | dflare_k7 | 5000 | 157.88 | 1.016x | 3221.08/4123.29 | 352.64/612.31 | 22.73/29.63 | 22.73/29.63 | 14.37% | 57.63%/26.59%/10.33% | 2.006 |
43
+ | ultrachat | dspark_k3 | 5000 | 190.92 | 1.228x | 2665.16/3441.95 | 264.37/429.11 | 19.01/24.80 | 19.01/24.80 | 32.40% | 55.58%/28.18%/13.44% | 1.972 |
44
+ | ultrachat | dspark_k7 | 5000 | 189.60 | 1.220x | 2683.34/3469.80 | 287.66/433.69 | 18.97/25.07 | 18.97/25.07 | 15.40% | 55.21%/27.94%/13.27% | 2.078 |
benchmarks/bs4/results.json ADDED
@@ -0,0 +1,1304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "dataset": "math500",
4
+ "run": "baseline",
5
+ "method": "baseline",
6
+ "num_speculative_tokens": null,
7
+ "requests": 500,
8
+ "output_tokens": 63527,
9
+ "request_throughput_rps": 2.0994279500650657,
10
+ "output_throughput_tps": 266.7407187675668,
11
+ "speedup_vs_baseline": 1.0,
12
+ "latency_mean_ms": 1901.9527513722423,
13
+ "latency_p50_ms": 1894.7456854948541,
14
+ "latency_p95_ms": 2310.2332794354875,
15
+ "latency_p99_ms": 2623.0439431988634,
16
+ "ttft_mean_ms": 211.01336648262804,
17
+ "ttft_p50_ms": 200.41962849791162,
18
+ "ttft_p95_ms": 379.0829671488606,
19
+ "ttft_p99_ms": 495.6532387045445,
20
+ "itl_mean_ms": 13.40169340837536,
21
+ "itl_p50_ms": 13.301524035513445,
22
+ "itl_p95_ms": 16.309320616836498,
23
+ "itl_p99_ms": 19.31773654766166,
24
+ "tpot_mean_ms": 13.403480814341385,
25
+ "tpot_p50_ms": 13.303263444846724,
26
+ "tpot_p95_ms": 16.311841278199893,
27
+ "acceptance_rate": null,
28
+ "acceptance_pos_1": null,
29
+ "acceptance_pos_2": null,
30
+ "acceptance_pos_3": null,
31
+ "mean_acceptance_length": null
32
+ },
33
+ {
34
+ "dataset": "math500",
35
+ "run": "dflash_k3",
36
+ "method": "dflash",
37
+ "num_speculative_tokens": 3,
38
+ "requests": 500,
39
+ "output_tokens": 63537,
40
+ "request_throughput_rps": 1.4572988369276767,
41
+ "output_throughput_tps": 185.18479240374757,
42
+ "speedup_vs_baseline": 0.694250181447229,
43
+ "latency_mean_ms": 2740.524441106001,
44
+ "latency_p50_ms": 2728.2846120000104,
45
+ "latency_p95_ms": 3396.0575988000182,
46
+ "latency_p99_ms": 3908.6018861800358,
47
+ "ttft_mean_ms": 232.72850664999817,
48
+ "ttft_p50_ms": 208.99405350002098,
49
+ "ttft_p95_ms": 422.7843856499816,
50
+ "ttft_p99_ms": 635.657571979995,
51
+ "itl_mean_ms": 19.894394063291394,
52
+ "itl_p50_ms": 19.884664330708496,
53
+ "itl_p95_ms": 24.709495220472647,
54
+ "itl_p99_ms": 27.384374742046813,
55
+ "tpot_mean_ms": 19.89611259958302,
56
+ "tpot_p50_ms": 19.88607477952736,
57
+ "tpot_p95_ms": 24.71110046456739,
58
+ "acceptance_rate": 0.06285151149944762,
59
+ "acceptance_pos_1": 0.16639047905995782,
60
+ "acceptance_pos_2": 0.019716028924374813,
61
+ "acceptance_pos_3": 0.002448026514010244,
62
+ "mean_acceptance_length": 1.1885545344983428
63
+ },
64
+ {
65
+ "dataset": "math500",
66
+ "run": "dflash_k7",
67
+ "method": "dflash",
68
+ "num_speculative_tokens": 7,
69
+ "requests": 500,
70
+ "output_tokens": 63468,
71
+ "request_throughput_rps": 1.484521663636696,
72
+ "output_throughput_tps": 188.43924189538765,
73
+ "speedup_vs_baseline": 0.7064509789358043,
74
+ "latency_mean_ms": 2690.2326844700183,
75
+ "latency_p50_ms": 2693.1952875002025,
76
+ "latency_p95_ms": 3411.2693664001654,
77
+ "latency_p99_ms": 3642.2530803891277,
78
+ "ttft_mean_ms": 223.1485508320311,
79
+ "ttft_p50_ms": 201.97454650042346,
80
+ "ttft_p95_ms": 410.6845789998714,
81
+ "ttft_p99_ms": 603.7728062999304,
82
+ "itl_mean_ms": 19.605501851902595,
83
+ "itl_p50_ms": 19.610514098427146,
84
+ "itl_p95_ms": 24.830368157877164,
85
+ "itl_p99_ms": 27.14365097669306,
86
+ "tpot_mean_ms": 19.607220136180974,
87
+ "tpot_p50_ms": 19.612673795280877,
88
+ "tpot_p95_ms": 24.8317818901585,
89
+ "acceptance_rate": 0.02742245654217219,
90
+ "acceptance_pos_1": 0.1686266354080012,
91
+ "acceptance_pos_2": 0.020192089540951374,
92
+ "acceptance_pos_3": 0.0026090902215836044,
93
+ "mean_acceptance_length": 1.1919571957952053
94
+ },
95
+ {
96
+ "dataset": "math500",
97
+ "run": "dflare_k3",
98
+ "method": "dflare",
99
+ "num_speculative_tokens": 3,
100
+ "requests": 500,
101
+ "output_tokens": 63495,
102
+ "request_throughput_rps": 1.7148645616582274,
103
+ "output_throughput_tps": 217.7706506849783,
104
+ "speedup_vs_baseline": 0.8164132258889946,
105
+ "latency_mean_ms": 2328.9442384679533,
106
+ "latency_p50_ms": 2273.6253690000012,
107
+ "latency_p95_ms": 3331.7489405495494,
108
+ "latency_p99_ms": 3864.866585709678,
109
+ "ttft_mean_ms": 279.50968451999506,
110
+ "ttft_p50_ms": 263.16054300059477,
111
+ "ttft_p95_ms": 506.23001639960404,
112
+ "ttft_p99_ms": 776.1183005902055,
113
+ "itl_mean_ms": 16.27184360810761,
114
+ "itl_p50_ms": 15.999782673234437,
115
+ "itl_p95_ms": 23.205805455507797,
116
+ "itl_p99_ms": 27.393199366532944,
117
+ "tpot_mean_ms": 16.273605324281704,
118
+ "tpot_p50_ms": 16.000888346459,
119
+ "tpot_p95_ms": 23.207303030310158,
120
+ "acceptance_rate": 0.3935291759720552,
121
+ "acceptance_pos_1": 0.6488919429651263,
122
+ "acceptance_pos_2": 0.35275725820305787,
123
+ "acceptance_pos_3": 0.17893832674798144,
124
+ "mean_acceptance_length": 2.1805875279161655
125
+ },
126
+ {
127
+ "dataset": "math500",
128
+ "run": "dflare_k7",
129
+ "method": "dflare",
130
+ "num_speculative_tokens": 7,
131
+ "requests": 500,
132
+ "output_tokens": 63622,
133
+ "request_throughput_rps": 1.7760438758773052,
134
+ "output_throughput_tps": 225.9909269421318,
135
+ "speedup_vs_baseline": 0.8472307039820806,
136
+ "latency_mean_ms": 2249.2024364179815,
137
+ "latency_p50_ms": 2185.3041670019593,
138
+ "latency_p95_ms": 3338.340588499702,
139
+ "latency_p99_ms": 4000.3402635519888,
140
+ "ttft_mean_ms": 263.0280147520243,
141
+ "ttft_p50_ms": 252.19799500155204,
142
+ "ttft_p95_ms": 475.0075314999774,
143
+ "ttft_p99_ms": 595.4660286509533,
144
+ "itl_mean_ms": 15.760428864173193,
145
+ "itl_p50_ms": 15.345385657476402,
146
+ "itl_p95_ms": 24.247727375981995,
147
+ "itl_p99_ms": 29.25197200714273,
148
+ "tpot_mean_ms": 15.762062569323362,
149
+ "tpot_p50_ms": 15.347322909449966,
150
+ "tpot_p95_ms": 24.248864364582953,
151
+ "acceptance_rate": 0.18693377898042707,
152
+ "acceptance_pos_1": 0.6466625620223824,
153
+ "acceptance_pos_2": 0.3548223534098729,
154
+ "acceptance_pos_3": 0.17529245590525516,
155
+ "mean_acceptance_length": 2.3085364528629895
156
+ },
157
+ {
158
+ "dataset": "math500",
159
+ "run": "dspark_k3",
160
+ "method": "dspark",
161
+ "num_speculative_tokens": 3,
162
+ "requests": 500,
163
+ "output_tokens": 63636,
164
+ "request_throughput_rps": 2.2498034619335257,
165
+ "output_throughput_tps": 286.33698620720367,
166
+ "speedup_vs_baseline": 1.0734656018405375,
167
+ "latency_mean_ms": 1774.1428698560267,
168
+ "latency_p50_ms": 1733.4975750000012,
169
+ "latency_p95_ms": 2512.932257099783,
170
+ "latency_p99_ms": 2941.1046552174953,
171
+ "ttft_mean_ms": 237.00501048202568,
172
+ "ttft_p50_ms": 212.508828000864,
173
+ "ttft_p95_ms": 434.44543489968055,
174
+ "ttft_p99_ms": 581.4404782277412,
175
+ "itl_mean_ms": 12.18272455456093,
176
+ "itl_p50_ms": 11.912186838580821,
177
+ "itl_p95_ms": 17.877204798435372,
178
+ "itl_p99_ms": 22.473681951484796,
179
+ "tpot_mean_ms": 12.18441765344298,
180
+ "tpot_p50_ms": 11.913581936995776,
181
+ "tpot_p95_ms": 17.87863581495454,
182
+ "acceptance_rate": 0.4499175952574226,
183
+ "acceptance_pos_1": 0.6567411999114456,
184
+ "acceptance_pos_2": 0.42247804590067156,
185
+ "acceptance_pos_3": 0.27053353996015056,
186
+ "mean_acceptance_length": 2.3497527857722678
187
+ },
188
+ {
189
+ "dataset": "math500",
190
+ "run": "dspark_k7",
191
+ "method": "dspark",
192
+ "num_speculative_tokens": 7,
193
+ "requests": 500,
194
+ "output_tokens": 63621,
195
+ "request_throughput_rps": 2.316449613127783,
196
+ "output_throughput_tps": 294.7496816736054,
197
+ "speedup_vs_baseline": 1.1050044516467135,
198
+ "latency_mean_ms": 1725.2525323180525,
199
+ "latency_p50_ms": 1675.7616530012456,
200
+ "latency_p95_ms": 2646.2700289983313,
201
+ "latency_p99_ms": 3227.1719797111646,
202
+ "ttft_mean_ms": 247.76108907210437,
203
+ "ttft_p50_ms": 221.10979600074643,
204
+ "ttft_p95_ms": 461.0275230510521,
205
+ "ttft_p99_ms": 670.7492681724033,
206
+ "itl_mean_ms": 11.723149998862587,
207
+ "itl_p50_ms": 11.28927224801989,
208
+ "itl_p95_ms": 18.88152986101506,
209
+ "itl_p99_ms": 22.771947493768472,
210
+ "tpot_mean_ms": 11.72477114787681,
211
+ "tpot_p50_ms": 11.290766421259073,
212
+ "tpot_p95_ms": 18.882649400401576,
213
+ "acceptance_rate": 0.22890383017299992,
214
+ "acceptance_pos_1": 0.6397510474718301,
215
+ "acceptance_pos_2": 0.3964121547410812,
216
+ "acceptance_pos_3": 0.24219989423585406,
217
+ "mean_acceptance_length": 2.6023268112109994
218
+ },
219
+ {
220
+ "dataset": "gsm8k",
221
+ "run": "baseline",
222
+ "method": "baseline",
223
+ "num_speculative_tokens": null,
224
+ "requests": 1319,
225
+ "output_tokens": 168502,
226
+ "request_throughput_rps": 2.196360834095345,
227
+ "output_throughput_tps": 280.5846802628763,
228
+ "speedup_vs_baseline": 1.0,
229
+ "latency_mean_ms": 1819.2423071760666,
230
+ "latency_p50_ms": 1798.3721370110288,
231
+ "latency_p95_ms": 2167.7596873778384,
232
+ "latency_p99_ms": 2310.5863884446435,
233
+ "ttft_mean_ms": 217.04894016683772,
234
+ "ttft_p50_ms": 191.49014502181672,
235
+ "ttft_p95_ms": 398.45379750477116,
236
+ "ttft_p99_ms": 646.2297889695037,
237
+ "itl_mean_ms": 12.638841870584082,
238
+ "itl_p50_ms": 12.576321425240883,
239
+ "itl_p95_ms": 15.217476899920795,
240
+ "itl_p99_ms": 16.315808897562086,
241
+ "tpot_mean_ms": 12.640636354922657,
242
+ "tpot_p50_ms": 12.58000173247566,
243
+ "tpot_p95_ms": 15.218959284321164,
244
+ "acceptance_rate": null,
245
+ "acceptance_pos_1": null,
246
+ "acceptance_pos_2": null,
247
+ "acceptance_pos_3": null,
248
+ "mean_acceptance_length": null
249
+ },
250
+ {
251
+ "dataset": "gsm8k",
252
+ "run": "dflash_k3",
253
+ "method": "dflash",
254
+ "num_speculative_tokens": 3,
255
+ "requests": 1319,
256
+ "output_tokens": 168356,
257
+ "request_throughput_rps": 1.4790952868779552,
258
+ "output_throughput_tps": 188.79042162064067,
259
+ "speedup_vs_baseline": 0.6728465055318247,
260
+ "latency_mean_ms": 2702.3829456360854,
261
+ "latency_p50_ms": 2683.6698380000144,
262
+ "latency_p95_ms": 3317.1016436999594,
263
+ "latency_p99_ms": 3597.6961572799746,
264
+ "ttft_mean_ms": 235.6068064935536,
265
+ "ttft_p50_ms": 221.15605599992705,
266
+ "ttft_p95_ms": 424.62412700004944,
267
+ "ttft_p99_ms": 526.131548720104,
268
+ "itl_mean_ms": 19.477842147847973,
269
+ "itl_p50_ms": 19.355762133858388,
270
+ "itl_p95_ms": 24.183653737845873,
271
+ "itl_p99_ms": 26.07432056251997,
272
+ "tpot_mean_ms": 19.479491279517458,
273
+ "tpot_p50_ms": 19.357246826771867,
274
+ "tpot_p95_ms": 24.18510518785972,
275
+ "acceptance_rate": 0.0680806946304376,
276
+ "acceptance_pos_1": 0.18367244085417656,
277
+ "acceptance_pos_2": 0.018568116693305686,
278
+ "acceptance_pos_3": 0.002001526343830547,
279
+ "mean_acceptance_length": 1.2042420838913128
280
+ },
281
+ {
282
+ "dataset": "gsm8k",
283
+ "run": "dflash_k7",
284
+ "method": "dflash",
285
+ "num_speculative_tokens": 7,
286
+ "requests": 1319,
287
+ "output_tokens": 168367,
288
+ "request_throughput_rps": 1.4764153266187332,
289
+ "output_throughput_tps": 188.46066663898122,
290
+ "speedup_vs_baseline": 0.6716712632436481,
291
+ "latency_mean_ms": 2705.295749132689,
292
+ "latency_p50_ms": 2679.983797999739,
293
+ "latency_p95_ms": 3477.261450399509,
294
+ "latency_p99_ms": 4079.732661799678,
295
+ "ttft_mean_ms": 301.1807209363258,
296
+ "ttft_p50_ms": 224.2310860001453,
297
+ "ttft_p95_ms": 834.4522548001792,
298
+ "ttft_p99_ms": 1980.7203211395963,
299
+ "itl_mean_ms": 18.978770912763007,
300
+ "itl_p50_ms": 19.034192118114312,
301
+ "itl_p95_ms": 23.592571637004227,
302
+ "itl_p99_ms": 25.352459187087952,
303
+ "tpot_mean_ms": 18.980617877378993,
304
+ "tpot_p50_ms": 19.03604929134238,
305
+ "tpot_p95_ms": 23.594471511024295,
306
+ "acceptance_rate": 0.027380290750817878,
307
+ "acceptance_pos_1": 0.17135507958901572,
308
+ "acceptance_pos_2": 0.018069627919570206,
309
+ "acceptance_pos_3": 0.001987944081056817,
310
+ "mean_acceptance_length": 1.1916620352557252
311
+ },
312
+ {
313
+ "dataset": "gsm8k",
314
+ "run": "dflare_k3",
315
+ "method": "dflare",
316
+ "num_speculative_tokens": 3,
317
+ "requests": 1319,
318
+ "output_tokens": 168415,
319
+ "request_throughput_rps": 1.574435488473932,
320
+ "output_throughput_tps": 201.0299869532504,
321
+ "speedup_vs_baseline": 0.7164681505950642,
322
+ "latency_mean_ms": 2536.437202144023,
323
+ "latency_p50_ms": 2473.5267859996384,
324
+ "latency_p95_ms": 3534.031745998982,
325
+ "latency_p99_ms": 4064.8575092010615,
326
+ "ttft_mean_ms": 258.1910506959681,
327
+ "ttft_p50_ms": 238.57910900005663,
328
+ "ttft_p95_ms": 484.66444300011057,
329
+ "ttft_p99_ms": 598.7782853190582,
330
+ "itl_mean_ms": 17.977036765777857,
331
+ "itl_p50_ms": 17.445515787392107,
332
+ "itl_p95_ms": 25.81660302204809,
333
+ "itl_p99_ms": 30.753264190233132,
334
+ "tpot_mean_ms": 17.978638165785107,
335
+ "tpot_p50_ms": 17.446966267718064,
336
+ "tpot_p95_ms": 25.818113115744246,
337
+ "acceptance_rate": 0.2794753137068277,
338
+ "acceptance_pos_1": 0.536425000273502,
339
+ "acceptance_pos_2": 0.21512575623311125,
340
+ "acceptance_pos_3": 0.08687518461386984,
341
+ "mean_acceptance_length": 1.838425941120483
342
+ },
343
+ {
344
+ "dataset": "gsm8k",
345
+ "run": "dflare_k7",
346
+ "method": "dflare",
347
+ "num_speculative_tokens": 7,
348
+ "requests": 1319,
349
+ "output_tokens": 168400,
350
+ "request_throughput_rps": 1.2094482721851378,
351
+ "output_throughput_tps": 154.41325931461503,
352
+ "speedup_vs_baseline": 0.5503267647041427,
353
+ "latency_mean_ms": 3304.2710242100056,
354
+ "latency_p50_ms": 3064.5563209982356,
355
+ "latency_p95_ms": 5885.097530001435,
356
+ "latency_p99_ms": 7240.322633720641,
357
+ "ttft_mean_ms": 1205.8129131272765,
358
+ "ttft_p50_ms": 677.296675999969,
359
+ "ttft_p95_ms": 4089.5798977991944,
360
+ "ttft_p99_ms": 5644.379561060411,
361
+ "itl_mean_ms": 16.556715234828605,
362
+ "itl_p50_ms": 16.74034803936521,
363
+ "itl_p95_ms": 27.050037795280637,
364
+ "itl_p99_ms": 35.51621275700378,
365
+ "tpot_mean_ms": 16.558478447758667,
366
+ "tpot_p50_ms": 16.743846314973666,
367
+ "tpot_p95_ms": 27.058657145679476,
368
+ "acceptance_rate": 0.12825457741085033,
369
+ "acceptance_pos_1": 0.5421524916756024,
370
+ "acceptance_pos_2": 0.21891754613691516,
371
+ "acceptance_pos_3": 0.09374118178226762,
372
+ "mean_acceptance_length": 1.8977820418759523
373
+ },
374
+ {
375
+ "dataset": "gsm8k",
376
+ "run": "dspark_k3",
377
+ "method": "dspark",
378
+ "num_speculative_tokens": 3,
379
+ "requests": 1319,
380
+ "output_tokens": 168413,
381
+ "request_throughput_rps": 2.0975172075679485,
382
+ "output_throughput_tps": 267.81589497963677,
383
+ "speedup_vs_baseline": 0.954492222200882,
384
+ "latency_mean_ms": 1904.8592331402729,
385
+ "latency_p50_ms": 1849.926056998811,
386
+ "latency_p95_ms": 2717.593596396909,
387
+ "latency_p99_ms": 3128.5920352824137,
388
+ "ttft_mean_ms": 232.41419941998183,
389
+ "ttft_p50_ms": 211.30282399826683,
390
+ "ttft_p95_ms": 436.5587686021171,
391
+ "ttft_p99_ms": 608.768046818439,
392
+ "itl_mean_ms": 13.20091798661006,
393
+ "itl_p50_ms": 12.809261669308327,
394
+ "itl_p95_ms": 19.22371915434054,
395
+ "itl_p99_ms": 22.673929599071368,
396
+ "tpot_mean_ms": 13.202611622505504,
397
+ "tpot_p50_ms": 12.810728181104036,
398
+ "tpot_p95_ms": 19.225053650402195,
399
+ "acceptance_rate": 0.31145141140312554,
400
+ "acceptance_pos_1": 0.5333057414177645,
401
+ "acceptance_pos_2": 0.2575245453082247,
402
+ "acceptance_pos_3": 0.14352394748338737,
403
+ "mean_acceptance_length": 1.9343542342093767
404
+ },
405
+ {
406
+ "dataset": "gsm8k",
407
+ "run": "dspark_k7",
408
+ "method": "dspark",
409
+ "num_speculative_tokens": 7,
410
+ "requests": 1319,
411
+ "output_tokens": 168420,
412
+ "request_throughput_rps": 2.0069879067415446,
413
+ "output_throughput_tps": 256.2675536417065,
414
+ "speedup_vs_baseline": 0.9133340900922055,
415
+ "latency_mean_ms": 1991.4858750174596,
416
+ "latency_p50_ms": 1940.2353619989299,
417
+ "latency_p95_ms": 2946.936268898934,
418
+ "latency_p99_ms": 3409.506298801133,
419
+ "ttft_mean_ms": 240.2313964965955,
420
+ "ttft_p50_ms": 217.0051639986923,
421
+ "ttft_p95_ms": 457.4054478005564,
422
+ "ttft_p99_ms": 621.9962791216665,
423
+ "itl_mean_ms": 13.815387803215751,
424
+ "itl_p50_ms": 13.491749685057384,
425
+ "itl_p95_ms": 21.069445844088154,
426
+ "itl_p99_ms": 24.68408968393126,
427
+ "tpot_mean_ms": 13.817049546266604,
428
+ "tpot_p50_ms": 13.493896850398981,
429
+ "tpot_p95_ms": 21.07079229370886,
430
+ "acceptance_rate": 0.1463064478504878,
431
+ "acceptance_pos_1": 0.5319253673998655,
432
+ "acceptance_pos_2": 0.2490394774757468,
433
+ "acceptance_pos_3": 0.13306838920372682,
434
+ "mean_acceptance_length": 2.0241451349534145
435
+ },
436
+ {
437
+ "dataset": "humaneval",
438
+ "run": "baseline",
439
+ "method": "baseline",
440
+ "num_speculative_tokens": null,
441
+ "requests": 164,
442
+ "output_tokens": 11229,
443
+ "request_throughput_rps": 2.83651766504482,
444
+ "output_throughput_tps": 194.21498085846514,
445
+ "speedup_vs_baseline": 1.0,
446
+ "latency_mean_ms": 1403.542471638946,
447
+ "latency_p50_ms": 1171.1717744910857,
448
+ "latency_p95_ms": 2734.2781511018984,
449
+ "latency_p99_ms": 3048.235554893327,
450
+ "ttft_mean_ms": 218.20821551103487,
451
+ "ttft_p50_ms": 209.54365949728526,
452
+ "ttft_p95_ms": 420.2904565172503,
453
+ "ttft_p99_ms": 467.85162955609854,
454
+ "itl_mean_ms": 17.843567054063506,
455
+ "itl_p50_ms": 17.024532066210227,
456
+ "itl_p95_ms": 29.900638077389125,
457
+ "itl_p99_ms": 38.85421750062092,
458
+ "tpot_mean_ms": 17.849692097307134,
459
+ "tpot_p50_ms": 17.028038263717008,
460
+ "tpot_p95_ms": 29.90535920137036,
461
+ "acceptance_rate": null,
462
+ "acceptance_pos_1": null,
463
+ "acceptance_pos_2": null,
464
+ "acceptance_pos_3": null,
465
+ "mean_acceptance_length": null
466
+ },
467
+ {
468
+ "dataset": "humaneval",
469
+ "run": "dflash_k3",
470
+ "method": "dflash",
471
+ "num_speculative_tokens": 3,
472
+ "requests": 164,
473
+ "output_tokens": 11292,
474
+ "request_throughput_rps": 2.1388107405014773,
475
+ "output_throughput_tps": 147.26494440087,
476
+ "speedup_vs_baseline": 0.7582573895686753,
477
+ "latency_mean_ms": 1856.8446467317099,
478
+ "latency_p50_ms": 1529.8299214999815,
479
+ "latency_p95_ms": 3609.9989535499276,
480
+ "latency_p99_ms": 4076.3032318901037,
481
+ "ttft_mean_ms": 250.89464046951855,
482
+ "ttft_p50_ms": 233.70097149984304,
483
+ "ttft_p95_ms": 497.8459723500346,
484
+ "ttft_p99_ms": 638.7824368799534,
485
+ "itl_mean_ms": 24.549073372278432,
486
+ "itl_p50_ms": 22.60172811232828,
487
+ "itl_p95_ms": 42.012251182637584,
488
+ "itl_p99_ms": 51.31418752062339,
489
+ "tpot_mean_ms": 24.555336995750512,
490
+ "tpot_p50_ms": 22.603792561644838,
491
+ "tpot_p95_ms": 42.01500447592228,
492
+ "acceptance_rate": 0.059506172839506176,
493
+ "acceptance_pos_1": 0.16412698412698412,
494
+ "acceptance_pos_2": 0.013544973544973546,
495
+ "acceptance_pos_3": 0.0008465608465608466,
496
+ "mean_acceptance_length": 1.1785185185185185
497
+ },
498
+ {
499
+ "dataset": "humaneval",
500
+ "run": "dflash_k7",
501
+ "method": "dflash",
502
+ "num_speculative_tokens": 7,
503
+ "requests": 164,
504
+ "output_tokens": 11052,
505
+ "request_throughput_rps": 2.1057562192267367,
506
+ "output_throughput_tps": 141.90742521276766,
507
+ "speedup_vs_baseline": 0.7306718801274306,
508
+ "latency_mean_ms": 1877.2794746829145,
509
+ "latency_p50_ms": 1504.3869174996871,
510
+ "latency_p95_ms": 3978.088593899155,
511
+ "latency_p99_ms": 4819.554965540591,
512
+ "ttft_mean_ms": 343.89938129273037,
513
+ "ttft_p50_ms": 254.9212224994335,
514
+ "ttft_p95_ms": 982.0552947493524,
515
+ "ttft_p99_ms": 1265.2674350103007,
516
+ "itl_mean_ms": 22.96417710011784,
517
+ "itl_p50_ms": 22.33989236389506,
518
+ "itl_p95_ms": 33.208631611878445,
519
+ "itl_p99_ms": 43.04405845282055,
520
+ "tpot_mean_ms": 22.970011297649936,
521
+ "tpot_p50_ms": 22.34099295422598,
522
+ "tpot_p95_ms": 33.23066878742338,
523
+ "acceptance_rate": 0.02684898226160627,
524
+ "acceptance_pos_1": 0.17398888040989863,
525
+ "acceptance_pos_2": 0.013081870707511174,
526
+ "acceptance_pos_3": 0.0008721247138340783,
527
+ "mean_acceptance_length": 1.1879428758312438
528
+ },
529
+ {
530
+ "dataset": "humaneval",
531
+ "run": "dflare_k3",
532
+ "method": "dflare",
533
+ "num_speculative_tokens": 3,
534
+ "requests": 164,
535
+ "output_tokens": 11277,
536
+ "request_throughput_rps": 2.8294040460667382,
537
+ "output_throughput_tps": 194.55603309447932,
538
+ "speedup_vs_baseline": 1.0017560552461333,
539
+ "latency_mean_ms": 1401.6537050121503,
540
+ "latency_p50_ms": 1262.2241380004198,
541
+ "latency_p95_ms": 2758.0062766009178,
542
+ "latency_p99_ms": 3165.725670439934,
543
+ "ttft_mean_ms": 307.73021359141796,
544
+ "ttft_p50_ms": 282.3090209994916,
545
+ "ttft_p95_ms": 627.4767150008302,
546
+ "ttft_p99_ms": 760.1846476996616,
547
+ "itl_mean_ms": 17.775962665717213,
548
+ "itl_p50_ms": 16.24701220755945,
549
+ "itl_p95_ms": 33.04292447846012,
550
+ "itl_p99_ms": 49.24142361158533,
551
+ "tpot_mean_ms": 17.781789938797445,
552
+ "tpot_p50_ms": 16.250892179999738,
553
+ "tpot_p95_ms": 33.04544840657803,
554
+ "acceptance_rate": 0.5873682476943346,
555
+ "acceptance_pos_1": 0.7734683794466403,
556
+ "acceptance_pos_2": 0.5642292490118577,
557
+ "acceptance_pos_3": 0.4244071146245059,
558
+ "mean_acceptance_length": 2.762104743083004
559
+ },
560
+ {
561
+ "dataset": "humaneval",
562
+ "run": "dflare_k7",
563
+ "method": "dflare",
564
+ "num_speculative_tokens": 7,
565
+ "requests": 164,
566
+ "output_tokens": 11047,
567
+ "request_throughput_rps": 3.0665775841960174,
568
+ "output_throughput_tps": 206.5639181256915,
569
+ "speedup_vs_baseline": 1.0635838554402026,
570
+ "latency_mean_ms": 1296.2304299939337,
571
+ "latency_p50_ms": 1225.3228209992812,
572
+ "latency_p95_ms": 2684.5432901496665,
573
+ "latency_p99_ms": 3137.9315633195806,
574
+ "ttft_mean_ms": 395.1852547253976,
575
+ "ttft_p50_ms": 324.23020049827755,
576
+ "ttft_p95_ms": 956.4745560996016,
577
+ "ttft_p99_ms": 1385.3407927481385,
578
+ "itl_mean_ms": 16.226717747252554,
579
+ "itl_p50_ms": 13.57385855245207,
580
+ "itl_p95_ms": 32.95489575833981,
581
+ "itl_p99_ms": 75.28418661784087,
582
+ "tpot_mean_ms": 16.23359719581637,
583
+ "tpot_p50_ms": 13.576510465236616,
584
+ "tpot_p95_ms": 32.96468897523092,
585
+ "acceptance_rate": 0.33047302832995556,
586
+ "acceptance_pos_1": 0.7790522185330516,
587
+ "acceptance_pos_2": 0.5644431029278599,
588
+ "acceptance_pos_3": 0.4044672502263809,
589
+ "mean_acceptance_length": 3.3133111983096892
590
+ },
591
+ {
592
+ "dataset": "humaneval",
593
+ "run": "dspark_k3",
594
+ "method": "dspark",
595
+ "num_speculative_tokens": 3,
596
+ "requests": 164,
597
+ "output_tokens": 11346,
598
+ "request_throughput_rps": 3.393797033660498,
599
+ "output_throughput_tps": 234.79281185312203,
600
+ "speedup_vs_baseline": 1.2089325489480554,
601
+ "latency_mean_ms": 1172.9745371464626,
602
+ "latency_p50_ms": 1033.1892974991206,
603
+ "latency_p95_ms": 2107.933460299682,
604
+ "latency_p99_ms": 3156.528969858848,
605
+ "ttft_mean_ms": 265.29695418294733,
606
+ "ttft_p50_ms": 228.4132034983486,
607
+ "ttft_p95_ms": 502.8849432006609,
608
+ "ttft_p99_ms": 699.91048091968,
609
+ "itl_mean_ms": 14.77773082701616,
610
+ "itl_p50_ms": 13.023184389006781,
611
+ "itl_p95_ms": 29.633302174848463,
612
+ "itl_p99_ms": 45.321116141877226,
613
+ "tpot_mean_ms": 14.783925134182368,
614
+ "tpot_p50_ms": 13.039449575903792,
615
+ "tpot_p95_ms": 29.64001845995613,
616
+ "acceptance_rate": 0.5991372158619546,
617
+ "acceptance_pos_1": 0.7653061224489796,
618
+ "acceptance_pos_2": 0.587356893977103,
619
+ "acceptance_pos_3": 0.44474863115978097,
620
+ "mean_acceptance_length": 2.7974116475858635
621
+ },
622
+ {
623
+ "dataset": "humaneval",
624
+ "run": "dspark_k7",
625
+ "method": "dspark",
626
+ "num_speculative_tokens": 7,
627
+ "requests": 164,
628
+ "output_tokens": 11058,
629
+ "request_throughput_rps": 3.1234019762512726,
630
+ "output_throughput_tps": 210.6010917889425,
631
+ "speedup_vs_baseline": 1.08437099372071,
632
+ "latency_mean_ms": 1276.6294960669388,
633
+ "latency_p50_ms": 1098.64930799813,
634
+ "latency_p95_ms": 2616.217871799927,
635
+ "latency_p99_ms": 3188.0119062716053,
636
+ "ttft_mean_ms": 564.2550010548891,
637
+ "ttft_p50_ms": 336.2399385005119,
638
+ "ttft_p95_ms": 1681.4955957521306,
639
+ "ttft_p99_ms": 2938.6766085621284,
640
+ "itl_mean_ms": 12.486812538079404,
641
+ "itl_p50_ms": 11.807729195672675,
642
+ "itl_p95_ms": 25.278697270681064,
643
+ "itl_p99_ms": 43.8447163140126,
644
+ "tpot_mean_ms": 12.494207252966246,
645
+ "tpot_p50_ms": 11.83652314342243,
646
+ "tpot_p95_ms": 25.281766504248417,
647
+ "acceptance_rate": 0.35094729280775794,
648
+ "acceptance_pos_1": 0.740100565681961,
649
+ "acceptance_pos_2": 0.5502828409805154,
650
+ "acceptance_pos_3": 0.39849151477058453,
651
+ "mean_acceptance_length": 3.4566310496543053
652
+ },
653
+ {
654
+ "dataset": "mbpp",
655
+ "run": "baseline",
656
+ "method": "baseline",
657
+ "num_speculative_tokens": null,
658
+ "requests": 500,
659
+ "output_tokens": 61587,
660
+ "request_throughput_rps": 2.23460184339787,
661
+ "output_throughput_tps": 275.2448474586892,
662
+ "speedup_vs_baseline": 1.0,
663
+ "latency_mean_ms": 1788.0222868800047,
664
+ "latency_p50_ms": 1819.359868997708,
665
+ "latency_p95_ms": 2216.346881000209,
666
+ "latency_p99_ms": 2362.3936853421037,
667
+ "ttft_mean_ms": 221.07102080830373,
668
+ "ttft_p50_ms": 204.21197451651096,
669
+ "ttft_p95_ms": 398.6740397042012,
670
+ "ttft_p99_ms": 655.3067808030755,
671
+ "itl_mean_ms": 13.201886877023522,
672
+ "itl_p50_ms": 12.736825452678412,
673
+ "itl_p95_ms": 15.664009772456069,
674
+ "itl_p99_ms": 17.321856500478695,
675
+ "tpot_mean_ms": 13.205948736768402,
676
+ "tpot_p50_ms": 12.738972996026057,
677
+ "tpot_p95_ms": 15.67098670536386,
678
+ "acceptance_rate": null,
679
+ "acceptance_pos_1": null,
680
+ "acceptance_pos_2": null,
681
+ "acceptance_pos_3": null,
682
+ "mean_acceptance_length": null
683
+ },
684
+ {
685
+ "dataset": "mbpp",
686
+ "run": "dflash_k3",
687
+ "method": "dflash",
688
+ "num_speculative_tokens": 3,
689
+ "requests": 500,
690
+ "output_tokens": 61808,
691
+ "request_throughput_rps": 1.5365610042290248,
692
+ "output_throughput_tps": 189.94352509877513,
693
+ "speedup_vs_baseline": 0.690089303587357,
694
+ "latency_mean_ms": 2595.6573488480017,
695
+ "latency_p50_ms": 2617.603001500015,
696
+ "latency_p95_ms": 3320.9663893999277,
697
+ "latency_p99_ms": 3516.577585000016,
698
+ "ttft_mean_ms": 234.1106791739985,
699
+ "ttft_p50_ms": 218.79009800011318,
700
+ "ttft_p95_ms": 439.53066730014143,
701
+ "ttft_p99_ms": 544.9614302001191,
702
+ "itl_mean_ms": 19.14316073130201,
703
+ "itl_p50_ms": 18.9773965472434,
704
+ "itl_p95_ms": 23.96081993622043,
705
+ "itl_p99_ms": 25.695518167638486,
706
+ "tpot_mean_ms": 19.146981896371145,
707
+ "tpot_p50_ms": 18.978798267717032,
708
+ "tpot_p95_ms": 23.96214876692921,
709
+ "acceptance_rate": 0.06462320419065401,
710
+ "acceptance_pos_1": 0.1824529329391629,
711
+ "acceptance_pos_2": 0.01106659405632488,
712
+ "acceptance_pos_3": 0.0003500855764742493,
713
+ "mean_acceptance_length": 1.1938696125719621
714
+ },
715
+ {
716
+ "dataset": "mbpp",
717
+ "run": "dflash_k7",
718
+ "method": "dflash",
719
+ "num_speculative_tokens": 7,
720
+ "requests": 500,
721
+ "output_tokens": 61377,
722
+ "request_throughput_rps": 1.387242813763742,
723
+ "output_throughput_tps": 170.2896043607544,
724
+ "speedup_vs_baseline": 0.6186840768611036,
725
+ "latency_mean_ms": 2875.578809605966,
726
+ "latency_p50_ms": 2855.830152499948,
727
+ "latency_p95_ms": 4074.322934499559,
728
+ "latency_p99_ms": 4764.013334749542,
729
+ "ttft_mean_ms": 634.0442261159515,
730
+ "ttft_p50_ms": 392.3641729988958,
731
+ "ttft_p95_ms": 1885.916530999566,
732
+ "ttft_p99_ms": 2897.4566687989864,
733
+ "itl_mean_ms": 18.201249949891572,
734
+ "itl_p50_ms": 18.463196299214943,
735
+ "itl_p95_ms": 24.69457239645406,
736
+ "itl_p99_ms": 30.63269140497326,
737
+ "tpot_mean_ms": 18.205769807911185,
738
+ "tpot_p50_ms": 18.464951303145412,
739
+ "tpot_p95_ms": 24.695845573618083,
740
+ "acceptance_rate": 0.028501713363674443,
741
+ "acceptance_pos_1": 0.1877840964993408,
742
+ "acceptance_pos_2": 0.011255632735787795,
743
+ "acceptance_pos_3": 0.0004525866309844743,
744
+ "mean_acceptance_length": 1.199511993545721
745
+ },
746
+ {
747
+ "dataset": "mbpp",
748
+ "run": "dflare_k3",
749
+ "method": "dflare",
750
+ "num_speculative_tokens": 3,
751
+ "requests": 500,
752
+ "output_tokens": 61640,
753
+ "request_throughput_rps": 1.9801835796759275,
754
+ "output_throughput_tps": 244.11703170244834,
755
+ "speedup_vs_baseline": 0.8869086340992713,
756
+ "latency_mean_ms": 2016.50626224402,
757
+ "latency_p50_ms": 2021.2945930006754,
758
+ "latency_p95_ms": 2791.478140551044,
759
+ "latency_p99_ms": 3086.5239088800263,
760
+ "ttft_mean_ms": 280.0661946479813,
761
+ "ttft_p50_ms": 256.2331505005204,
762
+ "ttft_p95_ms": 557.8820319009537,
763
+ "ttft_p99_ms": 769.5084362501256,
764
+ "itl_mean_ms": 14.264965995399256,
765
+ "itl_p50_ms": 14.109097578741029,
766
+ "itl_p95_ms": 19.439541319448956,
767
+ "itl_p99_ms": 23.81797452189929,
768
+ "tpot_mean_ms": 14.269046870264877,
769
+ "tpot_p50_ms": 14.11056187795813,
770
+ "tpot_p95_ms": 19.634308889327635,
771
+ "acceptance_rate": 0.47048386886358,
772
+ "acceptance_pos_1": 0.6888967163711792,
773
+ "acceptance_pos_2": 0.44499236820476695,
774
+ "acceptance_pos_3": 0.2775625220147939,
775
+ "mean_acceptance_length": 2.41145160659074
776
+ },
777
+ {
778
+ "dataset": "mbpp",
779
+ "run": "dflare_k7",
780
+ "method": "dflare",
781
+ "num_speculative_tokens": 7,
782
+ "requests": 500,
783
+ "output_tokens": 61475,
784
+ "request_throughput_rps": 1.503343533132173,
785
+ "output_throughput_tps": 184.83608739860065,
786
+ "speedup_vs_baseline": 0.6715333242572042,
787
+ "latency_mean_ms": 2657.845550606042,
788
+ "latency_p50_ms": 2483.5515449995,
789
+ "latency_p95_ms": 4488.94517174831,
790
+ "latency_p99_ms": 5523.38156365822,
791
+ "ttft_mean_ms": 1190.47147037393,
792
+ "ttft_p50_ms": 932.4905619996571,
793
+ "ttft_p95_ms": 3259.4635773521077,
794
+ "ttft_p99_ms": 4279.743841777054,
795
+ "itl_mean_ms": 12.451201825429687,
796
+ "itl_p50_ms": 12.228331582672416,
797
+ "itl_p95_ms": 22.859363721256052,
798
+ "itl_p99_ms": 36.967242600596585,
799
+ "tpot_mean_ms": 12.456394792296264,
800
+ "tpot_p50_ms": 12.230752885830222,
801
+ "tpot_p95_ms": 22.860772319684717,
802
+ "acceptance_rate": 0.24657171832973235,
803
+ "acceptance_pos_1": 0.6712818025486132,
804
+ "acceptance_pos_2": 0.42739979716918736,
805
+ "acceptance_pos_3": 0.2544644825609595,
806
+ "mean_acceptance_length": 2.7260020283081268
807
+ },
808
+ {
809
+ "dataset": "mbpp",
810
+ "run": "dspark_k3",
811
+ "method": "dspark",
812
+ "num_speculative_tokens": 3,
813
+ "requests": 500,
814
+ "output_tokens": 61981,
815
+ "request_throughput_rps": 2.507209609073491,
816
+ "output_throughput_tps": 310.7987175599681,
817
+ "speedup_vs_baseline": 1.1291717916958104,
818
+ "latency_mean_ms": 1592.6791832899762,
819
+ "latency_p50_ms": 1603.4026140005153,
820
+ "latency_p95_ms": 2178.7681314988727,
821
+ "latency_p99_ms": 2552.1267430388243,
822
+ "ttft_mean_ms": 240.7260946480019,
823
+ "ttft_p50_ms": 224.12168300070334,
824
+ "ttft_p95_ms": 455.65863744814123,
825
+ "ttft_p99_ms": 601.2736888401558,
826
+ "itl_mean_ms": 11.346454396871485,
827
+ "itl_p50_ms": 10.845360450802424,
828
+ "itl_p95_ms": 15.682580235835754,
829
+ "itl_p99_ms": 23.395322236705972,
830
+ "tpot_mean_ms": 11.350096012527779,
831
+ "tpot_p50_ms": 10.847383575174785,
832
+ "tpot_p95_ms": 15.684506253152122,
833
+ "acceptance_rate": 0.5228963898667771,
834
+ "acceptance_pos_1": 0.7125284738041002,
835
+ "acceptance_pos_2": 0.5082211638020294,
836
+ "acceptance_pos_3": 0.3479395319942017,
837
+ "mean_acceptance_length": 2.568689169600331
838
+ },
839
+ {
840
+ "dataset": "mbpp",
841
+ "run": "dspark_k7",
842
+ "method": "dspark",
843
+ "num_speculative_tokens": 7,
844
+ "requests": 500,
845
+ "output_tokens": 61632,
846
+ "request_throughput_rps": 2.2269171937357544,
847
+ "output_throughput_tps": 274.498720968644,
848
+ "speedup_vs_baseline": 0.997289226312739,
849
+ "latency_mean_ms": 1794.3305799321024,
850
+ "latency_p50_ms": 1694.5109794996824,
851
+ "latency_p95_ms": 3171.435100350026,
852
+ "latency_p99_ms": 4215.3635372184735,
853
+ "ttft_mean_ms": 643.143013108056,
854
+ "ttft_p50_ms": 362.4557425009698,
855
+ "ttft_p95_ms": 2119.0080873015154,
856
+ "ttft_p99_ms": 3187.935962892621,
857
+ "itl_mean_ms": 10.101565495090881,
858
+ "itl_p50_ms": 9.322213830710384,
859
+ "itl_p95_ms": 14.88066484486098,
860
+ "itl_p99_ms": 19.67402437656759,
861
+ "tpot_mean_ms": 10.105878412845934,
862
+ "tpot_p50_ms": 9.323771708668072,
863
+ "tpot_p95_ms": 14.882234868113521,
864
+ "acceptance_rate": 0.28831800034716193,
865
+ "acceptance_pos_1": 0.6831591737545565,
866
+ "acceptance_pos_2": 0.47018226002430136,
867
+ "acceptance_pos_3": 0.3054678007290401,
868
+ "mean_acceptance_length": 3.0182260024301337
869
+ },
870
+ {
871
+ "dataset": "mt_bench",
872
+ "run": "baseline",
873
+ "method": "baseline",
874
+ "num_speculative_tokens": null,
875
+ "requests": 160,
876
+ "output_tokens": 20102,
877
+ "request_throughput_rps": 2.461309935234548,
878
+ "output_throughput_tps": 309.2328269880305,
879
+ "speedup_vs_baseline": 1.0,
880
+ "latency_mean_ms": 1607.6186366983165,
881
+ "latency_p50_ms": 1548.2021450006869,
882
+ "latency_p95_ms": 2284.110534451611,
883
+ "latency_p99_ms": 2534.602298826794,
884
+ "ttft_mean_ms": 320.49049263077904,
885
+ "ttft_p50_ms": 293.138627501321,
886
+ "ttft_p95_ms": 629.1677434302974,
887
+ "ttft_p99_ms": 759.140422597702,
888
+ "itl_mean_ms": 11.007379475699068,
889
+ "itl_p50_ms": 9.985256696983395,
890
+ "itl_p95_ms": 15.183904158686165,
891
+ "itl_p99_ms": 26.580996584276846,
892
+ "tpot_mean_ms": 11.014195983013959,
893
+ "tpot_p50_ms": 9.988513000022554,
894
+ "tpot_p95_ms": 15.18576166809785,
895
+ "acceptance_rate": null,
896
+ "acceptance_pos_1": null,
897
+ "acceptance_pos_2": null,
898
+ "acceptance_pos_3": null,
899
+ "mean_acceptance_length": null
900
+ },
901
+ {
902
+ "dataset": "mt_bench",
903
+ "run": "dflash_k3",
904
+ "method": "dflash",
905
+ "num_speculative_tokens": 3,
906
+ "requests": 160,
907
+ "output_tokens": 20228,
908
+ "request_throughput_rps": 1.5473009629136512,
909
+ "output_throughput_tps": 195.61752423635835,
910
+ "speedup_vs_baseline": 0.632589774318915,
911
+ "latency_mean_ms": 2573.229441274998,
912
+ "latency_p50_ms": 2591.1725164999098,
913
+ "latency_p95_ms": 3166.3267970500783,
914
+ "latency_p99_ms": 3608.086452589978,
915
+ "ttft_mean_ms": 221.35167090626453,
916
+ "ttft_p50_ms": 203.15486550020978,
917
+ "ttft_p95_ms": 448.1615023500803,
918
+ "ttft_p99_ms": 696.169536259867,
919
+ "itl_mean_ms": 18.676105907776027,
920
+ "itl_p50_ms": 18.64073133858227,
921
+ "itl_p95_ms": 23.103904855904904,
922
+ "itl_p99_ms": 25.284028265118394,
923
+ "tpot_mean_ms": 18.68020851087627,
924
+ "tpot_p50_ms": 18.641842641731216,
925
+ "tpot_p95_ms": 23.105400170866087,
926
+ "acceptance_rate": 0.060748671490479834,
927
+ "acceptance_pos_1": 0.16453909053473734,
928
+ "acceptance_pos_2": 0.01705982704864992,
929
+ "acceptance_pos_3": 0.0006470968880522384,
930
+ "mean_acceptance_length": 1.1822460144714395
931
+ },
932
+ {
933
+ "dataset": "mt_bench",
934
+ "run": "dflash_k7",
935
+ "method": "dflash",
936
+ "num_speculative_tokens": 7,
937
+ "requests": 160,
938
+ "output_tokens": 20102,
939
+ "request_throughput_rps": 1.4356652700068615,
940
+ "output_throughput_tps": 180.37339536048705,
941
+ "speedup_vs_baseline": 0.5832931681844656,
942
+ "latency_mean_ms": 2753.9001531249596,
943
+ "latency_p50_ms": 2798.7496705000012,
944
+ "latency_p95_ms": 3791.8684454991308,
945
+ "latency_p99_ms": 4289.662929459572,
946
+ "ttft_mean_ms": 381.8320665374472,
947
+ "ttft_p50_ms": 295.44119050024165,
948
+ "ttft_p95_ms": 1026.5876399000251,
949
+ "ttft_p99_ms": 1367.1522384703346,
950
+ "itl_mean_ms": 21.709309200685574,
951
+ "itl_p50_ms": 18.78574032282878,
952
+ "itl_p95_ms": 25.575840727953157,
953
+ "itl_p99_ms": 59.525236419324514,
954
+ "tpot_mean_ms": 21.713930513288513,
955
+ "tpot_p50_ms": 18.787575688973476,
956
+ "tpot_p95_ms": 25.57992160196576,
957
+ "acceptance_rate": 0.024768061794215188,
958
+ "acceptance_pos_1": 0.15474581251836614,
959
+ "acceptance_pos_2": 0.016044666470761092,
960
+ "acceptance_pos_3": 0.0012342051131354686,
961
+ "mean_acceptance_length": 1.1733764325595064
962
+ },
963
+ {
964
+ "dataset": "mt_bench",
965
+ "run": "dflare_k3",
966
+ "method": "dflare",
967
+ "num_speculative_tokens": 3,
968
+ "requests": 160,
969
+ "output_tokens": 20228,
970
+ "request_throughput_rps": 1.7821635622658862,
971
+ "output_throughput_tps": 225.31002835946467,
972
+ "speedup_vs_baseline": 0.7286096710818666,
973
+ "latency_mean_ms": 2231.2470228500047,
974
+ "latency_p50_ms": 2197.780867999427,
975
+ "latency_p95_ms": 3333.7097092000463,
976
+ "latency_p99_ms": 3700.461037129698,
977
+ "ttft_mean_ms": 248.96705823127832,
978
+ "ttft_p50_ms": 215.34929249992274,
979
+ "ttft_p95_ms": 520.0022110006103,
980
+ "ttft_p99_ms": 662.6540237599145,
981
+ "itl_mean_ms": 15.77862160127276,
982
+ "itl_p50_ms": 15.232473944878599,
983
+ "itl_p95_ms": 23.602753981101593,
984
+ "itl_p99_ms": 27.57565280062838,
985
+ "tpot_mean_ms": 15.782222927801888,
986
+ "tpot_p50_ms": 15.23403437795065,
987
+ "tpot_p95_ms": 23.60411872952008,
988
+ "acceptance_rate": 0.3229694606887589,
989
+ "acceptance_pos_1": 0.5750487329434698,
990
+ "acceptance_pos_2": 0.27573099415204677,
991
+ "acceptance_pos_3": 0.11812865497076024,
992
+ "mean_acceptance_length": 1.9689083820662767
993
+ },
994
+ {
995
+ "dataset": "mt_bench",
996
+ "run": "dflare_k7",
997
+ "method": "dflare",
998
+ "num_speculative_tokens": 7,
999
+ "requests": 160,
1000
+ "output_tokens": 20102,
1001
+ "request_throughput_rps": 1.0658824478410331,
1002
+ "output_throughput_tps": 133.9148060406278,
1003
+ "speedup_vs_baseline": 0.4330549487419434,
1004
+ "latency_mean_ms": 3752.528322143644,
1005
+ "latency_p50_ms": 3464.8722160018224,
1006
+ "latency_p95_ms": 6717.973978601185,
1007
+ "latency_p99_ms": 7876.092720710149,
1008
+ "ttft_mean_ms": 1934.0097326686418,
1009
+ "ttft_p50_ms": 1588.4214640009304,
1010
+ "ttft_p95_ms": 4820.7839886515985,
1011
+ "ttft_p99_ms": 6494.002312830161,
1012
+ "itl_mean_ms": 14.317043586959333,
1013
+ "itl_p50_ms": 13.67209011023508,
1014
+ "itl_p95_ms": 29.82729992639314,
1015
+ "itl_p99_ms": 39.377268431499964,
1016
+ "tpot_mean_ms": 14.323458562974045,
1017
+ "tpot_p50_ms": 13.673784755900577,
1018
+ "tpot_p95_ms": 29.829240646451908,
1019
+ "acceptance_rate": 0.14578666207134242,
1020
+ "acceptance_pos_1": 0.5689585846401287,
1021
+ "acceptance_pos_2": 0.26940088459991957,
1022
+ "acceptance_pos_3": 0.11540008041817451,
1023
+ "mean_acceptance_length": 2.020506634499397
1024
+ },
1025
+ {
1026
+ "dataset": "mt_bench",
1027
+ "run": "dspark_k3",
1028
+ "method": "dspark",
1029
+ "num_speculative_tokens": 3,
1030
+ "requests": 160,
1031
+ "output_tokens": 20228,
1032
+ "request_throughput_rps": 2.2379435718508462,
1033
+ "output_throughput_tps": 282.9320160712432,
1034
+ "speedup_vs_baseline": 0.9149481923605564,
1035
+ "latency_mean_ms": 1771.671463362577,
1036
+ "latency_p50_ms": 1775.1809370001865,
1037
+ "latency_p95_ms": 2604.8437047013063,
1038
+ "latency_p99_ms": 3118.5169013906484,
1039
+ "ttft_mean_ms": 252.11589151258522,
1040
+ "ttft_p50_ms": 227.79171349975513,
1041
+ "ttft_p95_ms": 503.8048422973585,
1042
+ "ttft_p99_ms": 627.0037127103565,
1043
+ "itl_mean_ms": 12.360936149822532,
1044
+ "itl_p50_ms": 11.83748445670406,
1045
+ "itl_p95_ms": 19.148658472828007,
1046
+ "itl_p99_ms": 25.009972698654565,
1047
+ "tpot_mean_ms": 12.364664553850584,
1048
+ "tpot_p50_ms": 11.838727370086703,
1049
+ "tpot_p95_ms": 19.150851622824714,
1050
+ "acceptance_rate": 0.36540854417254254,
1051
+ "acceptance_pos_1": 0.5802571547075902,
1052
+ "acceptance_pos_2": 0.3253836582330983,
1053
+ "acceptance_pos_3": 0.19058481957693904,
1054
+ "mean_acceptance_length": 2.0962256325176276
1055
+ },
1056
+ {
1057
+ "dataset": "mt_bench",
1058
+ "run": "dspark_k7",
1059
+ "method": "dspark",
1060
+ "num_speculative_tokens": 7,
1061
+ "requests": 160,
1062
+ "output_tokens": 20102,
1063
+ "request_throughput_rps": 1.784863821370322,
1064
+ "output_throughput_tps": 224.24582835741384,
1065
+ "speedup_vs_baseline": 0.7251682511898833,
1066
+ "latency_mean_ms": 2225.1736813125035,
1067
+ "latency_p50_ms": 2117.7182369992806,
1068
+ "latency_p95_ms": 3657.939555099983,
1069
+ "latency_p99_ms": 4345.6770745698295,
1070
+ "ttft_mean_ms": 838.8437911749861,
1071
+ "ttft_p50_ms": 589.9439045006147,
1072
+ "ttft_p95_ms": 2441.8948530525054,
1073
+ "ttft_p99_ms": 2773.190703780456,
1074
+ "itl_mean_ms": 11.426459321042842,
1075
+ "itl_p50_ms": 10.71108703149011,
1076
+ "itl_p95_ms": 22.870212017662954,
1077
+ "itl_p99_ms": 25.594833969671022,
1078
+ "tpot_mean_ms": 11.431539335517765,
1079
+ "tpot_p50_ms": 10.713255098423582,
1080
+ "tpot_p95_ms": 23.0010987298119,
1081
+ "acceptance_rate": 0.17215237263282687,
1082
+ "acceptance_pos_1": 0.5529591613889495,
1083
+ "acceptance_pos_2": 0.2997379340467351,
1084
+ "acceptance_pos_3": 0.16739462764795807,
1085
+ "mean_acceptance_length": 2.205066608429788
1086
+ },
1087
+ {
1088
+ "dataset": "ultrachat",
1089
+ "run": "baseline",
1090
+ "method": "baseline",
1091
+ "num_speculative_tokens": null,
1092
+ "requests": 5000,
1093
+ "output_tokens": 635569,
1094
+ "request_throughput_rps": 1.2230023684575178,
1095
+ "output_throughput_tps": 155.4604784636352,
1096
+ "speedup_vs_baseline": 1.0,
1097
+ "latency_mean_ms": 3269.5651201336645,
1098
+ "latency_p50_ms": 3276.8055605120026,
1099
+ "latency_p95_ms": 3934.875892131822,
1100
+ "latency_p99_ms": 4087.044628756121,
1101
+ "ttft_mean_ms": 231.24218063543086,
1102
+ "ttft_p50_ms": 218.61417350010015,
1103
+ "ttft_p95_ms": 386.9901933081565,
1104
+ "ttft_p99_ms": 553.9115706225857,
1105
+ "itl_mean_ms": 24.08620830909222,
1106
+ "itl_p50_ms": 24.040817992012823,
1107
+ "itl_p95_ms": 28.90904858166638,
1108
+ "itl_p99_ms": 29.91989293644905,
1109
+ "tpot_mean_ms": 24.087996070253364,
1110
+ "tpot_p50_ms": 24.042644452736308,
1111
+ "tpot_p95_ms": 28.910471471294663,
1112
+ "acceptance_rate": null,
1113
+ "acceptance_pos_1": null,
1114
+ "acceptance_pos_2": null,
1115
+ "acceptance_pos_3": null,
1116
+ "mean_acceptance_length": null
1117
+ },
1118
+ {
1119
+ "dataset": "ultrachat",
1120
+ "run": "dflash_k3",
1121
+ "method": "dflash",
1122
+ "num_speculative_tokens": 3,
1123
+ "requests": 5000,
1124
+ "output_tokens": 636175,
1125
+ "request_throughput_rps": 1.0622074332559788,
1126
+ "output_throughput_tps": 135.14996277032446,
1127
+ "speedup_vs_baseline": 0.8693525461002507,
1128
+ "latency_mean_ms": 3763.952480385199,
1129
+ "latency_p50_ms": 3769.2712649998157,
1130
+ "latency_p95_ms": 4515.89870830021,
1131
+ "latency_p99_ms": 4805.0974385998825,
1132
+ "ttft_mean_ms": 257.6036252754003,
1133
+ "ttft_p50_ms": 246.59032999988995,
1134
+ "ttft_p95_ms": 405.558623099887,
1135
+ "ttft_p99_ms": 540.4809878199559,
1136
+ "itl_mean_ms": 27.764084011389272,
1137
+ "itl_p50_ms": 27.68626928346698,
1138
+ "itl_p95_ms": 33.282436218505644,
1139
+ "itl_p99_ms": 35.5445708588995,
1140
+ "tpot_mean_ms": 27.765764208304795,
1141
+ "tpot_p50_ms": 27.687906570868,
1142
+ "tpot_p95_ms": 33.28350510590754,
1143
+ "acceptance_rate": 0.07093823412968715,
1144
+ "acceptance_pos_1": 0.1840484911746139,
1145
+ "acceptance_pos_2": 0.02574222849873457,
1146
+ "acceptance_pos_3": 0.0030239827157130055,
1147
+ "mean_acceptance_length": 1.2128147023890614
1148
+ },
1149
+ {
1150
+ "dataset": "ultrachat",
1151
+ "run": "dflash_k7",
1152
+ "method": "dflash",
1153
+ "num_speculative_tokens": 7,
1154
+ "requests": 5000,
1155
+ "output_tokens": 636064,
1156
+ "request_throughput_rps": 1.0536069317356047,
1157
+ "output_throughput_tps": 134.03228788549515,
1158
+ "speedup_vs_baseline": 0.8621630990081349,
1159
+ "latency_mean_ms": 3794.9240800698,
1160
+ "latency_p50_ms": 3797.6578120005797,
1161
+ "latency_p95_ms": 4543.265116648946,
1162
+ "latency_p99_ms": 4838.748624158453,
1163
+ "ttft_mean_ms": 255.93729505000047,
1164
+ "ttft_p50_ms": 246.4688734989977,
1165
+ "ttft_p95_ms": 399.62789619985415,
1166
+ "ttft_p99_ms": 533.8578004602641,
1167
+ "itl_mean_ms": 28.02829548006744,
1168
+ "itl_p50_ms": 27.958994283470407,
1169
+ "itl_p95_ms": 33.55774176338532,
1170
+ "itl_p99_ms": 35.83546665536011,
1171
+ "tpot_mean_ms": 28.030316558857468,
1172
+ "tpot_p50_ms": 27.961111295281434,
1173
+ "tpot_p95_ms": 33.55949413779617,
1174
+ "acceptance_rate": 0.030697806232490035,
1175
+ "acceptance_pos_1": 0.1853871675887231,
1176
+ "acceptance_pos_2": 0.025839366107025186,
1177
+ "acceptance_pos_3": 0.0030756573256390638,
1178
+ "mean_acceptance_length": 1.2148846436274303
1179
+ },
1180
+ {
1181
+ "dataset": "ultrachat",
1182
+ "run": "dflare_k3",
1183
+ "method": "dflare",
1184
+ "num_speculative_tokens": 3,
1185
+ "requests": 5000,
1186
+ "output_tokens": 636228,
1187
+ "request_throughput_rps": 1.267241365085764,
1188
+ "output_throughput_tps": 161.25088784515708,
1189
+ "speedup_vs_baseline": 1.0372468259376697,
1190
+ "latency_mean_ms": 3155.8181194270032,
1191
+ "latency_p50_ms": 3158.2490724995296,
1192
+ "latency_p95_ms": 4013.4220384479713,
1193
+ "latency_p99_ms": 4389.7799070399205,
1194
+ "ttft_mean_ms": 282.9019767206311,
1195
+ "ttft_p50_ms": 270.00340999984473,
1196
+ "ttft_p95_ms": 456.05508385024234,
1197
+ "ttft_p99_ms": 595.7626636705755,
1198
+ "itl_mean_ms": 22.751411578135976,
1199
+ "itl_p50_ms": 22.677721858262814,
1200
+ "itl_p95_ms": 29.19536946929717,
1201
+ "itl_p99_ms": 32.0268499520443,
1202
+ "tpot_mean_ms": 22.753117775499057,
1203
+ "tpot_p50_ms": 22.679262984259076,
1204
+ "tpot_p95_ms": 29.196810057103683,
1205
+ "acceptance_rate": 0.31057058500760176,
1206
+ "acceptance_pos_1": 0.5710008489248474,
1207
+ "acceptance_pos_2": 0.2600387645252867,
1208
+ "acceptance_pos_3": 0.10067214157267132,
1209
+ "mean_acceptance_length": 1.9317117550228053
1210
+ },
1211
+ {
1212
+ "dataset": "ultrachat",
1213
+ "run": "dflare_k7",
1214
+ "method": "dflare",
1215
+ "num_speculative_tokens": 7,
1216
+ "requests": 5000,
1217
+ "output_tokens": 635796,
1218
+ "request_throughput_rps": 1.2415631421695674,
1219
+ "output_throughput_tps": 157.87617590776844,
1220
+ "speedup_vs_baseline": 1.0155389811481785,
1221
+ "latency_mean_ms": 3221.0815614180046,
1222
+ "latency_p50_ms": 3164.543153499835,
1223
+ "latency_p95_ms": 4123.292088050039,
1224
+ "latency_p99_ms": 4616.265497698114,
1225
+ "ttft_mean_ms": 352.63900740198807,
1226
+ "ttft_p50_ms": 287.9059334991325,
1227
+ "ttft_p95_ms": 612.3089999979129,
1228
+ "ttft_p99_ms": 1196.3210188611995,
1229
+ "itl_mean_ms": 22.7251370702789,
1230
+ "itl_p50_ms": 22.450031862195097,
1231
+ "itl_p95_ms": 29.62520190592225,
1232
+ "itl_p99_ms": 33.215207786221775,
1233
+ "tpot_mean_ms": 22.72683404563422,
1234
+ "tpot_p50_ms": 22.451526275598177,
1235
+ "tpot_p95_ms": 29.626681563398265,
1236
+ "acceptance_rate": 0.1436652803641537,
1237
+ "acceptance_pos_1": 0.5763152990672803,
1238
+ "acceptance_pos_2": 0.26589619110489227,
1239
+ "acceptance_pos_3": 0.10326562455582894,
1240
+ "mean_acceptance_length": 2.005656962549076
1241
+ },
1242
+ {
1243
+ "dataset": "ultrachat",
1244
+ "run": "dspark_k3",
1245
+ "method": "dspark",
1246
+ "num_speculative_tokens": 3,
1247
+ "requests": 5000,
1248
+ "output_tokens": 636215,
1249
+ "request_throughput_rps": 1.5004265390600509,
1250
+ "output_throughput_tps": 190.91877410961806,
1251
+ "speedup_vs_baseline": 1.2280855944636573,
1252
+ "latency_mean_ms": 2665.1578789277846,
1253
+ "latency_p50_ms": 2665.9706919999735,
1254
+ "latency_p95_ms": 3441.952741001842,
1255
+ "latency_p99_ms": 3755.308294759525,
1256
+ "ttft_mean_ms": 264.3723180442066,
1257
+ "ttft_p50_ms": 253.26144649989146,
1258
+ "ttft_p95_ms": 429.1125219519018,
1259
+ "ttft_p99_ms": 559.1942446103716,
1260
+ "itl_mean_ms": 19.008812154313944,
1261
+ "itl_p50_ms": 18.913669216526902,
1262
+ "itl_p95_ms": 24.80109081614243,
1263
+ "itl_p99_ms": 27.068464386929747,
1264
+ "tpot_mean_ms": 19.010452079968594,
1265
+ "tpot_p50_ms": 18.915089492132775,
1266
+ "tpot_p95_ms": 24.80313036299977,
1267
+ "acceptance_rate": 0.32401200895393567,
1268
+ "acceptance_pos_1": 0.5557804733415505,
1269
+ "acceptance_pos_2": 0.28182543551086175,
1270
+ "acceptance_pos_3": 0.1344301180093948,
1271
+ "mean_acceptance_length": 1.9720360268618071
1272
+ },
1273
+ {
1274
+ "dataset": "ultrachat",
1275
+ "run": "dspark_k7",
1276
+ "method": "dspark",
1277
+ "num_speculative_tokens": 7,
1278
+ "requests": 5000,
1279
+ "output_tokens": 636157,
1280
+ "request_throughput_rps": 1.4902242443540412,
1281
+ "output_throughput_tps": 189.60331692310675,
1282
+ "speedup_vs_baseline": 1.2196239121151176,
1283
+ "latency_mean_ms": 2683.3432791144196,
1284
+ "latency_p50_ms": 2638.018617002672,
1285
+ "latency_p95_ms": 3469.7974141512536,
1286
+ "latency_p99_ms": 3857.7436888694515,
1287
+ "ttft_mean_ms": 287.66377756739894,
1288
+ "ttft_p50_ms": 259.45143649914826,
1289
+ "ttft_p95_ms": 433.6856615469515,
1290
+ "ttft_p99_ms": 568.5856753819111,
1291
+ "itl_mean_ms": 18.969870524426348,
1292
+ "itl_p50_ms": 18.7173821692899,
1293
+ "itl_p95_ms": 25.069323533594044,
1294
+ "itl_p99_ms": 28.087401625863414,
1295
+ "tpot_mean_ms": 18.971464480602076,
1296
+ "tpot_p50_ms": 18.718672405515193,
1297
+ "tpot_p95_ms": 25.071671481768842,
1298
+ "acceptance_rate": 0.15400452166690387,
1299
+ "acceptance_pos_1": 0.5521141942543566,
1300
+ "acceptance_pos_2": 0.27944601414362474,
1301
+ "acceptance_pos_3": 0.13266262718646393,
1302
+ "mean_acceptance_length": 2.078031651668327
1303
+ }
1304
+ ]
benchmarks/bs4/run_config.json ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "args": {
3
+ "base_model": "google/t5gemma-2-1b-1b",
4
+ "dflash_model": "/mnt/d/Projects/dflash_t5/dflash-output/dflash_t5gemma2_mixture_200k/checkpoints/5",
5
+ "dflare_model": "/mnt/d/Projects/dflash_t5/dflash-output/dflare_t5gemma2_mixture_200k/checkpoints/5",
6
+ "dspark_model": "/mnt/d/Projects/dflash_t5/dflash-output/dspark_t5gemma2_mixture_200k/checkpoints/5",
7
+ "speculative_token_counts": [
8
+ 3,
9
+ 7
10
+ ],
11
+ "methods": [
12
+ "dflash",
13
+ "dflare",
14
+ "dspark"
15
+ ],
16
+ "datasets": [
17
+ "math500",
18
+ "gsm8k",
19
+ "humaneval",
20
+ "mbpp",
21
+ "mt_bench",
22
+ "ultrachat"
23
+ ],
24
+ "num_prompts": 0,
25
+ "ultrachat_num_prompts": 5000,
26
+ "warmup": 8,
27
+ "concurrency": 4,
28
+ "max_num_seqs": 4,
29
+ "max_num_batched_tokens": 4096,
30
+ "max_model_len": 2048,
31
+ "max_tokens": 128,
32
+ "gpu_memory_utilization": 0.85,
33
+ "host": "127.0.0.1",
34
+ "port": 8011,
35
+ "temperature": 0.0,
36
+ "top_p": 1.0,
37
+ "seed": 0,
38
+ "timeout_s": 180.0,
39
+ "server_timeout_s": 600.0,
40
+ "enforce_eager": false,
41
+ "include_baseline": true
42
+ },
43
+ "runs": [
44
+ {
45
+ "name": "baseline",
46
+ "checkpoint": null,
47
+ "num_speculative_tokens": null
48
+ },
49
+ {
50
+ "name": "dflash_k3",
51
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflash_t5gemma2_mixture_200k/checkpoints/5",
52
+ "num_speculative_tokens": 3
53
+ },
54
+ {
55
+ "name": "dflash_k7",
56
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflash_t5gemma2_mixture_200k/checkpoints/5",
57
+ "num_speculative_tokens": 7
58
+ },
59
+ {
60
+ "name": "dflare_k3",
61
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflare_t5gemma2_mixture_200k/checkpoints/5",
62
+ "num_speculative_tokens": 3
63
+ },
64
+ {
65
+ "name": "dflare_k7",
66
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dflare_t5gemma2_mixture_200k/checkpoints/5",
67
+ "num_speculative_tokens": 7
68
+ },
69
+ {
70
+ "name": "dspark_k3",
71
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dspark_t5gemma2_mixture_200k/checkpoints/5",
72
+ "num_speculative_tokens": 3
73
+ },
74
+ {
75
+ "name": "dspark_k7",
76
+ "checkpoint": "/mnt/d/Projects/dflash_t5/dflash-output/dspark_t5gemma2_mixture_200k/checkpoints/5",
77
+ "num_speculative_tokens": 7
78
+ }
79
+ ],
80
+ "prompt_sets": {
81
+ "math500": {
82
+ "count": 500,
83
+ "sha256": "78a67699bc700588d0e23da6457ea3afc00d5635897d456a6245f1e964449c4a"
84
+ },
85
+ "gsm8k": {
86
+ "count": 1319,
87
+ "sha256": "d591bbef95c9d5b17f6f26999bde24def2f6fbf25d7e20953b9ac89c65ffbb8e"
88
+ },
89
+ "humaneval": {
90
+ "count": 164,
91
+ "sha256": "de1066c5b81dc0f99eab434315cee2c3c68c5a522b8c25d53c73f9c9042b44c8"
92
+ },
93
+ "mbpp": {
94
+ "count": 500,
95
+ "sha256": "c596be7f77834627fd0a05755691e30dbf4f6724425842de6d03348614e5fecd"
96
+ },
97
+ "mt_bench": {
98
+ "count": 160,
99
+ "sha256": "8761bfece58bd26e5b93c33e9aad480728ea9950a7d257aaff267db5c7b98010"
100
+ },
101
+ "ultrachat": {
102
+ "count": 5000,
103
+ "sha256": "5dac9e9dc0d63372c701dbebbb18f3f22a568e9b62cc0ff1b4fb88fc41bf5bf7"
104
+ }
105
+ },
106
+ "benchmark_fingerprint": "f9d631623c44c4276ee1b29d5e2e5ce03c216e6d5c95ffda6333d549323e0c89",
107
+ "output_dir": "/mnt/d/Projects/dflash_t5/benchmark-results/t5gemma2_speculators_suite_bs4_fixed"
108
+ }
config.json ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "DFlashDraftModel"
4
+ ],
5
+ "auto_map": {
6
+ "": "config.DFlashSpeculatorConfig"
7
+ },
8
+ "aux_hidden_state_layer_ids": [
9
+ 2,
10
+ 7,
11
+ 13,
12
+ 18,
13
+ 21
14
+ ],
15
+ "block_size": 8,
16
+ "draft_vocab_size": 32000,
17
+ "dtype": "bfloat16",
18
+ "mask_token_id": 4,
19
+ "sliding_window_non_causal": false,
20
+ "speculators_config": {
21
+ "algorithm": "dflash",
22
+ "default_proposal_method": "greedy",
23
+ "proposal_methods": [
24
+ {
25
+ "accept_tolerance": 0.0,
26
+ "proposal_type": "greedy",
27
+ "speculative_tokens": 7,
28
+ "verifier_accept_k": 1
29
+ }
30
+ ],
31
+ "verifier": {
32
+ "architectures": [
33
+ "T5Gemma2ForConditionalGeneration"
34
+ ],
35
+ "name_or_path": "google/t5gemma-2-1b-1b"
36
+ }
37
+ },
38
+ "speculators_model_type": "dflash",
39
+ "speculators_version": "0.7.0.dev72",
40
+ "target_hidden_size": null,
41
+ "tie_word_embeddings": false,
42
+ "transformer_layer_config": {
43
+ "architectures": [
44
+ "T5Gemma2ForConditionalGeneration"
45
+ ],
46
+ "attention_bias": false,
47
+ "attention_dropout": 0.0,
48
+ "bos_token_id": 1,
49
+ "eos_token_id": 2,
50
+ "head_dim": 256,
51
+ "hidden_act": "silu",
52
+ "hidden_size": 1152,
53
+ "initializer_range": 0.02,
54
+ "intermediate_size": 6912,
55
+ "layer_types": [
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention"
61
+ ],
62
+ "max_position_embeddings": 32768,
63
+ "mlp_bias": false,
64
+ "model_type": "llama",
65
+ "num_attention_heads": 4,
66
+ "num_hidden_layers": 5,
67
+ "num_key_value_heads": 1,
68
+ "pad_token_id": null,
69
+ "pretraining_tp": 1,
70
+ "rms_norm_eps": 1e-06,
71
+ "rope_parameters": {
72
+ "factor": 8.0,
73
+ "rope_theta": 1000000,
74
+ "rope_type": "linear"
75
+ },
76
+ "rope_theta": 1000000,
77
+ "sliding_window": 2048,
78
+ "tie_word_embeddings": false,
79
+ "use_cache": true,
80
+ "verifier_final_logit_softcapping": null,
81
+ "verifier_hidden_states_are_normalized": true,
82
+ "verifier_is_encoder_decoder": true,
83
+ "verifier_model_type": "t5gemma2",
84
+ "vocab_size": 262144
85
+ },
86
+ "transformers_version": "5.12.1"
87
+ }
config.py ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Literal
2
+
3
+ from pydantic import Field, field_serializer, field_validator
4
+ from transformers import AutoConfig, PretrainedConfig
5
+ from transformers.models.qwen3.modeling_qwen3 import (
6
+ Qwen3Config,
7
+ )
8
+
9
+ from speculators import SpeculatorModelConfig
10
+
11
+ __all__ = [
12
+ "DFlashSpeculatorConfig",
13
+ ]
14
+
15
+
16
+ @SpeculatorModelConfig.register("dflash")
17
+ class DFlashSpeculatorConfig(SpeculatorModelConfig):
18
+ """
19
+ Configuration for DFlash speculator with vocabulary mapping.
20
+
21
+ DFlash features vocabulary mapping between draft (64K) and target (128K)
22
+ vocabularies, enabling cross-tokenizer speculation.
23
+
24
+ :param transformer_layer_config: Configuration for the transformer decoder layer
25
+ :param draft_vocab_size: Size of draft model vocabulary for speculation
26
+ """
27
+
28
+ speculators_model_type: Literal["dflash"] = "dflash"
29
+ architectures: list[str] = Field(
30
+ default_factory=lambda: ["DFlashSpeculator"],
31
+ description="Model architectures that can load these weights",
32
+ )
33
+
34
+ transformer_layer_config: PretrainedConfig = Field(
35
+ default_factory=Qwen3Config,
36
+ description="Configuration for the transformer decoder layer",
37
+ )
38
+
39
+ draft_vocab_size: int = Field(
40
+ default=32000,
41
+ description="Size of draft model vocabulary for speculation",
42
+ )
43
+
44
+ block_size: int = Field(
45
+ default=8,
46
+ description=(
47
+ "Default size of the draft block predicted with a forward pass of the model"
48
+ ),
49
+ )
50
+
51
+ target_hidden_size: int | None = Field(
52
+ default=None,
53
+ description="Hidden size of the target model (if different from draft model)",
54
+ )
55
+
56
+ aux_hidden_state_layer_ids: list[int] | None = Field(
57
+ default=None,
58
+ description="Layer IDs of the DFlash auxiliary hidden state layers",
59
+ )
60
+
61
+ mask_token_id: int | None = Field(
62
+ default=None,
63
+ description="Token ID used for masking",
64
+ )
65
+
66
+ sliding_window_non_causal: bool = Field(
67
+ default=False,
68
+ description="Use non-causal (bidirectional) masking within draft blocks for "
69
+ "sliding window attention layers. Full attention layers are always "
70
+ "bidirectional.",
71
+ )
72
+
73
+ @field_serializer("transformer_layer_config")
74
+ def serialize_transformer_config(self, value: PretrainedConfig) -> dict:
75
+ """Serialize transformer config to dict."""
76
+ return value.to_diff_dict()
77
+
78
+ @field_validator("transformer_layer_config", mode="before")
79
+ @classmethod
80
+ def validate_transformer_config(cls, value: Any) -> PretrainedConfig:
81
+ """Validate and convert transformer config."""
82
+ if isinstance(value, dict):
83
+ config_class: type[PretrainedConfig] = Qwen3Config
84
+ if "model_type" in value:
85
+ config_class = AutoConfig.for_model(
86
+ model_type=value["model_type"]
87
+ ).__class__
88
+ return config_class(**value)
89
+ return value
90
+
91
+ @property
92
+ def target_vocab_size(self) -> int:
93
+ """Get target vocabulary size from transformer config."""
94
+ return self.transformer_layer_config.vocab_size
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f0e86b5328a43fd64100e7da36b854bb2805cf74f9502ddbe3a9a1e8708a1406
3
+ size 959906136
optimizer_state_dict.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61d19ff5abc33e37952ccb110d8f31202f46b039c4c8127fd08a867ba4de17d9
3
+ size 563401351
scheduler_state_dict.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6c2768020750de480fd72c1d5a77315c1d840eb9814df19d857f400239b6598b
3
+ size 1531
tensorboard/dflash_t5gemma2_mixture_200k/events.out.tfevents.1783579670.DESKTOP-OU3A33R.176605.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2beb9af1f92260009dfd788480e9ee5ed0e20bec971b29a0c8bce9f9a4b6d2c3
3
+ size 19292160
tensorboard/dflash_t5gemma2_mixture_200k/events.out.tfevents.1783592272.DESKTOP-OU3A33R.431.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7e1fea84388bcc9257bb2b7efd2bcc4b07b15293e8164dfa821dffe607297da6
3
+ size 29485
tensorboard/dflash_t5gemma2_mixture_200k/events.out.tfevents.1783592392.DESKTOP-OU3A33R.873.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4db6f5f57a1cfd6437f77bfffab1f298703a50520ba10b6f3c3110586c13b52
3
+ size 148582
tensorboard/dflash_t5gemma2_mixture_200k/events.out.tfevents.1783592508.DESKTOP-OU3A33R.1385.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7493048a4a509e0431030137e630a2997ce1a0d0705c28070626a05db08fb02a
3
+ size 153939710
train_command.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # Timestamp: 2026-07-09T10:21:35.298654+00:00
2
+ # Git SHA: a58573acefd975901bae8e83b6e8b5e6ace717ef
3
+ # World size: 1
4
+ # speculators: 0.7.0.dev72
5
+ # vllm: not installed
6
+ # transformers: 5.12.1
7
+ # torch: 2.12.0
8
+ # compressed-tensors: not installed
9
+ scripts/train_t5gemma_online.py --verifier-name-or-path google/t5gemma-2-1b-1b --data-path /home/pc/dflash-output/t5gemma2_mixture_200k --save-path ../dflash-output/dflash_t5gemma2_mixture_200k/checkpoints --draft-vocab-size 32000 --speculator-type dflash --draft-arch llama --draft-hidden-act silu --draft-attn-impl eager --block-size 8 --max-anchors 256 --num-layers 5 --target-layer-ids 2 7 13 18 21 --total-seq-len 2048 --epochs 6 --lr 6e-4 --loss-fn kl_div --logger tensorboard --log-dir /home/pc/dflash-output/tensorboard/t5gemma2_mixture_200k --run-name dflash_t5gemma2_mixture_200k --on-missing raise --num-workers 0 --prefetch-factor 1
training/data_config.json ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "google/t5gemma-2-1b-1b",
3
+ "mixture": "t5gemma2_200k",
4
+ "samples": 200000,
5
+ "seed": 42,
6
+ "sources": [
7
+ {
8
+ "source": "ultrachat",
9
+ "converter": "auto",
10
+ "requested": 60000,
11
+ "kept": 60000
12
+ },
13
+ {
14
+ "source": "sharegpt",
15
+ "converter": "auto",
16
+ "requested": 20000,
17
+ "kept": 20000
18
+ },
19
+ {
20
+ "source": "hf:ise-uiuc/Magicoder-Evol-Instruct-110K::train",
21
+ "converter": "instruction_response",
22
+ "requested": 50000,
23
+ "kept": 50000
24
+ },
25
+ {
26
+ "source": "hf:Salesforce/xlam-function-calling-60k::train",
27
+ "converter": "xlam_function_calling",
28
+ "requested": 40000,
29
+ "kept": 40000
30
+ },
31
+ {
32
+ "source": "hf:glaiveai/glaive-function-calling-v2::train",
33
+ "converter": "glaive_function_calling",
34
+ "requested": 20000,
35
+ "kept": 20000
36
+ },
37
+ {
38
+ "source": "hf:TIGER-Lab/MathInstruct::train",
39
+ "converter": "instruction_output",
40
+ "requested": 10000,
41
+ "kept": 10000
42
+ }
43
+ ],
44
+ "decoder_start_token_id": 2,
45
+ "eos_token_id": 1
46
+ }
training/train.sh ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+
4
+ MODEL="${MODEL:-google/t5gemma-2-1b-1b}"
5
+ MIXTURE="${MIXTURE:-t5gemma2_200k}"
6
+ DATASET="${DATASET:-}"
7
+ DATA_DIR="${DATA_DIR:-$HOME/dflash-output/t5gemma2_mixture_200k}"
8
+ OUTPUT_DIR="${OUTPUT_DIR:-../dflash-output/dflash_t5gemma2_mixture_200k}"
9
+ LOG_DIR="${LOG_DIR:-$HOME/dflash-output/tensorboard/t5gemma2_mixture_200k}"
10
+ RUN_NAME="${RUN_NAME:-dflash_t5gemma2_mixture_200k}"
11
+ MAX_SAMPLES="${MAX_SAMPLES:-200000}"
12
+ SEED="${SEED:-42}"
13
+ # Number of samples processed by the frozen verifier in one online extraction
14
+ # microbatch. Increase to 8/16 for higher GPU utilization if VRAM allows;
15
+ # reduce to 1/2 if full-length samples OOM.
16
+ T5GEMMA_ONLINE_EXTRACTOR_BATCH_SIZE="${T5GEMMA_ONLINE_EXTRACTOR_BATCH_SIZE:-32}"
17
+ # Use 5 verifier layers, evenly spaced across the decoder, matching the DFlash
18
+ # paper's setup (5 target hidden states between the early and late layers).
19
+ TARGET_LAYER_IDS=(2 7 13 18 21)
20
+
21
+ # The Arrow dataset is shared by DFlash/DFlare/DSpark runs. It stores only
22
+ # encoder/decoder token IDs and masks; hidden states are extracted online.
23
+ if [[ ! -f "$DATA_DIR/dataset_info.json" ]]; then
24
+ PREPARE_ARGS=(
25
+ scripts/prepare_t5gemma_data.py
26
+ --model "$MODEL"
27
+ --output "$DATA_DIR"
28
+ --max-samples "$MAX_SAMPLES"
29
+ --seed "$SEED"
30
+ --encoder-seq-length 2048
31
+ --decoder-seq-length 1024
32
+ )
33
+ if [[ -n "$MIXTURE" ]]; then
34
+ PREPARE_ARGS+=(--mixture "$MIXTURE")
35
+ else
36
+ PREPARE_ARGS+=(--data "$DATASET")
37
+ fi
38
+ python "${PREPARE_ARGS[@]}"
39
+ else
40
+ echo "Prepared dataset already exists at $DATA_DIR; reusing it."
41
+ fi
42
+
43
+ # The verifier is kept frozen on the same GPU as the drafter. num_workers must
44
+ # remain zero: worker processes cannot share this in-process CUDA model.
45
+ PYTORCH_ALLOC_CONF=expandable_segments:True \
46
+ TORCHDYNAMO_DISABLE=1 \
47
+ T5GEMMA_ONLINE_EXTRACTOR_BATCH_SIZE="$T5GEMMA_ONLINE_EXTRACTOR_BATCH_SIZE" \
48
+ python scripts/train_t5gemma_online.py \
49
+ --verifier-name-or-path "$MODEL" \
50
+ --data-path "$DATA_DIR" \
51
+ --save-path "$OUTPUT_DIR/checkpoints" \
52
+ --draft-vocab-size 32000 \
53
+ --speculator-type dflash \
54
+ --draft-arch llama \
55
+ --draft-hidden-act silu \
56
+ --draft-attn-impl eager \
57
+ --block-size 8 \
58
+ --max-anchors 256 \
59
+ --num-layers 5 \
60
+ --target-layer-ids "${TARGET_LAYER_IDS[@]}" \
61
+ --total-seq-len 2048 \
62
+ --epochs 6 \
63
+ --lr 6e-4 \
64
+ --loss-fn kl_div \
65
+ --logger tensorboard \
66
+ --log-dir "$LOG_DIR" \
67
+ --run-name "$RUN_NAME" \
68
+ --on-missing raise \
69
+ --num-workers 0 \
70
+ --prefetch-factor 1
training_state.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"epoch": 5, "local_step": 0, "global_step": 146486}
val_metrics.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"loss_epoch": 1.2283039277097254, "full_acc_epoch": 0.3451195259581689, "position_1_acc_epoch": 0.6789729837541473, "position_2_acc_epoch": 0.4917242393918339, "position_3_acc_epoch": 0.36788837073739433, "position_4_acc_epoch": 0.2876449677914155, "position_5_acc_epoch": 0.23299416992991076, "position_6_acc_epoch": 0.19331019995240967, "position_7_acc_epoch": 0.16208325787625819}