A
DSpark draft model
for speculative decoding with
google/gemma-4-E2B-it
as the verifier, trained with
speculators
. The drafter proposes 8 tokens at a time and the verifier checks them in one forward pass, so output is identical to running the verifier alone. This makes it a lossless speedup. Mean acceptance length is
2.89
tokens committed per verification step, up to
5.53
on math_reasoning.
Then query the OpenAI-compatible endpoint at
http://localhost:8000/v1
.
Details
Architecture.
A Qwen3-style decoder with 5 draft layers, ~0.25B params, bfloat16. It has hidden size 1536, MLP size 6144, and 12 query heads over 2 KV heads (GQA, head dim 128). The first four layers use sliding-window attention (window 2048) and the last uses full attention. Block size is 8. The draft vocabulary is reduced to 50,000 tokens from the verifier's full 262,144, selected by token frequency over the training data. Aux hidden states come from verifier layers 2/11/22/33.
Training.
3 epochs at lr 3e-4 (AdamW, cosine schedule with 4% warmup) with a
{"ce": 0.1, "tv": 0.9}
loss. The data is 100,000 filtered
Open PerfectBlend
prompts regenerated by the verifier itself, split 96/4 into train and validation. Prompts were prepared at 768 tokens. Training sequence length was 8192, with up to 1024 anchors per sample. Verifier hidden states were pulled on demand from a running vLLM server during training and deleted after use, rather than staged to disk up front.
Evaluation
evaluate.py throughput
across the nine
RedHatAI/speculator_benchmarks
subsets.
acceptance_length
is mean tokens committed per verification step, including the bonus token. Its floor is 1.0 and its ceiling is 9.0 at block size 8.
subset
acceptance_length
pos_0
pos_1
pos_2
pos_3
pos_4
pos_5
pos_6
pos_7
math_reasoning
5.534
87.1%
76.4%
66.8%
59.1%
51.0%
43.9%
37.6%
31.4%
HumanEval
3.842
77.1%
59.5%
45.0%
33.7%
25.6%
19.2%
14.1%
9.9%
tool_call
2.625
61.3%
38.1%
24.8%
16.4%
10.4%
6.1%
3.5%
1.9%
writing
2.572
59.0%
35.2%
21.9%
14.8%
10.5%
7.2%
5.1%
3.5%
question
2.496
57.3%
33.7%
20.9%
14.0%
9.7%
6.5%
4.5%
3.1%
translation
2.427
53.4%
33.0%
22.5%
14.6%
8.8%
5.7%
3.2%
1.5%
rag
2.311
58.1%
32.6%
17.9%
11.2%
6.3%
3.0%
1.3%
0.7%
qa
2.194
53.5%
29.0%
16.0%
9.4%
5.8%
3.1%
1.5%
0.9%
summarization
1.828
47.2%
20.0%
8.5%
4.1%
1.9%
0.7%
0.4%
0.1%
Weighted across all subsets: 2.885
over 114,104 verification steps.
Acceptance is highest where the verifier's next token is most predictable, and math_reasoning is in a class of its own. It leads HumanEval by nearly 1.7 tokens and still accepts more than half of pos_4 drafts (51.0%). Its last position (pos_7, 31.4%) sits above HumanEval's pos_4 (25.6%). math_reasoning is the one subset that makes real use of the full 8-token block. HumanEval is clearly second at 3.84, well ahead of everything else.
tool_call leads the remaining subsets at 2.62, with the highest pos_0 outside math and code (61.3%). It decays faster than prose, though, and falls behind writing and question from pos_4 onward. writing, question, and translation form a tight band (2.43–2.57). rag opens strongly at 58.1%, above question and translation. It then decays fastest of the mid-pack, dropping below 1% by pos_7, and lands at 2.31 just above qa (2.19). summarization is the clear outlier: it starts lowest at 47.2%, drops to 20.0% by pos_1, and is under 1% from pos_5 on.
Outside math and code, positions 5–7 each add at most about 7 percentage points. Nearly all of the gain on general traffic comes from the first three or four positions.
Limitations
Works only with
gemma-4-E2B-it
and is not usable as a standalone model. Acceptance falls off steeply past the first two positions on prose-like traffic, most of all on summarization, so the gains concentrate in math and code. On prose-heavy workloads the tail of the 8-token block rarely gets accepted. Real-world speedup depends on your traffic mix. Because verification is lossless, the verifier's own behavior and biases carry through unchanged.
License
Apache 2.0, matching the verifier's license. The
speculators
training code is Apache-2.0.
Runs of rasyosef gemma-4-E2B-it-dspark on huggingface.co
166
Total runs
10
24-hour runs
17
3-day runs
38
7-day runs
151
30-day runs
More Information About gemma-4-E2B-it-dspark huggingface.co Model
gemma-4-E2B-it-dspark huggingface.co is an AI model on huggingface.co that provides gemma-4-E2B-it-dspark's model effect (), which can be used instantly with this rasyosef gemma-4-E2B-it-dspark model. huggingface.co supports a free trial of the gemma-4-E2B-it-dspark model, and also provides paid use of the gemma-4-E2B-it-dspark. Support call gemma-4-E2B-it-dspark model through api, including Node.js, Python, http.
gemma-4-E2B-it-dspark huggingface.co is an online trial and call api platform, which integrates gemma-4-E2B-it-dspark's modeling effects, including api services, and provides a free online trial of gemma-4-E2B-it-dspark, you can try gemma-4-E2B-it-dspark online for free by clicking the link below.
rasyosef gemma-4-E2B-it-dspark online free url in huggingface.co:
gemma-4-E2B-it-dspark is an open source model from GitHub that offers a free installation service, and any user can find gemma-4-E2B-it-dspark on GitHub to install. At the same time, huggingface.co provides the effect of gemma-4-E2B-it-dspark install, users can directly use gemma-4-E2B-it-dspark installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
gemma-4-E2B-it-dspark install url in huggingface.co: