LFM2.5-VL-3B DSpark draft (4 layers)

DSpark speculative-decoding draft model for LiquidAI/LFM2.5-VL-3B, for use with SGLang. 279.5M parameters, 4 layers, block size 9, Markov head rank 256, confidence head enabled.

This is a drafter, not a standalone model: it only runs alongside the target above.

Usage

python -m sglang.launch_server \
  --model-path LiquidAI/LFM2.5-VL-3B \
  --speculative-algorithm DSPARK \
  --speculative-draft-model-path tugot17/mango-9 \
  --speculative-draft-attention-backend flashinfer \
  --speculative-dspark-block-size 9 \
  --disable-radix-cache

Serving LFM2-VL with DSpark needs two delegating members on Lfm2VlForConditionalGeneration (lm_head and set_dflash_layers_to_capture), since the speculative stack introspects the top-level model while LFM2-VL keeps the decoder under language_model. Until that lands upstream, use the branch in the PR linked below.

Measured performance

1xH100, bs=1, greedy, --disable-radix-cache, full MMSpec test split (600 samples / 723 turns / 100 per subset), base/spec/base bracket:

subset speedup accept length
MMMU-Pro 2.56x 4.20
COCO captions 2.46x 4.59
CharXiv 1.96x 4.71
multi-turn 1.88x 3.78
TextVQA 1.73x 4.55
GQA 1.66x 4.04
overall 2.08x 4.22

537 vs 258 tok/s overall. Accept length is completion_tokens / spec_verify_ct, i.e. tokens emitted per target forward pass, bonus token included; MMSpec's MAT convention is this minus one. The number above is a request-mean; the token-weighted cycle tau is 3.95.

At concurrency on the same hardware the speedup decays as the target verify becomes compute-bound, while acceptance stays flat within 0.4%: 1.55x at batch 8, 1.32x at batch 32, 1.18x at batch 64.

Notes

  • Block size 9 is the trained width and the best setting on GPU; block 8 is 4.7% slower end-to-end. On Metal the tradeoff reverses, because 8 rows exactly fill the verifier threadgroup.
  • Speculative decoding preserves the target's output distribution, not a token-for-token match against a non-speculative run. Under verify the target processes a block of candidates in one pass, so reduction orders differ and near-ties can flip. Measured exact-text agreement against the non-speculative arm is 388/723 turns on this split; draft-vs-draft determinism is the correctness gate and it holds.

Related

Downloads last month
26
Safetensors
Model size
0.3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tugot17/mango-9

Finetuned
(15)
this model