ege-g commited on
Commit
3e6ce55
·
verified ·
1 Parent(s): 0a9c62d

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -1,35 +1,4 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
  *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
1
  *.bin filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  *.safetensors filter=lfs diff=lfs merge=lfs -text
3
+ *.pt filter=lfs diff=lfs merge=lfs -text
4
+ *.png filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
MANIFEST.md ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Release Manifest
2
+
3
+ Source checkpoint:
4
+
5
+ ```text
6
+ training/output/dflash-onpolicy-20k-b4-l1-v28k/checkpoints/checkpoint_best
7
+ ```
8
+
9
+ Files:
10
+
11
+ ```text
12
+ d88d201dd9282be01c1daef19f65f3e65a03beef9d5cd69156b95ff2544eadd9 config.json
13
+ b71d94e8ac2f7dc32c610046209d18cac058655df6092af0844f655805350a17 config.py
14
+ 21f3f87933e9692044f5c62121c1bac39602ea8226a076a91a431cc5831108ac val_metrics.json
15
+ e7ffbde19080c85333332bd25f214de07274e172e01fa140aaee806d5c635efc model.safetensors
16
+ ```
17
+
18
+ Primary benchmark artifacts copied from `results/`:
19
+
20
+ ```text
21
+ dflash20k-b4-l1-v28k-elyza100-streaming.json
22
+ dflash20k-b4-l1-v28k-elyza100-streaming.csv
23
+ elyza100-baseline-vs-dflash-summary.json
24
+ elyza100-baseline-vs-dflash-speedup.png
25
+ dflash20k-b4-l1-elyza100-tps-histogram.png
26
+ ```
README.md ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model:
4
+ - kel-jp/llm-jp-4-8b-instruct-NVFP4
5
+ library_name: speculators
6
+ inference: false
7
+ language:
8
+ - ja
9
+ - en
10
+ tags:
11
+ - speculative-decoding
12
+ - speculative-decoding-draft
13
+ - dflash
14
+ - draft-model
15
+ - speculator
16
+ - speculators
17
+ - vllm
18
+ - llm-jp
19
+ - japanese
20
+ - nvfp4
21
+ - dgx-spark
22
+ ---
23
+
24
+ # llm-jp-4-8b-instruct-NVFP4 DFlash Drafter
25
+
26
+ This repository contains a DFlash draft model for speculative decoding with
27
+ [`kel-jp/llm-jp-4-8b-instruct-NVFP4`](https://huggingface.co/kel-jp/llm-jp-4-8b-instruct-NVFP4).
28
+
29
+ This is not a standalone text-generation model. Use it as the draft/speculator
30
+ model while serving the NVFP4 model as the verifier in stock vLLM.
31
+
32
+ ## Intended Use
33
+
34
+ - Verifier model: `kel-jp/llm-jp-4-8b-instruct-NVFP4`
35
+ - Drafting method: `dflash`
36
+ - Draft architecture: block size 4, 1 transformer layer, 28k draft vocabulary
37
+ - Proposal setting used in the released config: greedy, `speculative_tokens=3`
38
+ - Runtime target: stock vLLM with DFlash support
39
+
40
+ ## vLLM Example
41
+
42
+ ```bash
43
+ vllm serve kel-jp/llm-jp-4-8b-instruct-NVFP4 \
44
+ --trust-remote-code \
45
+ --reasoning-parser llmjp4 \
46
+ --speculative-config '{"method":"dflash","model":"kel-jp/llm-jp-4-8b-instruct-NVFP4-speculator.dflash","num_speculative_tokens":3}'
47
+ ```
48
+
49
+ If you use an environment wrapper, set the same JSON as `SPECULATIVE_CONFIG`.
50
+ The verifier model still needs the serving requirements documented on the NVFP4
51
+ model page, including the LLM-jp remote code/plugin setup.
52
+
53
+ ## Benchmark
54
+
55
+ Representative Japanese streaming decode benchmark on ELYZA-100 prompts:
56
+
57
+ | Setup | Mean decode tok/s | Notes |
58
+ | --- | ---: | --- |
59
+ | Baseline NVFP4 | 29.73 | no speculative decoding |
60
+ | NVFP4 + this DFlash drafter | 48.76 paired / 49.04 standalone run | stock vLLM, DFlash |
61
+
62
+ Paired speedup summary:
63
+
64
+ - Ratio of mean decode throughput: 1.64x
65
+ - Mean paired request speedup: 1.64x
66
+ - Median paired request speedup: 1.63x
67
+ - p05/p95 paired speedup: 1.37x / 1.97x
68
+ - Requests at least 1.5x faster: 70 / 100
69
+ - Requests at least 2.0x faster: 5 / 100
70
+ - Requests slower than baseline: 0 / 100
71
+
72
+ The raw benchmark artifacts are included under [`benchmark/`](benchmark/):
73
+
74
+ - `dflash20k-b4-l1-v28k-elyza100-streaming.json`
75
+ - `dflash20k-b4-l1-v28k-elyza100-streaming.csv`
76
+ - `elyza100-baseline-vs-dflash-summary.json`
77
+ - `elyza100-baseline-vs-dflash-speedup.png`
78
+ - `dflash20k-b4-l1-elyza100-tps-histogram.png`
79
+
80
+ ![Decode speedup distribution](benchmark/elyza100-baseline-vs-dflash-speedup.png)
81
+
82
+ ## Validation Metrics
83
+
84
+ The released checkpoint's held-out validation metrics:
85
+
86
+ ```json
87
+ {
88
+ "loss_epoch": 2.047496609403255,
89
+ "full_acc_epoch": 0.4021220020978507,
90
+ "position_1_acc_epoch": 0.5539027137301571,
91
+ "position_2_acc_epoch": 0.38056573750461736,
92
+ "position_3_acc_epoch": 0.27111557473966125
93
+ }
94
+ ```
95
+
96
+ ## Files
97
+
98
+ - `model.safetensors`: released drafter weights
99
+ - `config.json`: DFlash/speculators configuration consumed by vLLM
100
+ - `config.py`: custom config class required by the drafter
101
+ - `val_metrics.json`: validation metrics from the selected checkpoint
102
+ - `benchmark/`: benchmark summaries, per-request CSV/JSON, and plots
103
+
104
+ ## Limitations
105
+
106
+ - This artifact is useful only with a compatible verifier model and DFlash-capable
107
+ vLLM runtime.
108
+ - The published benchmark is throughput-oriented and uses Japanese ELYZA-100
109
+ prompts. It is not a general quality evaluation of the verifier model.
110
+ - Speedup depends on prompt mix, max token settings, batching, hardware, and vLLM
111
+ version.
112
+
113
+ ## License
114
+
115
+ Apache-2.0, following the verifier model release.
UPLOAD.md ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Publishing Instructions
2
+
3
+ Recommended Hub repository:
4
+
5
+ ```text
6
+ kel-jp/llm-jp-4-8b-instruct-NVFP4-speculator.dflash
7
+ ```
8
+
9
+ Publish this as a new model repository, not as a new revision of
10
+ `kel-jp/llm-jp-4-8b-instruct-NVFP4`. The NVFP4 repository is the verifier model;
11
+ this repository is a companion draft model used through vLLM speculative decoding.
12
+
13
+ ## CLI Upload
14
+
15
+ ```bash
16
+ cd /home/dgx/ege/kel-jp
17
+ hf auth login
18
+ HF_XET_HIGH_PERFORMANCE=1 hf upload \
19
+ kel-jp/llm-jp-4-8b-instruct-NVFP4-speculator.dflash \
20
+ release/llm-jp-4-8b-instruct-NVFP4-speculator.dflash \
21
+ .
22
+ ```
23
+
24
+ If the repo does not exist yet, create it first:
25
+
26
+ ```bash
27
+ hf repos create kel-jp/llm-jp-4-8b-instruct-NVFP4-speculator.dflash --type model
28
+ ```
29
+
30
+ To create it private instead:
31
+
32
+ ```bash
33
+ hf repos create kel-jp/llm-jp-4-8b-instruct-NVFP4-speculator.dflash --type model --private
34
+ ```
35
+
36
+ ## Python Upload
37
+
38
+ ```python
39
+ from huggingface_hub import HfApi, create_repo
40
+
41
+ repo_id = "kel-jp/llm-jp-4-8b-instruct-NVFP4-speculator.dflash"
42
+ local_dir = "/home/dgx/ege/kel-jp/release/llm-jp-4-8b-instruct-NVFP4-speculator.dflash"
43
+
44
+ create_repo(repo_id, repo_type="model", exist_ok=True)
45
+
46
+ HfApi().upload_folder(
47
+ repo_id=repo_id,
48
+ repo_type="model",
49
+ folder_path=local_dir,
50
+ commit_message="Release DFlash drafter for llm-jp-4-8b-instruct-NVFP4",
51
+ )
52
+ ```
53
+
54
+ ## Suggested First Release Tag
55
+
56
+ After upload, tag the initial checkpoint as:
57
+
58
+ ```text
59
+ b4-l1-v28k-elyza100
60
+ ```
61
+
62
+ Use later tags or branches for future drafters with different block sizes,
63
+ layer counts, vocab widths, verifier revisions, or benchmark suites.
benchmark/dflash20k-b4-l1-elyza100-tps-histogram.png ADDED
benchmark/dflash20k-b4-l1-v28k-elyza100-streaming.csv ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ prompt_tokens,completion_tokens,ttft_ms,decode_seconds,decode_tokens_per_second,e2e_seconds,e2e_tokens_per_second,index,prompt_characters
2
+ 89,128,240.89696002192795,2.545692512008827,49.888193252288445,2.786589472030755,45.934286799238755,0,28
3
+ 100,128,257.2139200055972,3.243633327947464,39.15362408745634,3.500847247953061,36.562577837362475,1,50
4
+ 86,128,147.0602560439147,2.0904240959789604,60.753222393623915,2.237484352022875,57.20710398902999,2,24
5
+ 223,128,246.14515202119946,2.5264487200183794,50.26818830467934,2.772593872039579,46.16615555953764,3,323
6
+ 87,128,149.6418240130879,2.5420003199833445,49.960654607955405,2.6916421439964324,47.55461281712256,4,15
7
+ 138,128,184.6838559722528,2.7219324320321903,46.65802813671683,2.906616288004443,44.037460509752826,5,107
8
+ 197,128,191.15900801261887,2.903922384022735,43.73395125804633,3.095081392035354,41.35593988881372,6,286
9
+ 129,128,151.36272000381723,2.6518156320089474,47.89171557292166,2.8031783520127647,45.662453089398404,7,77
10
+ 253,128,189.83232002938166,2.5254691839800216,50.2876854746863,2.7153015040094033,47.140253047772305,8,359
11
+ 107,128,181.43943999893963,2.6863999040215276,47.27516547699455,2.8678393440204673,44.63290465237668,9,76
12
+ 115,128,185.43846398824826,2.791916431975551,45.48846754346985,2.977354895963799,42.99117991392999,10,93
13
+ 136,128,187.10769596509635,3.0453063839813694,41.70352141513028,3.232414079946466,39.598887034336855,11,126
14
+ 239,128,158.63804804394022,2.879851776000578,44.099491876061926,3.038489824044518,42.12619011822783,12,301
15
+ 113,128,151.9024320296012,2.936355519981589,43.25089354329829,3.0882579520111904,41.44731495522955,13,76
16
+ 239,128,158.4336319938302,2.4920913279638626,50.961214211906125,2.6505249599576928,48.29232017571459,14,323
17
+ 122,128,219.40715197706595,2.4481918240198866,51.875020067450556,2.6675989759969525,47.983224297108976,15,120
18
+ 152,128,183.11686400556937,2.5510446240077727,49.78352742433762,2.734161488013342,46.81508409841789,16,182
19
+ 141,128,154.21734401024878,2.864302864007186,44.338886643546424,3.018520208017435,42.40488424096735,17,140
20
+ 196,128,159.43828801391646,2.804585279955063,45.282987437641715,2.9640235679689795,43.18454191229954,18,191
21
+ 118,128,153.91444804845378,2.8666789119597524,44.302136339775416,3.020593360008206,42.37578010157986,19,75
22
+ 269,128,159.85811199061573,2.6029292000457644,48.791184945701595,2.76278731203638,46.330023104693666,20,368
23
+ 151,128,218.98252802202478,2.907417631999124,43.68137504644474,3.1264001600211486,40.941656041603494,21,137
24
+ 83,128,216.05988795636222,2.797060272016097,45.40481350030384,3.013120159972459,42.4808813469855,22,8
25
+ 257,128,162.47585602104664,2.4971475200145505,50.858028603476335,2.659623376035597,48.12711497174283,23,379
26
+ 264,128,191.5586399845779,2.643744495988358,48.03792506904921,2.8353031359729357,45.14508462111115,24,480
27
+ 115,128,187.85404798109084,2.101830688014161,60.42351590174534,2.2896847359952517,55.90289265057381,25,82
28
+ 167,128,154.14873597910628,2.2119666560320184,57.414970362989806,2.3661153920111246,54.09710804138084,26,145
29
+ 86,128,146.7720319633372,2.3094228000263683,54.992095859861585,2.4561948319897056,52.11312976190501,27,11
30
+ 95,128,181.20713595999405,2.489829232043121,51.00751423654283,2.671036368003115,47.92147405154714,28,33
31
+ 138,128,184.11780800670385,2.6619341599871404,47.70966987425922,2.8460519679938443,44.974582839478515,29,155
32
+ 89,128,151.55057597439736,2.448815823998302,51.86180142883953,2.6003663999726996,49.22383245735825,30,23
33
+ 122,128,153.96367997163907,2.561781839991454,49.57486934188887,2.715745519963093,47.13254576288117,31,97
34
+ 94,128,150.61763202538714,2.6968333919649012,47.09226768638768,2.8474510239902884,44.95248519520684,32,61
35
+ 132,128,186.14015995990485,2.2456431520404294,56.553954213342244,2.4317833120003343,52.636268769650314,33,136
36
+ 114,128,154.66494398424402,2.8738129920093343,44.192158763679046,3.0284779359935783,42.26545568607749,34,82
37
+ 97,128,179.51884801732376,2.5915289919939823,49.005818724136,2.771047840011306,46.191912731278485,35,49
38
+ 116,128,155.2071999758482,2.419067424023524,52.49957018096119,2.574274623999372,49.72274473231618,36,101
39
+ 127,128,185.88307203026488,3.1969690079567954,39.72512704499646,3.3828520799870603,37.837894466993546,37,118
40
+ 99,128,181.75656005041674,2.491517999966163,50.97294099489739,2.67327456001658,47.88135192488651,38,44
41
+ 89,128,183.00852802349254,2.558840816025622,49.63184861075325,2.7418493440491147,46.683819546033796,39,21
42
+ 131,128,153.34939199965447,3.088830400025472,41.11588645299292,3.2421797920251265,39.47961193109799,40,99
43
+ 164,128,152.6076800073497,2.217368912009988,57.27508819670325,2.3699765920173377,54.00897225362284,41,255
44
+ 119,128,186.0543679795228,2.4219749600160867,52.436545421244354,2.6080293279956095,49.079202686103955,42,98
45
+ 109,128,182.9020160366781,2.386754415987525,53.210334146361454,2.5696564320242032,49.812106554326476,43,69
46
+ 116,128,184.15585602633655,2.352350127999671,53.988561689154196,2.5365059840260074,50.46311769264393,44,63
47
+ 99,128,150.65185603452846,2.1394616479519755,59.36072755572516,2.290113503986504,55.89242619511418,45,51
48
+ 87,128,216.31857595639303,2.6657414400251582,47.64152970469688,2.8820600159815513,44.412676797227164,46,16
49
+ 121,128,156.02417598711327,2.62969036801951,48.29465915245645,2.7857145440066233,45.94871368833822,47,83
50
+ 103,128,150.48937598476186,2.4914338079979643,50.97466350191864,2.641923183982726,48.44955401278499,48,52
51
+ 128,128,183.87961603002623,2.286609119968489,55.54075635006221,2.470488735998515,51.81161044568184,49,82
52
+ 116,128,154.44545599166304,2.423129935981706,52.41155173486282,2.577575391973369,49.659071233607776,50,89
53
+ 202,128,191.38249597745016,2.990655552013777,42.465605881788605,3.1820380479912274,40.22579179428872,51,202
54
+ 133,128,153.75451202271506,2.5296551039791666,50.20447245959658,2.6834096160018817,47.70050730857567,52,73
55
+ 97,128,148.5070079797879,2.6631859360495582,47.687244920039525,2.811692944029346,45.52417442018663,53,42
56
+ 208,128,194.71399998292327,2.8161441440461203,45.09712340843875,3.0108581440290436,42.51279664365525,54,254
57
+ 113,128,154.7356799710542,3.018775232019834,42.07004173511305,3.1735109119908884,40.33387738367654,55,85
58
+ 127,128,155.87502403650433,2.9150032319594175,43.56770469672264,3.070878255995922,41.68188685112432,56,107
59
+ 144,128,153.51360000204295,2.4251393599552102,52.36812452804591,2.578652959957253,49.638319691581096,57,121
60
+ 230,128,160.93422402627766,2.8165897599537857,45.08998854063994,2.9775239839800633,42.98873852525685,58,346
61
+ 124,128,188.24977602344006,3.1212593279778957,40.6887049921215,3.309509104001336,38.67643084747603,59,93
62
+ 170,128,186.31780799478292,2.6343118080403656,48.20993460697192,2.8206296160351485,45.37993902933088,60,207
63
+ 148,128,152.77222398435697,2.597186352009885,48.89907106654803,2.749958575994242,46.546155682989465,61,122
64
+ 123,128,154.4233439490199,2.4211461600498296,52.45449535247646,2.5755695039988495,49.69774638240831,62,88
65
+ 98,128,181.36867199791595,2.244091311993543,56.59306255554249,2.425459983991459,52.77349486069721,63,43
66
+ 196,128,190.48356800340116,2.921752463968005,43.46706354018864,3.112236031971406,41.127986015546526,64,177
67
+ 280,128,196.39590400038287,2.8607529280125163,44.3939071970931,3.057148832012899,41.869077049716864,65,494
68
+ 100,128,182.66371201025322,2.8731081599835306,44.203000001478536,3.055771871993784,41.88794365610954,66,56
69
+ 111,128,150.77420801389962,2.348080655967351,54.086728101628665,2.4988548639812507,51.223463133055496,67,68
70
+ 222,128,160.28342401841655,2.040870528027881,62.22834729389802,2.2011539520462975,58.151316440635654,68,333
71
+ 86,128,182.60081601329148,2.1359057759982534,59.45955174012501,2.318506592011545,55.20795172246922,69,20
72
+ 116,128,152.41059195250273,2.3862265280331485,53.222105490831154,2.5386371199856512,50.42075489730627,70,70
73
+ 122,128,155.00452800188214,2.5244410719606094,50.308165799792405,2.6794455999624915,47.77107622628794,71,100
74
+ 123,128,188.91860800795257,3.0515632319729775,41.61801357066705,3.24048183998093,39.50029851139461,72,100
75
+ 304,128,162.21892804605886,2.8239016799489036,44.973237171025715,2.9861206079949625,42.864979953353554,73,516
76
+ 96,128,181.1951840063557,2.3167113279923797,54.8190870677254,2.4979065119987354,51.242910567369066,74,51
77
+ 98,128,185.27556798653677,2.910698832012713,43.632133494271905,3.0959743999992497,41.3440111132802,75,38
78
+ 146,128,153.3910240395926,2.8828183519653976,44.05411111436007,3.03620937600499,42.15783042222897,76,133
79
+ 140,128,185.16944005386904,2.3894321440020576,53.15070374306082,2.5746015840559267,49.71643022076985,77,158
80
+ 89,128,150.22780798608437,2.3469663040013984,54.11240876508312,2.4971941119874828,51.257529154642505,78,17
81
+ 163,128,188.56855999911204,3.0211055999970995,42.037590476851236,3.2096741599962115,39.87943748163866,79,193
82
+ 154,128,154.23041599569842,2.458247360016685,51.66282371158044,2.6124777760123834,48.99563210653443,80,151
83
+ 119,128,183.22851200355217,2.7403013600269333,46.34526766017872,2.9235298720304854,43.782689284135785,81,75
84
+ 274,128,190.3801920125261,2.998549023992382,42.35381812464329,3.188929216004908,40.138865220833736,82,413
85
+ 96,128,149.46897595655173,2.839366831991356,44.72828187224054,2.9888358079479076,42.82603937614191,83,53
86
+ 187,128,192.14686402119696,3.0270581119693816,41.95492630214976,3.2192049759905785,39.761369951477924,84,243
87
+ 175,128,154.42934399470687,2.2495230400236323,56.45641219956823,2.403952384018339,53.24564698159326,85,193
88
+ 95,128,183.63060802221298,2.5285595359746367,50.226224928909055,2.7121901439968497,47.19433122464318,86,54
89
+ 135,128,153.55235198512673,2.1443000319995917,59.226786412706716,2.2978523839847185,55.70418748050059,87,153
90
+ 132,128,184.29516803007573,2.5293376480112784,50.21077359911013,2.713632816041354,47.16924089484086,88,83
91
+ 151,128,182.26567999226972,2.9498485919903032,43.05305714498091,3.132114271982573,40.86696361783067,89,154
92
+ 98,128,180.34731200896204,2.209185392013751,57.48725320161337,2.389532704022713,53.56695883865306,90,47
93
+ 120,128,184.92633604910225,2.5972612960031256,48.89766008350327,2.782187632052228,46.00696176108843,91,91
94
+ 129,128,154.7068800427951,3.1600337119889446,40.1894446626221,3.3147405920317397,38.61538978576407,92,149
95
+ 126,128,154.17582396185026,2.7378541760263033,46.38669258284846,2.8920299999881536,44.259568538543625,93,129
96
+ 176,128,184.01340796845034,2.775731760018971,45.75370063825332,2.959745167987421,43.246966456587856,94,181
97
+ 151,128,184.33799996273592,2.530220592045225,50.19325208216075,2.714558592007961,47.15315424645828,95,182
98
+ 113,128,154.31780798826367,2.4937886080006137,50.92652985604173,2.6481064159888774,48.336426069267766,96,72
99
+ 159,128,154.63102399371564,2.0045958719565533,63.35441560898941,2.159226895950269,59.28047684107214,97,144
100
+ 135,128,154.29542399942875,3.126877536007669,40.615597680921944,3.2811729600070976,39.01043972998093,98,146
101
+ 183,128,160.44097597477958,2.536386896041222,50.07122541053215,2.6968278720160015,47.46317009261484,99,214
benchmark/dflash20k-b4-l1-v28k-elyza100-streaming.json ADDED
@@ -0,0 +1,1120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": "training/data/benchmarks/elyza-tasks-100/test.csv",
3
+ "model": "llm-jp-4-8b-instruct-NVFP4",
4
+ "temperature": 0,
5
+ "max_tokens": 128,
6
+ "summary": {
7
+ "count": 100,
8
+ "mean": 49.038942024401024,
9
+ "median": 48.95244489534201,
10
+ "stdev": 5.541487810280493,
11
+ "min": 39.15362408745634,
12
+ "p05": 41.11588645299292,
13
+ "p25": 44.338886643546424,
14
+ "p75": 52.41155173486282,
15
+ "p95": 59.36072755572516,
16
+ "max": 63.35441560898941
17
+ },
18
+ "records": [
19
+ {
20
+ "prompt_tokens": 89,
21
+ "completion_tokens": 128,
22
+ "ttft_ms": 240.89696002192795,
23
+ "decode_seconds": 2.545692512008827,
24
+ "decode_tokens_per_second": 49.888193252288445,
25
+ "e2e_seconds": 2.786589472030755,
26
+ "e2e_tokens_per_second": 45.934286799238755,
27
+ "index": 0,
28
+ "prompt_characters": 28
29
+ },
30
+ {
31
+ "prompt_tokens": 100,
32
+ "completion_tokens": 128,
33
+ "ttft_ms": 257.2139200055972,
34
+ "decode_seconds": 3.243633327947464,
35
+ "decode_tokens_per_second": 39.15362408745634,
36
+ "e2e_seconds": 3.500847247953061,
37
+ "e2e_tokens_per_second": 36.562577837362475,
38
+ "index": 1,
39
+ "prompt_characters": 50
40
+ },
41
+ {
42
+ "prompt_tokens": 86,
43
+ "completion_tokens": 128,
44
+ "ttft_ms": 147.0602560439147,
45
+ "decode_seconds": 2.0904240959789604,
46
+ "decode_tokens_per_second": 60.753222393623915,
47
+ "e2e_seconds": 2.237484352022875,
48
+ "e2e_tokens_per_second": 57.20710398902999,
49
+ "index": 2,
50
+ "prompt_characters": 24
51
+ },
52
+ {
53
+ "prompt_tokens": 223,
54
+ "completion_tokens": 128,
55
+ "ttft_ms": 246.14515202119946,
56
+ "decode_seconds": 2.5264487200183794,
57
+ "decode_tokens_per_second": 50.26818830467934,
58
+ "e2e_seconds": 2.772593872039579,
59
+ "e2e_tokens_per_second": 46.16615555953764,
60
+ "index": 3,
61
+ "prompt_characters": 323
62
+ },
63
+ {
64
+ "prompt_tokens": 87,
65
+ "completion_tokens": 128,
66
+ "ttft_ms": 149.6418240130879,
67
+ "decode_seconds": 2.5420003199833445,
68
+ "decode_tokens_per_second": 49.960654607955405,
69
+ "e2e_seconds": 2.6916421439964324,
70
+ "e2e_tokens_per_second": 47.55461281712256,
71
+ "index": 4,
72
+ "prompt_characters": 15
73
+ },
74
+ {
75
+ "prompt_tokens": 138,
76
+ "completion_tokens": 128,
77
+ "ttft_ms": 184.6838559722528,
78
+ "decode_seconds": 2.7219324320321903,
79
+ "decode_tokens_per_second": 46.65802813671683,
80
+ "e2e_seconds": 2.906616288004443,
81
+ "e2e_tokens_per_second": 44.037460509752826,
82
+ "index": 5,
83
+ "prompt_characters": 107
84
+ },
85
+ {
86
+ "prompt_tokens": 197,
87
+ "completion_tokens": 128,
88
+ "ttft_ms": 191.15900801261887,
89
+ "decode_seconds": 2.903922384022735,
90
+ "decode_tokens_per_second": 43.73395125804633,
91
+ "e2e_seconds": 3.095081392035354,
92
+ "e2e_tokens_per_second": 41.35593988881372,
93
+ "index": 6,
94
+ "prompt_characters": 286
95
+ },
96
+ {
97
+ "prompt_tokens": 129,
98
+ "completion_tokens": 128,
99
+ "ttft_ms": 151.36272000381723,
100
+ "decode_seconds": 2.6518156320089474,
101
+ "decode_tokens_per_second": 47.89171557292166,
102
+ "e2e_seconds": 2.8031783520127647,
103
+ "e2e_tokens_per_second": 45.662453089398404,
104
+ "index": 7,
105
+ "prompt_characters": 77
106
+ },
107
+ {
108
+ "prompt_tokens": 253,
109
+ "completion_tokens": 128,
110
+ "ttft_ms": 189.83232002938166,
111
+ "decode_seconds": 2.5254691839800216,
112
+ "decode_tokens_per_second": 50.2876854746863,
113
+ "e2e_seconds": 2.7153015040094033,
114
+ "e2e_tokens_per_second": 47.140253047772305,
115
+ "index": 8,
116
+ "prompt_characters": 359
117
+ },
118
+ {
119
+ "prompt_tokens": 107,
120
+ "completion_tokens": 128,
121
+ "ttft_ms": 181.43943999893963,
122
+ "decode_seconds": 2.6863999040215276,
123
+ "decode_tokens_per_second": 47.27516547699455,
124
+ "e2e_seconds": 2.8678393440204673,
125
+ "e2e_tokens_per_second": 44.63290465237668,
126
+ "index": 9,
127
+ "prompt_characters": 76
128
+ },
129
+ {
130
+ "prompt_tokens": 115,
131
+ "completion_tokens": 128,
132
+ "ttft_ms": 185.43846398824826,
133
+ "decode_seconds": 2.791916431975551,
134
+ "decode_tokens_per_second": 45.48846754346985,
135
+ "e2e_seconds": 2.977354895963799,
136
+ "e2e_tokens_per_second": 42.99117991392999,
137
+ "index": 10,
138
+ "prompt_characters": 93
139
+ },
140
+ {
141
+ "prompt_tokens": 136,
142
+ "completion_tokens": 128,
143
+ "ttft_ms": 187.10769596509635,
144
+ "decode_seconds": 3.0453063839813694,
145
+ "decode_tokens_per_second": 41.70352141513028,
146
+ "e2e_seconds": 3.232414079946466,
147
+ "e2e_tokens_per_second": 39.598887034336855,
148
+ "index": 11,
149
+ "prompt_characters": 126
150
+ },
151
+ {
152
+ "prompt_tokens": 239,
153
+ "completion_tokens": 128,
154
+ "ttft_ms": 158.63804804394022,
155
+ "decode_seconds": 2.879851776000578,
156
+ "decode_tokens_per_second": 44.099491876061926,
157
+ "e2e_seconds": 3.038489824044518,
158
+ "e2e_tokens_per_second": 42.12619011822783,
159
+ "index": 12,
160
+ "prompt_characters": 301
161
+ },
162
+ {
163
+ "prompt_tokens": 113,
164
+ "completion_tokens": 128,
165
+ "ttft_ms": 151.9024320296012,
166
+ "decode_seconds": 2.936355519981589,
167
+ "decode_tokens_per_second": 43.25089354329829,
168
+ "e2e_seconds": 3.0882579520111904,
169
+ "e2e_tokens_per_second": 41.44731495522955,
170
+ "index": 13,
171
+ "prompt_characters": 76
172
+ },
173
+ {
174
+ "prompt_tokens": 239,
175
+ "completion_tokens": 128,
176
+ "ttft_ms": 158.4336319938302,
177
+ "decode_seconds": 2.4920913279638626,
178
+ "decode_tokens_per_second": 50.961214211906125,
179
+ "e2e_seconds": 2.6505249599576928,
180
+ "e2e_tokens_per_second": 48.29232017571459,
181
+ "index": 14,
182
+ "prompt_characters": 323
183
+ },
184
+ {
185
+ "prompt_tokens": 122,
186
+ "completion_tokens": 128,
187
+ "ttft_ms": 219.40715197706595,
188
+ "decode_seconds": 2.4481918240198866,
189
+ "decode_tokens_per_second": 51.875020067450556,
190
+ "e2e_seconds": 2.6675989759969525,
191
+ "e2e_tokens_per_second": 47.983224297108976,
192
+ "index": 15,
193
+ "prompt_characters": 120
194
+ },
195
+ {
196
+ "prompt_tokens": 152,
197
+ "completion_tokens": 128,
198
+ "ttft_ms": 183.11686400556937,
199
+ "decode_seconds": 2.5510446240077727,
200
+ "decode_tokens_per_second": 49.78352742433762,
201
+ "e2e_seconds": 2.734161488013342,
202
+ "e2e_tokens_per_second": 46.81508409841789,
203
+ "index": 16,
204
+ "prompt_characters": 182
205
+ },
206
+ {
207
+ "prompt_tokens": 141,
208
+ "completion_tokens": 128,
209
+ "ttft_ms": 154.21734401024878,
210
+ "decode_seconds": 2.864302864007186,
211
+ "decode_tokens_per_second": 44.338886643546424,
212
+ "e2e_seconds": 3.018520208017435,
213
+ "e2e_tokens_per_second": 42.40488424096735,
214
+ "index": 17,
215
+ "prompt_characters": 140
216
+ },
217
+ {
218
+ "prompt_tokens": 196,
219
+ "completion_tokens": 128,
220
+ "ttft_ms": 159.43828801391646,
221
+ "decode_seconds": 2.804585279955063,
222
+ "decode_tokens_per_second": 45.282987437641715,
223
+ "e2e_seconds": 2.9640235679689795,
224
+ "e2e_tokens_per_second": 43.18454191229954,
225
+ "index": 18,
226
+ "prompt_characters": 191
227
+ },
228
+ {
229
+ "prompt_tokens": 118,
230
+ "completion_tokens": 128,
231
+ "ttft_ms": 153.91444804845378,
232
+ "decode_seconds": 2.8666789119597524,
233
+ "decode_tokens_per_second": 44.302136339775416,
234
+ "e2e_seconds": 3.020593360008206,
235
+ "e2e_tokens_per_second": 42.37578010157986,
236
+ "index": 19,
237
+ "prompt_characters": 75
238
+ },
239
+ {
240
+ "prompt_tokens": 269,
241
+ "completion_tokens": 128,
242
+ "ttft_ms": 159.85811199061573,
243
+ "decode_seconds": 2.6029292000457644,
244
+ "decode_tokens_per_second": 48.791184945701595,
245
+ "e2e_seconds": 2.76278731203638,
246
+ "e2e_tokens_per_second": 46.330023104693666,
247
+ "index": 20,
248
+ "prompt_characters": 368
249
+ },
250
+ {
251
+ "prompt_tokens": 151,
252
+ "completion_tokens": 128,
253
+ "ttft_ms": 218.98252802202478,
254
+ "decode_seconds": 2.907417631999124,
255
+ "decode_tokens_per_second": 43.68137504644474,
256
+ "e2e_seconds": 3.1264001600211486,
257
+ "e2e_tokens_per_second": 40.941656041603494,
258
+ "index": 21,
259
+ "prompt_characters": 137
260
+ },
261
+ {
262
+ "prompt_tokens": 83,
263
+ "completion_tokens": 128,
264
+ "ttft_ms": 216.05988795636222,
265
+ "decode_seconds": 2.797060272016097,
266
+ "decode_tokens_per_second": 45.40481350030384,
267
+ "e2e_seconds": 3.013120159972459,
268
+ "e2e_tokens_per_second": 42.4808813469855,
269
+ "index": 22,
270
+ "prompt_characters": 8
271
+ },
272
+ {
273
+ "prompt_tokens": 257,
274
+ "completion_tokens": 128,
275
+ "ttft_ms": 162.47585602104664,
276
+ "decode_seconds": 2.4971475200145505,
277
+ "decode_tokens_per_second": 50.858028603476335,
278
+ "e2e_seconds": 2.659623376035597,
279
+ "e2e_tokens_per_second": 48.12711497174283,
280
+ "index": 23,
281
+ "prompt_characters": 379
282
+ },
283
+ {
284
+ "prompt_tokens": 264,
285
+ "completion_tokens": 128,
286
+ "ttft_ms": 191.5586399845779,
287
+ "decode_seconds": 2.643744495988358,
288
+ "decode_tokens_per_second": 48.03792506904921,
289
+ "e2e_seconds": 2.8353031359729357,
290
+ "e2e_tokens_per_second": 45.14508462111115,
291
+ "index": 24,
292
+ "prompt_characters": 480
293
+ },
294
+ {
295
+ "prompt_tokens": 115,
296
+ "completion_tokens": 128,
297
+ "ttft_ms": 187.85404798109084,
298
+ "decode_seconds": 2.101830688014161,
299
+ "decode_tokens_per_second": 60.42351590174534,
300
+ "e2e_seconds": 2.2896847359952517,
301
+ "e2e_tokens_per_second": 55.90289265057381,
302
+ "index": 25,
303
+ "prompt_characters": 82
304
+ },
305
+ {
306
+ "prompt_tokens": 167,
307
+ "completion_tokens": 128,
308
+ "ttft_ms": 154.14873597910628,
309
+ "decode_seconds": 2.2119666560320184,
310
+ "decode_tokens_per_second": 57.414970362989806,
311
+ "e2e_seconds": 2.3661153920111246,
312
+ "e2e_tokens_per_second": 54.09710804138084,
313
+ "index": 26,
314
+ "prompt_characters": 145
315
+ },
316
+ {
317
+ "prompt_tokens": 86,
318
+ "completion_tokens": 128,
319
+ "ttft_ms": 146.7720319633372,
320
+ "decode_seconds": 2.3094228000263683,
321
+ "decode_tokens_per_second": 54.992095859861585,
322
+ "e2e_seconds": 2.4561948319897056,
323
+ "e2e_tokens_per_second": 52.11312976190501,
324
+ "index": 27,
325
+ "prompt_characters": 11
326
+ },
327
+ {
328
+ "prompt_tokens": 95,
329
+ "completion_tokens": 128,
330
+ "ttft_ms": 181.20713595999405,
331
+ "decode_seconds": 2.489829232043121,
332
+ "decode_tokens_per_second": 51.00751423654283,
333
+ "e2e_seconds": 2.671036368003115,
334
+ "e2e_tokens_per_second": 47.92147405154714,
335
+ "index": 28,
336
+ "prompt_characters": 33
337
+ },
338
+ {
339
+ "prompt_tokens": 138,
340
+ "completion_tokens": 128,
341
+ "ttft_ms": 184.11780800670385,
342
+ "decode_seconds": 2.6619341599871404,
343
+ "decode_tokens_per_second": 47.70966987425922,
344
+ "e2e_seconds": 2.8460519679938443,
345
+ "e2e_tokens_per_second": 44.974582839478515,
346
+ "index": 29,
347
+ "prompt_characters": 155
348
+ },
349
+ {
350
+ "prompt_tokens": 89,
351
+ "completion_tokens": 128,
352
+ "ttft_ms": 151.55057597439736,
353
+ "decode_seconds": 2.448815823998302,
354
+ "decode_tokens_per_second": 51.86180142883953,
355
+ "e2e_seconds": 2.6003663999726996,
356
+ "e2e_tokens_per_second": 49.22383245735825,
357
+ "index": 30,
358
+ "prompt_characters": 23
359
+ },
360
+ {
361
+ "prompt_tokens": 122,
362
+ "completion_tokens": 128,
363
+ "ttft_ms": 153.96367997163907,
364
+ "decode_seconds": 2.561781839991454,
365
+ "decode_tokens_per_second": 49.57486934188887,
366
+ "e2e_seconds": 2.715745519963093,
367
+ "e2e_tokens_per_second": 47.13254576288117,
368
+ "index": 31,
369
+ "prompt_characters": 97
370
+ },
371
+ {
372
+ "prompt_tokens": 94,
373
+ "completion_tokens": 128,
374
+ "ttft_ms": 150.61763202538714,
375
+ "decode_seconds": 2.6968333919649012,
376
+ "decode_tokens_per_second": 47.09226768638768,
377
+ "e2e_seconds": 2.8474510239902884,
378
+ "e2e_tokens_per_second": 44.95248519520684,
379
+ "index": 32,
380
+ "prompt_characters": 61
381
+ },
382
+ {
383
+ "prompt_tokens": 132,
384
+ "completion_tokens": 128,
385
+ "ttft_ms": 186.14015995990485,
386
+ "decode_seconds": 2.2456431520404294,
387
+ "decode_tokens_per_second": 56.553954213342244,
388
+ "e2e_seconds": 2.4317833120003343,
389
+ "e2e_tokens_per_second": 52.636268769650314,
390
+ "index": 33,
391
+ "prompt_characters": 136
392
+ },
393
+ {
394
+ "prompt_tokens": 114,
395
+ "completion_tokens": 128,
396
+ "ttft_ms": 154.66494398424402,
397
+ "decode_seconds": 2.8738129920093343,
398
+ "decode_tokens_per_second": 44.192158763679046,
399
+ "e2e_seconds": 3.0284779359935783,
400
+ "e2e_tokens_per_second": 42.26545568607749,
401
+ "index": 34,
402
+ "prompt_characters": 82
403
+ },
404
+ {
405
+ "prompt_tokens": 97,
406
+ "completion_tokens": 128,
407
+ "ttft_ms": 179.51884801732376,
408
+ "decode_seconds": 2.5915289919939823,
409
+ "decode_tokens_per_second": 49.005818724136,
410
+ "e2e_seconds": 2.771047840011306,
411
+ "e2e_tokens_per_second": 46.191912731278485,
412
+ "index": 35,
413
+ "prompt_characters": 49
414
+ },
415
+ {
416
+ "prompt_tokens": 116,
417
+ "completion_tokens": 128,
418
+ "ttft_ms": 155.2071999758482,
419
+ "decode_seconds": 2.419067424023524,
420
+ "decode_tokens_per_second": 52.49957018096119,
421
+ "e2e_seconds": 2.574274623999372,
422
+ "e2e_tokens_per_second": 49.72274473231618,
423
+ "index": 36,
424
+ "prompt_characters": 101
425
+ },
426
+ {
427
+ "prompt_tokens": 127,
428
+ "completion_tokens": 128,
429
+ "ttft_ms": 185.88307203026488,
430
+ "decode_seconds": 3.1969690079567954,
431
+ "decode_tokens_per_second": 39.72512704499646,
432
+ "e2e_seconds": 3.3828520799870603,
433
+ "e2e_tokens_per_second": 37.837894466993546,
434
+ "index": 37,
435
+ "prompt_characters": 118
436
+ },
437
+ {
438
+ "prompt_tokens": 99,
439
+ "completion_tokens": 128,
440
+ "ttft_ms": 181.75656005041674,
441
+ "decode_seconds": 2.491517999966163,
442
+ "decode_tokens_per_second": 50.97294099489739,
443
+ "e2e_seconds": 2.67327456001658,
444
+ "e2e_tokens_per_second": 47.88135192488651,
445
+ "index": 38,
446
+ "prompt_characters": 44
447
+ },
448
+ {
449
+ "prompt_tokens": 89,
450
+ "completion_tokens": 128,
451
+ "ttft_ms": 183.00852802349254,
452
+ "decode_seconds": 2.558840816025622,
453
+ "decode_tokens_per_second": 49.63184861075325,
454
+ "e2e_seconds": 2.7418493440491147,
455
+ "e2e_tokens_per_second": 46.683819546033796,
456
+ "index": 39,
457
+ "prompt_characters": 21
458
+ },
459
+ {
460
+ "prompt_tokens": 131,
461
+ "completion_tokens": 128,
462
+ "ttft_ms": 153.34939199965447,
463
+ "decode_seconds": 3.088830400025472,
464
+ "decode_tokens_per_second": 41.11588645299292,
465
+ "e2e_seconds": 3.2421797920251265,
466
+ "e2e_tokens_per_second": 39.47961193109799,
467
+ "index": 40,
468
+ "prompt_characters": 99
469
+ },
470
+ {
471
+ "prompt_tokens": 164,
472
+ "completion_tokens": 128,
473
+ "ttft_ms": 152.6076800073497,
474
+ "decode_seconds": 2.217368912009988,
475
+ "decode_tokens_per_second": 57.27508819670325,
476
+ "e2e_seconds": 2.3699765920173377,
477
+ "e2e_tokens_per_second": 54.00897225362284,
478
+ "index": 41,
479
+ "prompt_characters": 255
480
+ },
481
+ {
482
+ "prompt_tokens": 119,
483
+ "completion_tokens": 128,
484
+ "ttft_ms": 186.0543679795228,
485
+ "decode_seconds": 2.4219749600160867,
486
+ "decode_tokens_per_second": 52.436545421244354,
487
+ "e2e_seconds": 2.6080293279956095,
488
+ "e2e_tokens_per_second": 49.079202686103955,
489
+ "index": 42,
490
+ "prompt_characters": 98
491
+ },
492
+ {
493
+ "prompt_tokens": 109,
494
+ "completion_tokens": 128,
495
+ "ttft_ms": 182.9020160366781,
496
+ "decode_seconds": 2.386754415987525,
497
+ "decode_tokens_per_second": 53.210334146361454,
498
+ "e2e_seconds": 2.5696564320242032,
499
+ "e2e_tokens_per_second": 49.812106554326476,
500
+ "index": 43,
501
+ "prompt_characters": 69
502
+ },
503
+ {
504
+ "prompt_tokens": 116,
505
+ "completion_tokens": 128,
506
+ "ttft_ms": 184.15585602633655,
507
+ "decode_seconds": 2.352350127999671,
508
+ "decode_tokens_per_second": 53.988561689154196,
509
+ "e2e_seconds": 2.5365059840260074,
510
+ "e2e_tokens_per_second": 50.46311769264393,
511
+ "index": 44,
512
+ "prompt_characters": 63
513
+ },
514
+ {
515
+ "prompt_tokens": 99,
516
+ "completion_tokens": 128,
517
+ "ttft_ms": 150.65185603452846,
518
+ "decode_seconds": 2.1394616479519755,
519
+ "decode_tokens_per_second": 59.36072755572516,
520
+ "e2e_seconds": 2.290113503986504,
521
+ "e2e_tokens_per_second": 55.89242619511418,
522
+ "index": 45,
523
+ "prompt_characters": 51
524
+ },
525
+ {
526
+ "prompt_tokens": 87,
527
+ "completion_tokens": 128,
528
+ "ttft_ms": 216.31857595639303,
529
+ "decode_seconds": 2.6657414400251582,
530
+ "decode_tokens_per_second": 47.64152970469688,
531
+ "e2e_seconds": 2.8820600159815513,
532
+ "e2e_tokens_per_second": 44.412676797227164,
533
+ "index": 46,
534
+ "prompt_characters": 16
535
+ },
536
+ {
537
+ "prompt_tokens": 121,
538
+ "completion_tokens": 128,
539
+ "ttft_ms": 156.02417598711327,
540
+ "decode_seconds": 2.62969036801951,
541
+ "decode_tokens_per_second": 48.29465915245645,
542
+ "e2e_seconds": 2.7857145440066233,
543
+ "e2e_tokens_per_second": 45.94871368833822,
544
+ "index": 47,
545
+ "prompt_characters": 83
546
+ },
547
+ {
548
+ "prompt_tokens": 103,
549
+ "completion_tokens": 128,
550
+ "ttft_ms": 150.48937598476186,
551
+ "decode_seconds": 2.4914338079979643,
552
+ "decode_tokens_per_second": 50.97466350191864,
553
+ "e2e_seconds": 2.641923183982726,
554
+ "e2e_tokens_per_second": 48.44955401278499,
555
+ "index": 48,
556
+ "prompt_characters": 52
557
+ },
558
+ {
559
+ "prompt_tokens": 128,
560
+ "completion_tokens": 128,
561
+ "ttft_ms": 183.87961603002623,
562
+ "decode_seconds": 2.286609119968489,
563
+ "decode_tokens_per_second": 55.54075635006221,
564
+ "e2e_seconds": 2.470488735998515,
565
+ "e2e_tokens_per_second": 51.81161044568184,
566
+ "index": 49,
567
+ "prompt_characters": 82
568
+ },
569
+ {
570
+ "prompt_tokens": 116,
571
+ "completion_tokens": 128,
572
+ "ttft_ms": 154.44545599166304,
573
+ "decode_seconds": 2.423129935981706,
574
+ "decode_tokens_per_second": 52.41155173486282,
575
+ "e2e_seconds": 2.577575391973369,
576
+ "e2e_tokens_per_second": 49.659071233607776,
577
+ "index": 50,
578
+ "prompt_characters": 89
579
+ },
580
+ {
581
+ "prompt_tokens": 202,
582
+ "completion_tokens": 128,
583
+ "ttft_ms": 191.38249597745016,
584
+ "decode_seconds": 2.990655552013777,
585
+ "decode_tokens_per_second": 42.465605881788605,
586
+ "e2e_seconds": 3.1820380479912274,
587
+ "e2e_tokens_per_second": 40.22579179428872,
588
+ "index": 51,
589
+ "prompt_characters": 202
590
+ },
591
+ {
592
+ "prompt_tokens": 133,
593
+ "completion_tokens": 128,
594
+ "ttft_ms": 153.75451202271506,
595
+ "decode_seconds": 2.5296551039791666,
596
+ "decode_tokens_per_second": 50.20447245959658,
597
+ "e2e_seconds": 2.6834096160018817,
598
+ "e2e_tokens_per_second": 47.70050730857567,
599
+ "index": 52,
600
+ "prompt_characters": 73
601
+ },
602
+ {
603
+ "prompt_tokens": 97,
604
+ "completion_tokens": 128,
605
+ "ttft_ms": 148.5070079797879,
606
+ "decode_seconds": 2.6631859360495582,
607
+ "decode_tokens_per_second": 47.687244920039525,
608
+ "e2e_seconds": 2.811692944029346,
609
+ "e2e_tokens_per_second": 45.52417442018663,
610
+ "index": 53,
611
+ "prompt_characters": 42
612
+ },
613
+ {
614
+ "prompt_tokens": 208,
615
+ "completion_tokens": 128,
616
+ "ttft_ms": 194.71399998292327,
617
+ "decode_seconds": 2.8161441440461203,
618
+ "decode_tokens_per_second": 45.09712340843875,
619
+ "e2e_seconds": 3.0108581440290436,
620
+ "e2e_tokens_per_second": 42.51279664365525,
621
+ "index": 54,
622
+ "prompt_characters": 254
623
+ },
624
+ {
625
+ "prompt_tokens": 113,
626
+ "completion_tokens": 128,
627
+ "ttft_ms": 154.7356799710542,
628
+ "decode_seconds": 3.018775232019834,
629
+ "decode_tokens_per_second": 42.07004173511305,
630
+ "e2e_seconds": 3.1735109119908884,
631
+ "e2e_tokens_per_second": 40.33387738367654,
632
+ "index": 55,
633
+ "prompt_characters": 85
634
+ },
635
+ {
636
+ "prompt_tokens": 127,
637
+ "completion_tokens": 128,
638
+ "ttft_ms": 155.87502403650433,
639
+ "decode_seconds": 2.9150032319594175,
640
+ "decode_tokens_per_second": 43.56770469672264,
641
+ "e2e_seconds": 3.070878255995922,
642
+ "e2e_tokens_per_second": 41.68188685112432,
643
+ "index": 56,
644
+ "prompt_characters": 107
645
+ },
646
+ {
647
+ "prompt_tokens": 144,
648
+ "completion_tokens": 128,
649
+ "ttft_ms": 153.51360000204295,
650
+ "decode_seconds": 2.4251393599552102,
651
+ "decode_tokens_per_second": 52.36812452804591,
652
+ "e2e_seconds": 2.578652959957253,
653
+ "e2e_tokens_per_second": 49.638319691581096,
654
+ "index": 57,
655
+ "prompt_characters": 121
656
+ },
657
+ {
658
+ "prompt_tokens": 230,
659
+ "completion_tokens": 128,
660
+ "ttft_ms": 160.93422402627766,
661
+ "decode_seconds": 2.8165897599537857,
662
+ "decode_tokens_per_second": 45.08998854063994,
663
+ "e2e_seconds": 2.9775239839800633,
664
+ "e2e_tokens_per_second": 42.98873852525685,
665
+ "index": 58,
666
+ "prompt_characters": 346
667
+ },
668
+ {
669
+ "prompt_tokens": 124,
670
+ "completion_tokens": 128,
671
+ "ttft_ms": 188.24977602344006,
672
+ "decode_seconds": 3.1212593279778957,
673
+ "decode_tokens_per_second": 40.6887049921215,
674
+ "e2e_seconds": 3.309509104001336,
675
+ "e2e_tokens_per_second": 38.67643084747603,
676
+ "index": 59,
677
+ "prompt_characters": 93
678
+ },
679
+ {
680
+ "prompt_tokens": 170,
681
+ "completion_tokens": 128,
682
+ "ttft_ms": 186.31780799478292,
683
+ "decode_seconds": 2.6343118080403656,
684
+ "decode_tokens_per_second": 48.20993460697192,
685
+ "e2e_seconds": 2.8206296160351485,
686
+ "e2e_tokens_per_second": 45.37993902933088,
687
+ "index": 60,
688
+ "prompt_characters": 207
689
+ },
690
+ {
691
+ "prompt_tokens": 148,
692
+ "completion_tokens": 128,
693
+ "ttft_ms": 152.77222398435697,
694
+ "decode_seconds": 2.597186352009885,
695
+ "decode_tokens_per_second": 48.89907106654803,
696
+ "e2e_seconds": 2.749958575994242,
697
+ "e2e_tokens_per_second": 46.546155682989465,
698
+ "index": 61,
699
+ "prompt_characters": 122
700
+ },
701
+ {
702
+ "prompt_tokens": 123,
703
+ "completion_tokens": 128,
704
+ "ttft_ms": 154.4233439490199,
705
+ "decode_seconds": 2.4211461600498296,
706
+ "decode_tokens_per_second": 52.45449535247646,
707
+ "e2e_seconds": 2.5755695039988495,
708
+ "e2e_tokens_per_second": 49.69774638240831,
709
+ "index": 62,
710
+ "prompt_characters": 88
711
+ },
712
+ {
713
+ "prompt_tokens": 98,
714
+ "completion_tokens": 128,
715
+ "ttft_ms": 181.36867199791595,
716
+ "decode_seconds": 2.244091311993543,
717
+ "decode_tokens_per_second": 56.59306255554249,
718
+ "e2e_seconds": 2.425459983991459,
719
+ "e2e_tokens_per_second": 52.77349486069721,
720
+ "index": 63,
721
+ "prompt_characters": 43
722
+ },
723
+ {
724
+ "prompt_tokens": 196,
725
+ "completion_tokens": 128,
726
+ "ttft_ms": 190.48356800340116,
727
+ "decode_seconds": 2.921752463968005,
728
+ "decode_tokens_per_second": 43.46706354018864,
729
+ "e2e_seconds": 3.112236031971406,
730
+ "e2e_tokens_per_second": 41.127986015546526,
731
+ "index": 64,
732
+ "prompt_characters": 177
733
+ },
734
+ {
735
+ "prompt_tokens": 280,
736
+ "completion_tokens": 128,
737
+ "ttft_ms": 196.39590400038287,
738
+ "decode_seconds": 2.8607529280125163,
739
+ "decode_tokens_per_second": 44.3939071970931,
740
+ "e2e_seconds": 3.057148832012899,
741
+ "e2e_tokens_per_second": 41.869077049716864,
742
+ "index": 65,
743
+ "prompt_characters": 494
744
+ },
745
+ {
746
+ "prompt_tokens": 100,
747
+ "completion_tokens": 128,
748
+ "ttft_ms": 182.66371201025322,
749
+ "decode_seconds": 2.8731081599835306,
750
+ "decode_tokens_per_second": 44.203000001478536,
751
+ "e2e_seconds": 3.055771871993784,
752
+ "e2e_tokens_per_second": 41.88794365610954,
753
+ "index": 66,
754
+ "prompt_characters": 56
755
+ },
756
+ {
757
+ "prompt_tokens": 111,
758
+ "completion_tokens": 128,
759
+ "ttft_ms": 150.77420801389962,
760
+ "decode_seconds": 2.348080655967351,
761
+ "decode_tokens_per_second": 54.086728101628665,
762
+ "e2e_seconds": 2.4988548639812507,
763
+ "e2e_tokens_per_second": 51.223463133055496,
764
+ "index": 67,
765
+ "prompt_characters": 68
766
+ },
767
+ {
768
+ "prompt_tokens": 222,
769
+ "completion_tokens": 128,
770
+ "ttft_ms": 160.28342401841655,
771
+ "decode_seconds": 2.040870528027881,
772
+ "decode_tokens_per_second": 62.22834729389802,
773
+ "e2e_seconds": 2.2011539520462975,
774
+ "e2e_tokens_per_second": 58.151316440635654,
775
+ "index": 68,
776
+ "prompt_characters": 333
777
+ },
778
+ {
779
+ "prompt_tokens": 86,
780
+ "completion_tokens": 128,
781
+ "ttft_ms": 182.60081601329148,
782
+ "decode_seconds": 2.1359057759982534,
783
+ "decode_tokens_per_second": 59.45955174012501,
784
+ "e2e_seconds": 2.318506592011545,
785
+ "e2e_tokens_per_second": 55.20795172246922,
786
+ "index": 69,
787
+ "prompt_characters": 20
788
+ },
789
+ {
790
+ "prompt_tokens": 116,
791
+ "completion_tokens": 128,
792
+ "ttft_ms": 152.41059195250273,
793
+ "decode_seconds": 2.3862265280331485,
794
+ "decode_tokens_per_second": 53.222105490831154,
795
+ "e2e_seconds": 2.5386371199856512,
796
+ "e2e_tokens_per_second": 50.42075489730627,
797
+ "index": 70,
798
+ "prompt_characters": 70
799
+ },
800
+ {
801
+ "prompt_tokens": 122,
802
+ "completion_tokens": 128,
803
+ "ttft_ms": 155.00452800188214,
804
+ "decode_seconds": 2.5244410719606094,
805
+ "decode_tokens_per_second": 50.308165799792405,
806
+ "e2e_seconds": 2.6794455999624915,
807
+ "e2e_tokens_per_second": 47.77107622628794,
808
+ "index": 71,
809
+ "prompt_characters": 100
810
+ },
811
+ {
812
+ "prompt_tokens": 123,
813
+ "completion_tokens": 128,
814
+ "ttft_ms": 188.91860800795257,
815
+ "decode_seconds": 3.0515632319729775,
816
+ "decode_tokens_per_second": 41.61801357066705,
817
+ "e2e_seconds": 3.24048183998093,
818
+ "e2e_tokens_per_second": 39.50029851139461,
819
+ "index": 72,
820
+ "prompt_characters": 100
821
+ },
822
+ {
823
+ "prompt_tokens": 304,
824
+ "completion_tokens": 128,
825
+ "ttft_ms": 162.21892804605886,
826
+ "decode_seconds": 2.8239016799489036,
827
+ "decode_tokens_per_second": 44.973237171025715,
828
+ "e2e_seconds": 2.9861206079949625,
829
+ "e2e_tokens_per_second": 42.864979953353554,
830
+ "index": 73,
831
+ "prompt_characters": 516
832
+ },
833
+ {
834
+ "prompt_tokens": 96,
835
+ "completion_tokens": 128,
836
+ "ttft_ms": 181.1951840063557,
837
+ "decode_seconds": 2.3167113279923797,
838
+ "decode_tokens_per_second": 54.8190870677254,
839
+ "e2e_seconds": 2.4979065119987354,
840
+ "e2e_tokens_per_second": 51.242910567369066,
841
+ "index": 74,
842
+ "prompt_characters": 51
843
+ },
844
+ {
845
+ "prompt_tokens": 98,
846
+ "completion_tokens": 128,
847
+ "ttft_ms": 185.27556798653677,
848
+ "decode_seconds": 2.910698832012713,
849
+ "decode_tokens_per_second": 43.632133494271905,
850
+ "e2e_seconds": 3.0959743999992497,
851
+ "e2e_tokens_per_second": 41.3440111132802,
852
+ "index": 75,
853
+ "prompt_characters": 38
854
+ },
855
+ {
856
+ "prompt_tokens": 146,
857
+ "completion_tokens": 128,
858
+ "ttft_ms": 153.3910240395926,
859
+ "decode_seconds": 2.8828183519653976,
860
+ "decode_tokens_per_second": 44.05411111436007,
861
+ "e2e_seconds": 3.03620937600499,
862
+ "e2e_tokens_per_second": 42.15783042222897,
863
+ "index": 76,
864
+ "prompt_characters": 133
865
+ },
866
+ {
867
+ "prompt_tokens": 140,
868
+ "completion_tokens": 128,
869
+ "ttft_ms": 185.16944005386904,
870
+ "decode_seconds": 2.3894321440020576,
871
+ "decode_tokens_per_second": 53.15070374306082,
872
+ "e2e_seconds": 2.5746015840559267,
873
+ "e2e_tokens_per_second": 49.71643022076985,
874
+ "index": 77,
875
+ "prompt_characters": 158
876
+ },
877
+ {
878
+ "prompt_tokens": 89,
879
+ "completion_tokens": 128,
880
+ "ttft_ms": 150.22780798608437,
881
+ "decode_seconds": 2.3469663040013984,
882
+ "decode_tokens_per_second": 54.11240876508312,
883
+ "e2e_seconds": 2.4971941119874828,
884
+ "e2e_tokens_per_second": 51.257529154642505,
885
+ "index": 78,
886
+ "prompt_characters": 17
887
+ },
888
+ {
889
+ "prompt_tokens": 163,
890
+ "completion_tokens": 128,
891
+ "ttft_ms": 188.56855999911204,
892
+ "decode_seconds": 3.0211055999970995,
893
+ "decode_tokens_per_second": 42.037590476851236,
894
+ "e2e_seconds": 3.2096741599962115,
895
+ "e2e_tokens_per_second": 39.87943748163866,
896
+ "index": 79,
897
+ "prompt_characters": 193
898
+ },
899
+ {
900
+ "prompt_tokens": 154,
901
+ "completion_tokens": 128,
902
+ "ttft_ms": 154.23041599569842,
903
+ "decode_seconds": 2.458247360016685,
904
+ "decode_tokens_per_second": 51.66282371158044,
905
+ "e2e_seconds": 2.6124777760123834,
906
+ "e2e_tokens_per_second": 48.99563210653443,
907
+ "index": 80,
908
+ "prompt_characters": 151
909
+ },
910
+ {
911
+ "prompt_tokens": 119,
912
+ "completion_tokens": 128,
913
+ "ttft_ms": 183.22851200355217,
914
+ "decode_seconds": 2.7403013600269333,
915
+ "decode_tokens_per_second": 46.34526766017872,
916
+ "e2e_seconds": 2.9235298720304854,
917
+ "e2e_tokens_per_second": 43.782689284135785,
918
+ "index": 81,
919
+ "prompt_characters": 75
920
+ },
921
+ {
922
+ "prompt_tokens": 274,
923
+ "completion_tokens": 128,
924
+ "ttft_ms": 190.3801920125261,
925
+ "decode_seconds": 2.998549023992382,
926
+ "decode_tokens_per_second": 42.35381812464329,
927
+ "e2e_seconds": 3.188929216004908,
928
+ "e2e_tokens_per_second": 40.138865220833736,
929
+ "index": 82,
930
+ "prompt_characters": 413
931
+ },
932
+ {
933
+ "prompt_tokens": 96,
934
+ "completion_tokens": 128,
935
+ "ttft_ms": 149.46897595655173,
936
+ "decode_seconds": 2.839366831991356,
937
+ "decode_tokens_per_second": 44.72828187224054,
938
+ "e2e_seconds": 2.9888358079479076,
939
+ "e2e_tokens_per_second": 42.82603937614191,
940
+ "index": 83,
941
+ "prompt_characters": 53
942
+ },
943
+ {
944
+ "prompt_tokens": 187,
945
+ "completion_tokens": 128,
946
+ "ttft_ms": 192.14686402119696,
947
+ "decode_seconds": 3.0270581119693816,
948
+ "decode_tokens_per_second": 41.95492630214976,
949
+ "e2e_seconds": 3.2192049759905785,
950
+ "e2e_tokens_per_second": 39.761369951477924,
951
+ "index": 84,
952
+ "prompt_characters": 243
953
+ },
954
+ {
955
+ "prompt_tokens": 175,
956
+ "completion_tokens": 128,
957
+ "ttft_ms": 154.42934399470687,
958
+ "decode_seconds": 2.2495230400236323,
959
+ "decode_tokens_per_second": 56.45641219956823,
960
+ "e2e_seconds": 2.403952384018339,
961
+ "e2e_tokens_per_second": 53.24564698159326,
962
+ "index": 85,
963
+ "prompt_characters": 193
964
+ },
965
+ {
966
+ "prompt_tokens": 95,
967
+ "completion_tokens": 128,
968
+ "ttft_ms": 183.63060802221298,
969
+ "decode_seconds": 2.5285595359746367,
970
+ "decode_tokens_per_second": 50.226224928909055,
971
+ "e2e_seconds": 2.7121901439968497,
972
+ "e2e_tokens_per_second": 47.19433122464318,
973
+ "index": 86,
974
+ "prompt_characters": 54
975
+ },
976
+ {
977
+ "prompt_tokens": 135,
978
+ "completion_tokens": 128,
979
+ "ttft_ms": 153.55235198512673,
980
+ "decode_seconds": 2.1443000319995917,
981
+ "decode_tokens_per_second": 59.226786412706716,
982
+ "e2e_seconds": 2.2978523839847185,
983
+ "e2e_tokens_per_second": 55.70418748050059,
984
+ "index": 87,
985
+ "prompt_characters": 153
986
+ },
987
+ {
988
+ "prompt_tokens": 132,
989
+ "completion_tokens": 128,
990
+ "ttft_ms": 184.29516803007573,
991
+ "decode_seconds": 2.5293376480112784,
992
+ "decode_tokens_per_second": 50.21077359911013,
993
+ "e2e_seconds": 2.713632816041354,
994
+ "e2e_tokens_per_second": 47.16924089484086,
995
+ "index": 88,
996
+ "prompt_characters": 83
997
+ },
998
+ {
999
+ "prompt_tokens": 151,
1000
+ "completion_tokens": 128,
1001
+ "ttft_ms": 182.26567999226972,
1002
+ "decode_seconds": 2.9498485919903032,
1003
+ "decode_tokens_per_second": 43.05305714498091,
1004
+ "e2e_seconds": 3.132114271982573,
1005
+ "e2e_tokens_per_second": 40.86696361783067,
1006
+ "index": 89,
1007
+ "prompt_characters": 154
1008
+ },
1009
+ {
1010
+ "prompt_tokens": 98,
1011
+ "completion_tokens": 128,
1012
+ "ttft_ms": 180.34731200896204,
1013
+ "decode_seconds": 2.209185392013751,
1014
+ "decode_tokens_per_second": 57.48725320161337,
1015
+ "e2e_seconds": 2.389532704022713,
1016
+ "e2e_tokens_per_second": 53.56695883865306,
1017
+ "index": 90,
1018
+ "prompt_characters": 47
1019
+ },
1020
+ {
1021
+ "prompt_tokens": 120,
1022
+ "completion_tokens": 128,
1023
+ "ttft_ms": 184.92633604910225,
1024
+ "decode_seconds": 2.5972612960031256,
1025
+ "decode_tokens_per_second": 48.89766008350327,
1026
+ "e2e_seconds": 2.782187632052228,
1027
+ "e2e_tokens_per_second": 46.00696176108843,
1028
+ "index": 91,
1029
+ "prompt_characters": 91
1030
+ },
1031
+ {
1032
+ "prompt_tokens": 129,
1033
+ "completion_tokens": 128,
1034
+ "ttft_ms": 154.7068800427951,
1035
+ "decode_seconds": 3.1600337119889446,
1036
+ "decode_tokens_per_second": 40.1894446626221,
1037
+ "e2e_seconds": 3.3147405920317397,
1038
+ "e2e_tokens_per_second": 38.61538978576407,
1039
+ "index": 92,
1040
+ "prompt_characters": 149
1041
+ },
1042
+ {
1043
+ "prompt_tokens": 126,
1044
+ "completion_tokens": 128,
1045
+ "ttft_ms": 154.17582396185026,
1046
+ "decode_seconds": 2.7378541760263033,
1047
+ "decode_tokens_per_second": 46.38669258284846,
1048
+ "e2e_seconds": 2.8920299999881536,
1049
+ "e2e_tokens_per_second": 44.259568538543625,
1050
+ "index": 93,
1051
+ "prompt_characters": 129
1052
+ },
1053
+ {
1054
+ "prompt_tokens": 176,
1055
+ "completion_tokens": 128,
1056
+ "ttft_ms": 184.01340796845034,
1057
+ "decode_seconds": 2.775731760018971,
1058
+ "decode_tokens_per_second": 45.75370063825332,
1059
+ "e2e_seconds": 2.959745167987421,
1060
+ "e2e_tokens_per_second": 43.246966456587856,
1061
+ "index": 94,
1062
+ "prompt_characters": 181
1063
+ },
1064
+ {
1065
+ "prompt_tokens": 151,
1066
+ "completion_tokens": 128,
1067
+ "ttft_ms": 184.33799996273592,
1068
+ "decode_seconds": 2.530220592045225,
1069
+ "decode_tokens_per_second": 50.19325208216075,
1070
+ "e2e_seconds": 2.714558592007961,
1071
+ "e2e_tokens_per_second": 47.15315424645828,
1072
+ "index": 95,
1073
+ "prompt_characters": 182
1074
+ },
1075
+ {
1076
+ "prompt_tokens": 113,
1077
+ "completion_tokens": 128,
1078
+ "ttft_ms": 154.31780798826367,
1079
+ "decode_seconds": 2.4937886080006137,
1080
+ "decode_tokens_per_second": 50.92652985604173,
1081
+ "e2e_seconds": 2.6481064159888774,
1082
+ "e2e_tokens_per_second": 48.336426069267766,
1083
+ "index": 96,
1084
+ "prompt_characters": 72
1085
+ },
1086
+ {
1087
+ "prompt_tokens": 159,
1088
+ "completion_tokens": 128,
1089
+ "ttft_ms": 154.63102399371564,
1090
+ "decode_seconds": 2.0045958719565533,
1091
+ "decode_tokens_per_second": 63.35441560898941,
1092
+ "e2e_seconds": 2.159226895950269,
1093
+ "e2e_tokens_per_second": 59.28047684107214,
1094
+ "index": 97,
1095
+ "prompt_characters": 144
1096
+ },
1097
+ {
1098
+ "prompt_tokens": 135,
1099
+ "completion_tokens": 128,
1100
+ "ttft_ms": 154.29542399942875,
1101
+ "decode_seconds": 3.126877536007669,
1102
+ "decode_tokens_per_second": 40.615597680921944,
1103
+ "e2e_seconds": 3.2811729600070976,
1104
+ "e2e_tokens_per_second": 39.01043972998093,
1105
+ "index": 98,
1106
+ "prompt_characters": 146
1107
+ },
1108
+ {
1109
+ "prompt_tokens": 183,
1110
+ "completion_tokens": 128,
1111
+ "ttft_ms": 160.44097597477958,
1112
+ "decode_seconds": 2.536386896041222,
1113
+ "decode_tokens_per_second": 50.07122541053215,
1114
+ "e2e_seconds": 2.6968278720160015,
1115
+ "e2e_tokens_per_second": 47.46317009261484,
1116
+ "index": 99,
1117
+ "prompt_characters": 214
1118
+ }
1119
+ ]
1120
+ }
benchmark/elyza100-baseline-vs-dflash-speedup.png ADDED
benchmark/elyza100-baseline-vs-dflash-summary.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "count": 100,
3
+ "baseline_mean_tps": 29.72816958251134,
4
+ "speculative_mean_tps": 48.76273364465015,
5
+ "ratio_of_mean_tps": 1.640287119235776,
6
+ "paired_speedup_mean": 1.6404260527171066,
7
+ "paired_speedup_median": 1.6296921802007382,
8
+ "paired_speedup_p05": 1.3683736759954253,
9
+ "paired_speedup_p95": 1.9736926728405424,
10
+ "paired_speedup_min": 1.2828180903828805,
11
+ "paired_speedup_max": 2.3186871408906584,
12
+ "requests_at_least_1_5x": 70,
13
+ "requests_at_least_2x": 5,
14
+ "requests_slower_than_baseline": 0
15
+ }
config.json ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "DFlashDraftModel"
4
+ ],
5
+ "auto_map": {
6
+ "": "config.DFlashSpeculatorConfig"
7
+ },
8
+ "aux_hidden_state_layer_ids": [
9
+ 2,
10
+ 16,
11
+ 29
12
+ ],
13
+ "block_size": 4,
14
+ "draft_vocab_size": 28000,
15
+ "dtype": "bfloat16",
16
+ "mask_token_id": 3,
17
+ "max_anchors": 256,
18
+ "sliding_window_non_causal": false,
19
+ "speculators_config": {
20
+ "algorithm": "dflash",
21
+ "default_proposal_method": "greedy",
22
+ "proposal_methods": [
23
+ {
24
+ "accept_tolerance": 0.0,
25
+ "proposal_type": "greedy",
26
+ "speculative_tokens": 3,
27
+ "verifier_accept_k": 1
28
+ }
29
+ ],
30
+ "verifier": {
31
+ "architectures": [],
32
+ "name_or_path": "kel-jp/llm-jp-4-8b-instruct-NVFP4"
33
+ }
34
+ },
35
+ "speculators_model_type": "dflash",
36
+ "speculators_version": "0.6.0",
37
+ "target_hidden_size": null,
38
+ "tie_word_embeddings": false,
39
+ "transformer_layer_config": {
40
+ "attention_bias": false,
41
+ "attention_dropout": 0.0,
42
+ "bos_token_id": 1,
43
+ "eos_token_id": 2,
44
+ "head_dim": 128,
45
+ "hidden_act": "silu",
46
+ "hidden_size": 4096,
47
+ "initializer_range": 0.02,
48
+ "intermediate_size": 14336,
49
+ "layer_types": [
50
+ "full_attention"
51
+ ],
52
+ "max_position_embeddings": 65536,
53
+ "mlp_bias": false,
54
+ "model_type": "llama",
55
+ "num_attention_heads": 32,
56
+ "num_hidden_layers": 1,
57
+ "num_key_value_heads": 8,
58
+ "pad_token_id": null,
59
+ "pretraining_tp": 1,
60
+ "rms_norm_eps": 1e-06,
61
+ "rope_parameters": {
62
+ "rope_theta": 500000,
63
+ "rope_type": "default"
64
+ },
65
+ "sliding_window": 2048,
66
+ "tie_word_embeddings": false,
67
+ "use_cache": true,
68
+ "vocab_size": 196608
69
+ },
70
+ "transformers_version": "5.10.4"
71
+ }
config.py ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ max_anchors: int = Field(
52
+ default=256,
53
+ description=(
54
+ "Maximum number of anchor positions to sample during training "
55
+ "(controls memory usage and training efficiency)"
56
+ ),
57
+ )
58
+
59
+ target_hidden_size: int | None = Field(
60
+ default=None,
61
+ description="Hidden size of the target model (if different from draft model)",
62
+ )
63
+
64
+ aux_hidden_state_layer_ids: list[int] | None = Field(
65
+ default=None,
66
+ description="Layer IDs of the DFlash auxiliary hidden state layers",
67
+ )
68
+
69
+ mask_token_id: int | None = Field(
70
+ default=None,
71
+ description="Token ID used for masking",
72
+ )
73
+
74
+ sliding_window_non_causal: bool = Field(
75
+ default=False,
76
+ description="Use non-causal (bidirectional) masking within draft blocks for "
77
+ "sliding window attention layers. Full attention layers are always "
78
+ "bidirectional.",
79
+ )
80
+
81
+ @field_serializer("transformer_layer_config")
82
+ def serialize_transformer_config(self, value: PretrainedConfig) -> dict:
83
+ """Serialize transformer config to dict."""
84
+ return value.to_diff_dict()
85
+
86
+ @field_validator("transformer_layer_config", mode="before")
87
+ @classmethod
88
+ def validate_transformer_config(cls, value: Any) -> PretrainedConfig:
89
+ """Validate and convert transformer config."""
90
+ if isinstance(value, dict):
91
+ config_class: type[PretrainedConfig] = Qwen3Config
92
+ if "model_type" in value:
93
+ config_class = AutoConfig.for_model(
94
+ model_type=value["model_type"]
95
+ ).__class__
96
+ return config_class(**value)
97
+ return value
98
+
99
+ @property
100
+ def target_vocab_size(self) -> int:
101
+ """Get target vocabulary size from transformer config."""
102
+ 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:e7ffbde19080c85333332bd25f214de07274e172e01fa140aaee806d5c635efc
3
+ size 2377315376
val_metrics.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"loss_epoch": 2.047496609403255, "full_acc_epoch": 0.4021220020978507, "position_1_acc_epoch": 0.5539027137301571, "position_2_acc_epoch": 0.38056573750461736, "position_3_acc_epoch": 0.27111557473966125}