Draftfit — MiniCPM5-2B-SFT DFlash2
Draftfit trains and adapts speculative-decoding draft models for a frozen target LLM.
This checkpoint is the DFlash2 branch adapted to:
- Target:
openbmb/MiniCPM5-2B-SFT - Starting draft:
openbmb/MiniCPM5-2B-DSpark
Each Draftfit family has separate weights. DSpark, DFlash CE, DFlash DPACE and DFlash2 are not one universal checkpoint.
Results
MLX / M5 Pro
| Draft | Overall tok/s |
|---|---|
| Official DSpark | 105.38 |
| Draftfit DSpark | 116.15 |
| Draftfit DFlash CE | 89.61 |
| Draftfit DFlash DPACE | 89.97 |
| Draftfit DFlash2 | 80.75 |
Validation set: 53 held-out conversations
- PerfectBlend: 35
- OpenCodeInstruct: 6
- APIGen-MT: 6
- Nemotron Agentic: 6
Domain results — MLX
| Draft | PerfectBlend | OpenCode | APIGen-MT | Nemotron Agentic |
|---|---|---|---|---|
| Official DSpark | 107.83 | 112.19 | 107.79 | 85.86 |
| Draftfit DSpark | 118.29 | 122.28 | 116.04 | 91.99 |
| Draftfit DFlash CE | 89.02 | 99.18 | 92.49 | 79.31 |
| Draftfit DFlash DPACE | 89.84 | 103.20 | 91.62 | 76.97 |
| Draftfit DFlash2 | 78.37 | 92.76 | 87.49 | 70.41 |
Full prompt-free summary: evaluation-v4.json
Which draft should I use?
| Draft | Best use |
|---|---|
| DSpark | Best first choice when adapting an existing DSpark draft to a new target |
| DFlash CE | Simple block-parallel DFlash baseline |
| DFlash DPACE | Test position-weighted training objectives against CE |
| DFlash2 | Research richer candidate ranking / grouped-convolution drafts |
For this MiniCPM5-SFT experiment, DSpark is the strongest practical baseline.
Draftfit DSpark reached 116.15 tok/s vs 105.38 tok/s for the official DSpark in the tested MLX setup.
These measurements do not establish a general speed advantage.
Revisions
| Revision | Description |
|---|---|
main | DFlash2, primary release |
v5 | Additional 1,000-step continual-training stage on a fresh split |
Different revisions used different held-out sets, so their measurements should not be used to rank revisions directly.
Validation notes
The models were trained for 1,000 steps per stage using disjoint 1,000-conversation training sets.
Training mixture per stage:
| Dataset | Rows |
|---|---|
| PerfectBlend deduplicated | 700 |
| OpenCodeInstruct | 100 |
| APIGen-MT-5k | 100 |
| Nemotron-Agentic-v1 | 100 |
Important limitations:
- DSpark/DFlash serving correctness still requires exact token/state and acceptance-length validation.
- DFlash2 was tested on MLX but not with SGLang 0.5.16.
- A successfully loaded draft checkpoint does not prove correct speculative decoding.
- Reported speed is specific to the tested target, hardware, verifier settings and prompt set.
Download
hf download jayyun98/MiniCPM5-2B-SFT-Draftfit-DFlash2 \
--revision main \
--local-dir ./draft
The repository contains:
config.json
model.safetensors
Use them with the pinned MiniCPM5-2B-SFT target and tokenizer.
Training, conversion and benchmarking workflows are documented in:
License / data notice
The training mixture includes APIGen-MT-5k, which is marked CC BY-NC 4.0 and includes additional generator-provenance restrictions.
Treat this release as research / non-commercial unless you have reviewed the source dataset terms.
See SOURCE_TERMS.md and release_manifest.json.
Experimental research artifact.
The reported numbers are not a general production speedup or correctness claim.