A generated hero title card for MiniCPM5-2B-DSpark with the subtitle "OpenBMB quietly opened MiniCPM5-2B weights — and shipped a small draft model to make it fast", showing a phone and a laptop each displaying a rounded "2B" chip, a smaller "Draft 0.3B" chip feeding seven forward-arrow tokens into the larger chip, a speed gauge with an upward needle, and a muted-bell icon, with the OrcaRouter logo composited in the bottom-right corner.
Guides & Insights

MiniCPM5-2B-DSpark: OpenBMB Quietly Opens MiniCPM5-2B Weights With a Draft Model Built for Speed

Author

Gideon Frost

Date Published

Latest models · 20View all models
Benchmarks: Artificial Analysis · updated daily
Back to all posts

Six weeks ago MiniCPM5-2B was a promise. Unveiled at the WAIC conference in Shanghai on 2026-07-19 as the sub-4B model sitting at the top of the Artificial Analysis Index, it came with a road-map note that open weights were coming "soon". Soon arrived this week, with none of the fanfare. On 2026-09-06 OpenBMB pushed the flagship MiniCPM5-2B repository to Hugging Face under an Apache-2.0 licence, and twenty-one minutes later it pushed MiniCPM5-2B-DSpark — a 323.8-million-parameter draft checkpoint whose only job is to make MiniCPM5-2B decode faster under the DSpark speculative-decoding algorithm. A GPTQ build followed on 2026-09-07. As of writing there is no announcement, no launch post and no changelog entry we could find; the release surfaced as repositories quietly going public over an eleven-day window.

This is a what-we-know-so-far piece, and the framing matters. MiniCPM5-2B-DSpark is not a standalone chatbot or a new flagship — it is an accelerator: a small, fast model that proposes tokens ahead of MiniCPM5-2B, which then verifies them in parallel. It is useless without its target, and its target is the reason to care. The MiniCPM5-2B open-weight release that OpenBMB promised in July is now actually on Hugging Face, and the draft model shipped alongside it is the mechanism the vendor recommends for running it at useful speed. Everything not explicitly attributed below is read directly from the two model cards and their repositories.

What shipped, and when

The 2B family went public as a rolling, unannounced drop, newest entries first:

• 2026-08-27 — MiniCPM5-2B-Base and MiniCPM5-2B-SFT appear, the raw pretrained and supervised-fine-tuned checkpoints.

• 2026-09-01 — MiniCPM5-2B-Midtrain, the agentic mid-training stage.

• 2026-09-05 — MiniCPM5-2B-MLX and MiniCPM5-2B-GGUF, the Apple-Silicon and llama.cpp formats.

• 2026-09-06 — the flagship MiniCPM5-2B repo, then MiniCPM5-2B-DSpark twenty-one minutes later.

• 2026-09-07 — MiniCPM5-2B-GPTQ, the quantized serving format.

All of them carry the Apache-2.0 licence ModelBest used for the MiniCPM5-1B family back in May, and the earlier checkpoints in the sequence still show essentially zero community signal — a handful of downloads and likes each. That is the marker of a weight drop in progress rather than a coordinated launch: the artifacts appear in dependency order (base and SFT first, quantized and draft formats last) with no single day acting as the release date.

What MiniCPM5-2B-DSpark actually is

Speculative decoding splits generation into a cheap proposer and an expensive verifier. A small draft model guesses the next several tokens; the big model checks all of the guesses in a single forward pass and accepts the ones it agrees with. When the draft is well-calibrated you get the big model's output at a fraction of the cost, and when it is wrong you waste only one verification step. DSpark is a specific recipe for that idea, from a paper posted 2026-07-06 (arXiv 2607.05147, "Confidence-Scheduled Speculative Decoding with Semi-Autoregressive Generation"). Two design choices distinguish it: it couples a parallel drafter backbone with a lightweight sequential module so tokens inside a proposed block depend on one another rather than decaying in accuracy toward the block's end, and it sizes each verification run per request from confidence estimates and engine throughput instead of always verifying a fixed-length block.

The DSpark draft OpenBMB released is a five-layer Transformer of 323.8M parameters in BF16 (about 648MB). It sits on the Q​wen3 architecture family but carries DSpark-specific additions: a projector that reads MiniCPM5-2B's hidden states from five of the target's layers (1, 10, 20, 30 and 39), a confidence head, and a small Markov head that models the next-token distribution. Its config proposes a block of seven tokens per forward pass. At roughly an eighth of MiniCPM5-2B's 2.5B parameters, it is one of the smallest draft models released for a mainstream open checkpoint — which is the point on an edge-oriented model, where the draft has to be cheap enough that running two models on one device still beats running one.

A screenshot of the Hugging Face model page for openbmb/MiniCPM5-2B-DSpark, captured September 7, 2026, showing the OpenBMB org, the model name, the Apache-2.0 licence, tags including Transformers, Safetensors, text-generation, edge-ai and custom_code, the linked arxiv papers, the MiniCPM5 target reference, and the opening card line "MiniCPM5-2B-DSpark is a DSpark draft checkpoint trained for exact pairing with MiniCPM5-2B and its tokenizer."

The repository above is the draft model's entire public surface: a README, a config, a single safetensors file, and a model card whose training description shows 1,959,525 sequences (7.05B tokens) generated by MiniCPM5-2B from general, mathematics and code prompts, trained for six epochs with a combined cross-entropy, L1 and confidence objective. There is no use of the checkpoint as a generative model on its own.

The numbers OpenBMB published, honestly labeled

The draft model's card reports one figure that matters — acceptance length, the average number of proposed tokens the target accepts out of each seven-token block. The evaluation ran on MiniCPM5-2B outputs across three domains, at up to 4,096 generated tokens:

• Math — 6.05 tokens accepted on average greedy (T=0); 4.61 under T=1.0 sampling.

• Code — 6.11 greedy; 4.44 sampled.

• General — 4.16 greedy; 3.10 sampled.

• Aggregate — 5.52 greedy; 4.05 sampled, out of a maximum of seven.

Those figures are vendor-reported from the model card and have not been independently reproduced. They also describe the draft's hit rate, not a wall-clock speedup: speed is a serving measurement that depends on what the target's verification pass costs against the draft's proposal pass, on batch occupancy, and on DSpark's confidence scheduler trimming verification length. OpenBMB published no tokens-per-second number for the pair. For a sense of where the method's ceiling sits, the DSpark paper reports 60–85% faster per-user generation at matched throughput versus the MTP-1 baseline in Deep​Seek's live serving system — a useful reference point for what the algorithm has done elsewhere, not a claim about MiniCPM5-2B on your hardware.

A generated single-column scoreboard for MiniCPM5-2B-DSpark listing Draft params 323.8M, 5 layers; Draft tokens per forward pass 7; Target model MiniCPM5-2B, 42 layers; Greedy acceptance length 5.52 of 7; Confidence + Markov heads enabled; License Apache-2.0, with the footer "Acceptance figures from OpenBMB's model card; not independently reproduced" and the OrcaRouter logo composited in the bottom-right corner.

The scoreboard above is the release's own spec sheet. Read the acceptance figure as a draft hit-rate; the multiplier on real throughput is what an independent SGLang run still has to measure.

The model the draft accelerates

MiniCPM5-2B is a dense 2.5B-parameter Transformer — 2,516,756,480 total — with 42 layers, 16 query heads and 2 KV heads, a 130,560-token vocabulary, and a 131,072-token context window, in BF16 at about 5GB. Architecturally it is deliberately boring: a standard LlamaForCausalLM with no custom kernels and no model-code fork, which is exactly why it ports across so many runtimes and chip targets. On OpenBMB's own internal benchmark suite the card gives it a 53.9 average across reasoning, instruction-following, knowledge, long context, tool use, coding and search-agent tasks — ahead of Qwen3.5-4B at 51.1 and granite-4.2-3B at 42.7 in the same table, with several cells (GPQA-Diamond 70.2, HLE 8.9, and assorted long-context and agentic rows) flagged as coming from Artificial Analysis rather than reproduced in-house. Headline per-task cells include MATH-500 at 94.6, AIME 2025 and 2026 at 86.5, IFEval at 86.7, MMLU-Pro at 70.8, and SWE-bench Verified at 46.4. These are the vendor's numbers on the vendor's suite, and the card is explicit that some rows are third-party-sourced; treat the mix accordingly.

A screenshot of the Hugging Face model page for openbmb/MiniCPM5-2B, captured September 7, 2026, showing the OpenBMB org, the model name, the Apache-2.0 licence, tags including Transformers, Safetensors, English, Chinese, long-context, tool-calling and edge-ai, the arxiv links, and the opening Highlights line "We are releasing MiniCPM5-2B, the second model in the MiniCPM5 series, following MiniCPM5-1B."

At the July unveiling, ModelBest's launch materials cited an Artificial Analysis Index of 17 — first among models under 4B parameters — and July coverage referenced a 512K-token window. The checkpoints that actually shipped configure 131,072 tokens of context. Where a launch-day marketing figure and a shipped config disagree, the config is the number that governs what you can run, and the gap is worth knowing before you plan a long-context workload around the marketing figure.

Running MiniCPM5-2B with its draft

The intended path is SGLang, which has supported the DSpark algorithm upstream since v0.5.16 — the version floor the model card asks for. The full serving command from the card:

python -m sglang.launch_server --model-path openbmb/MiniCPM5-2B --speculative-algorithm DSPARK --speculative-draft-model-path openbmb/MiniCPM5-2B-DSpark --speculative-dspark-block-size 7

Under greedy decoding (T=0), DSpark verification is lossless: the output is identical to serving MiniCPM5-2B alone, which makes the draft a pure latency play. With sampling enabled, SGLang's DSpark defaults to target-only sampling, with optional rejection sampling. OpenBMB also documents plain Transformers loading (transformers ≥ 5.6) and vLLM ≥ 0.21 serving of the target on its own, plus a minicpm5 tool-call parser for agentic workloads; the DSPARK speculative path specifically is SGLang's.

The hardware arithmetic is the real story for an edge-class pair: about 5GB for MiniCPM5-2B in BF16 plus roughly 0.65GB for the draft. The draft-plus-target combination fits comfortably wherever the 2B model alone was already viable, which is the entire reason to ship a draft this small rather than a second, larger model.

What is not confirmed

• No announcement exists that we could find — no OpenBMB or ModelBest blog, no social post in English or Chinese. The "quietly shipped" framing is literal, and the only public surface is the Hugging Face collection.

• No independent evaluation. The draft's acceptance lengths and MiniCPM5-2B's 53.9 suite average are vendor-reported and unreproduced; the AA-flagged cells are third-party but snapshot values, not runs of these exact weights.

• No hosted API anywhere we can find, so adoption today means running the checkpoints yourself. A ModelScope mirror, promised in July coverage of the unveiling, was not visible as of writing.

• No wall-clock speedup figure for the DSPARK pair. Acceptance length of 5.52 is a strong hit rate, but "how many times faster" on a given GPU is exactly the number OpenBMB did not publish.

• The context-window ambiguity above: marketing materials said 512K, the shipped config says 131,072, and nothing in the repos bridges the two.

Where a quiet open-weight drop fits in a stack

The honest reading of MiniCPM5-2B today is that it is a bet: strong vendor numbers, zero independent runs, no serving history, and a draft model whose real-world speedup is unmeasured. That is precisely the situation a routing layer exists for. A team that wants to test whether a small open model's output can replace a hosted model it already calls can run that comparison from one API — OrcaRouter fronts 200+ hosted models at provider list price with no markup, so an evaluation week costs nothing to stand up, and automatic failover means a days-old checkpoint never has to hold a production path hostage while it proves itself. None of that requires MiniCPM5-2B to be hosted anywhere; it is the safety net around the models you already depend on while you decide whether a self-hosted 2B is worth the GPU.

Watch, in order of importance: an independent SGLang DSPARK run that reports real tokens-per-second for the pair, since acceptance length is a proxy rather than a benchmark; a formal announcement or a ModelScope mirror confirming the release is final; and a hosting provider picking up MiniCPM5-2B — if one does, the price you pay on our side is the provider's own list price, same day, because that is what pass-through means. In the meantime the draft model is the more interesting artifact of the two. A five-layer proposer that the target accepts five and a half tokens out of seven is the difference between a small edge model that feels small and one that feels like a bigger model running on the same device.