Liquid AI has released LFM2.5-VL-DSpark, a speculative-decoding drafter for its LFM2.5-VL-3B vision-language model, according to the company's Hugging Face blog post. The drafter cuts decode latency by up to 3.13x on device and 2.66x on an H100 GPU, with end-to-end gains up to 2.62x and 2.27x respectively, while leaving output quality unchanged, the post states.
The mechanism follows the same recipe Liquid AI used for its text-only LFM2.5-DSpark drafters: the draft model taps a fixed set of hidden states from the target model at set layers and conditions on them to propose a block of k candidate tokens, which the target then verifies. What makes the vision variant work without a separate inference algorithm is that image patches and text tokens get projected into a shared representation before those tapped layers, so the drafter sees hidden-state vectors of identical dimensionality no matter the input modality. Liquid AI's post is explicit that speculative decoding is exact: the target verifies every proposed token, so greedy output from the accelerated pipeline equals the target model running alone.
The drafter itself is a simplified attention-only architecture with 4 layers and a block size of 9, chosen after Liquid AI ran ablations across 3, 4, and 5 layers, according to the post. Its component breakdown, as listed in the blog: a 193.0M-parameter decoder stack, a 21.0M-parameter hidden-state projection, a 65.5M-parameter Markov head, and norms plus a confidence head at 6.4k parameters, totaling roughly 279.5M — an 8.9% increase over the 3B target model's footprint. Training ran for 10 epochs on a vision-language SFT mixture weighted toward Liquid AI's expected serving workloads, with acceptance rate measured after each epoch and improving until diminishing returns set in.
The benchmark numbers come from six vision-based tasks — general VQA, text VQA, image captioning, chart VQA, complex reasoning, and multi-turn conversation — following what the post calls the MMSpec benchmark, using a DSpark block size of 8. On an M5 Max with MLX, decoding ran 2.30x to 3.13x faster by task, with end-to-end latency improving 1.56x to 2.62x. On an M3 Ultra with llama.cpp, decode improved 1.57x to 2.14x and end-to-end 1.30x to 1.77x. On H100, the post reports decode speedups of "20.4x to 2.66x" alongside end-to-end improvements of 1.64x to 2.27x — the range as printed in Liquid AI's own table.
Day-one integration support covers llama.cpp, MLX-VLM, and SGLang, with specific pull requests named in the post: SGLang PR #40651, llama.cpp PR#29339, and MLX-VLM PR#2280. Launching under SGLang requires flags including `--speculative-algorithm DSPARK`, a chosen `--speculative-dspark-block-size`, and `--disable-radix-cache`; the baseline comparison is the identical command with the three speculative flags stripped out. Weights ship in Safetensors and GGUF formats on Hugging Face.
Liquid AI's own post names the ceiling on this technique: speculative decoding speeds up decode only, not vision encoding or prefill, and on edge devices — which have far less compute than datacenter GPUs — prefill eats a larger share of end-to-end latency because the image first passes through a vision encoder before the language backbone even starts on the hundreds of resulting visual tokens plus the text prompt. The post frames this explicitly as Amdahl's law: when encoding and prefill already dominate wall time, even a large decode speedup yields only a modest end-to-end gain, which is why the reported end-to-end multipliers trail the decode multipliers throughout the benchmarks.
For teams running LFM2.5-VL-3B already, DSpark is a low-risk trial: it is a drop-in drafter attached via a config flag, adds under 9% to memory footprint, and — because speculation is exact — cannot change output quality, only latency. The number to watch before committing engineering time is the gap between decode speedup and end-to-end speedup on your own workload; if prefill dominates your traffic mix, as it does on edge hardware per Liquid AI's own numbers, the headline 3.13x will not show up in your dashboards.