Skip to content
AI Primer
release

vLLM v0.25.0 makes Model Runner V2 the default path for dense models

vLLM v0.25.0 made Model Runner V2 the standard dense-model execution path and removed legacy PagedAttention. The release also added parser, speculative decoding, distributed-serving, and security upgrades.

6 min read
vLLM v0.25.0 makes Model Runner V2 the default path for dense models
vLLM v0.25.0 makes Model Runner V2 the default path for dense models

TL;DR

  • vLLM v0.25.0 is an executor-path release: vllm_project's announcement puts it at 558 commits from 232 contributors, with Model Runner V2 made default for dense models and legacy PagedAttention retired.
  • Dense models now run through MRv2 by default, and vllm_project's engine-core note lists EVS, realtime embeddings, Mamba hybrid prefix caching, multimodal-prefix bidirectional attention, and CUDA-graph-compatible dynamic speculative decoding.
  • The Transformers backend reached native vLLM speed, and ben_burtenshaw's backend note framed the practical win as model-release readiness across a broad model range.
  • Upgrade breakers are real: vllm_project's upgrade note says PagedAttention is deleted and Baichuan, Aquila, Grok, Tarsier/Tarsier2, AyaVision, MusicFlamingo, and Mantis were removed.
  • Speculative decoding and distributed serving got production-shaped changes: vllm_project's Dynamic SD post says draft tokens now adapt to hardware and batch size, while vllm_project's serving note lists sequence parallelism, all2all fault detection, and secondary KV tiering.

The official release notes read like a subsystem map: execution path, parsers, speculative decoding, distributed serving, quantization, and security. The historical marker is PagedAttention: vLLM's original 2023 launch post made it the signature trick with up to 24x throughput over Hugging Face Transformers, and v0.25.0 deletes the legacy implementation. Hugging Face's July 8 backend writeup says Transformers implementations can now run at native-speed vLLM with --model-impl transformers.

Model Runner V2

Model Runner V2 is now the standard dense-model execution path. The enabling PR, vllm-project/vllm#44443, was part of the MRv1-to-MRv2 migration and was merged before the v0.25.0 release.

MRv2's default path now carries the pieces that used to be easy to miss in release-note sprawl:

  • EVS support.
  • Realtime embeddings.
  • Prefix caching for Mamba hybrid models.
  • Multimodal-prefix bidirectional attention.
  • Dynamic speculative decoding compatible with full CUDA graphs.
  • Cross-attention warmup and block-table fixes, according to the official release notes.
  • Bounded memory for large-logprobs requests, also listed in the official release notes.

PagedAttention deletion

PagedAttention deletion lands with baggage. vLLM's 2023 launch post said older serving systems wasted 60 to 80% of KV-cache memory, while PagedAttention cut fragmentation waste below 4% and enabled much larger batches.

In v0.25.0, the legacy PagedAttention implementation is gone because V1/MRv2 backends are the standard path. The same release-note section lists the deletion again under deprecations and removals.

Transformers backend

The backend story is simple and useful: Transformers model code no longer has to be the slow path by default. Hugging Face's native-speed vLLM backend post says model authors can use --model-impl transformers, keep standard vLLM serving features, and avoid separate custom vLLM ports for many architectures.

The Hugging Face benchmark compared three paths across Qwen3 4B, Qwen3 32B, and a 235B FP8 MoE setup:

  • Native vLLM model implementation, --model-impl vllm.
  • Transformers backend after the performance PR, --model-impl transformers.
  • Transformers backend before the performance PR.

ben_burtenshaw's follow-up quote sits just outside the vLLM API surface: ben_burtenshaw's tenant-bound quote describes proprietary learning environments inside a tenant boundary, where company knowledge stays inside the tenant during training or tuning.

Streaming Parser Engine

Tool-call and reasoning parsing now share one framework. The release notes name Kimi k2.5/k2.6/k2.7 as a new parser target, with seed_oss and DeepSeek V4 ports folded into the same parser work.

The same frontend batch adds Rust-side serving features:

  • Static HTTPS and mTLS for HTTP and gRPC.
  • A data-parallel supervisor.
  • Profiler control routes.
  • A combined parser interface.
  • Reduced multimodal tensor copies, according to the official release notes.

Speculative decoding

v0.25.0 adds universal speculative decoding for heterogeneous vocabularies through TLI, plus DSpark and DFlash drafters. vllm_project separately highlighted Dynamic SD, merged with Cohere's help, as a batch-size-aware way to avoid fixed draft-token settings that help one workload and hurt another.

Cohere's Dynamic Speculative Decoding writeup gives the operating model:

  • Small batch sizes are often memory-bandwidth-bound, so extra draft tokens can use otherwise idle compute.
  • Large batch sizes can become compute-bound, so fixed speculative work can erase the speedup.
  • Dense models generally want higher K at smaller batch sizes and lower K at larger batch sizes.
  • MoE models can have non-monotonic optimal K because expert loading and verification costs move differently.

The vLLM Dynamic Speculative Decoding docs expose this through num_speculative_tokens_per_batch_size.

Hardware kernels

The hardware list is the kind of release-note section infra teams actually grep for. v0.25.0 has separate paths for NVIDIA Blackwell and GB300, AMD ROCm, Intel XPU, CPU, RISC-V, and PowerPC.

The headline kernel changes:

  • GLM-5.2 and DeepSeek: fused indexer kernel, 1.9 to 3.3% E2E throughput.
  • GLM-5.2 and DeepSeek: reduce-scatter MoE all-reduce, about 3% E2E throughput.
  • DSv4: token_to_req_indices cache, 5 to 6x kernel speedup.
  • NVIDIA: FlashInfer fused all-reduce tuned for GB300 and restored Blackwell NVFP4 decode throughput.
  • AMD ROCm: torch 2.11 stable ABI, AITER FlashAttention MLA prefill backend, and fused shared-expert paths.
  • Intel XPU: W8A8 FP8 linear kernel with multi-granularity quantization.
  • CPU and beyond: faster unquantized MoE on AArch64, Apple Silicon hang fix, RISC-V RVV INT4 GEMM, and fp16 on PowerPC.

Distributed serving

Distributed serving got several small changes with direct correctness and throughput consequences. vllm_project lists sequence parallelism without data parallelism at 1.9 to 5.0% E2E throughput improvement.

The serving-side changes cluster into four buckets:

  • Collectives: NCCL symmetric memory extended to AllGather and ReduceScatter.
  • Fault tolerance: all2all peer-fault detection to prevent corrupted output.
  • Data parallel: local-prefill throttling, rotated load-balancer tie-breaks, and a Rust frontend DP supervisor.
  • PD disaggregation: secondary KV tier, Mooncake connector support for Qwen3.5 GDN and DeepSeek-V4-Flash MLA, and merged kv_transfer_params for MultiConnector.

Model zoo and quantization

v0.25.0 expands the model list while also cutting older entries. New additions include LLaVA-OneVision-2, Unlimited OCR, MOSS-Transcribe-Diarize, openai/privacy-filter, and Hy3.

The release also pulls GLM-5 and DeepSeek-V3.2 into the model zoo, adds GLM-5.2 tuning, and gives MiniMax-M3 pipeline parallelism plus NVFP4 support. On quantization, [vllm_project's serving note] lists Humming 2/3/5/6/7-bit weight-only inference and Triton INT4 per-token-head KV cache quantization.

Security and removals

Security fixes were not the headline, but v0.25.0 includes several input-bounding changes. The official release notes list an image decompression-bomb OOM denial-of-service guard, a NaN-audio infinite-loop fix, bounded tokenizer work when truncation_side is explicit, and a block on request-level GPU video backend selection.

The same removal section deletes Baichuan, Aquila, Grok, Tarsier/Tarsier2, AyaVision, MusicFlamingo, and Mantis. It also moves the legacy api_server.py to examples, removes gptq_marlin from supported ROCm quant schemes, and deprecates the old FP8 online MoE quantization class.

Further reading

Discussion across the web

Where this story is being discussed, in original context.

On X· 1 thread
Transformers backend1 post
Share on X