메뉴
HN
Hacker News • 27일 전

vLLM v0.28.0 릴리스

IMP
8/10
핵심 요약

오픈소스 LLM 추론 서빙 엔진 vLLM의 v0.28.0이 공개되었습니다. 이번 버전은 270명의 기여자가 참여한 584개 커밋을 포함하며, Kimi-K3 성능 최적화, DeepSeek V4 스파스 MLA 지원, 추론 디코딩 개선, Model Runner V2 성숙화, 계층형 KV 캐시 오프로딩 등이 핵심입니다. 일부 호환성 깨는 변경(breaking changes)도 포함되어 업그레이드 시 주의가 필요합니다.

번역된 본문

vLLM v0.28.0이 8월 26일 공개되었습니다. 이번 릴리스에는 270명의 기여자(신규 76명)의 584개 커밋이 반영되었습니다.

주요 내용:

Kimi-K3 성능 강화: 전 스택에 걸친 대규모 최적화 작업이 이루어졌습니다. 디코드 컨텍스트 병렬(DCP) 지원(#50484), 융합형 FlashKDA 디코드 및 프리필 커널(#50684, #51311, #52458), MegaMoE를 위한 SiTU 활성화 지원(#50510), 시퀀스 병렬을 위한 GEMM-RS(#52079), 결합된 올-게더로 커널 수준 1.5~3배 속도 향상(#51070), 적응형 스페큘러티브 토큰 예산으로 DSpark TTFT 약 60% 개선(#51725), 공유 전문가 셰딩 옵션으로 GPU당 약 17GiB 메모리 절약(#50912)이 포함됩니다. 또한 Kimi-K3가 V2 모델 러너로 ROCm에서도 실행됩니다(#51653).

DeepSeek V4: 스파스 MLA(sparse MLA)가 일반 디코드, MTP, DSpark 스페큘러티브 디코딩 전반에서 엔드투엔드로 작동합니다(#51538). 추가로 AMD Quark NVFP4 지원(#47972), reasoning-effort 프롬프트 및 매핑(#50580), 스파스 top-k 메타데이터 커널 최적화(#52084, #51967), 이거 CUDA 그래프 영역 축소(#51430, #52401), gfx11 및 gfx950에서 ROCm 활성화(#47017, #52212)가 포함됩니다.

스페큘러티브 디코딩 발전: 로컬 컨볼루션과 후보 셀렉터를 갖춘 DFlash2(#52816), DSpark 신뢰도 기반 검증 스케줄링(#47808), 드래프트 모델에 자동 활성화되는 비동기 스케줄링(#48341).

Model Runner V2 성숙화: E/P/D 분리 배포(disaggregation)(#38390), 가중치 오프로딩(#51413), 다층 MTP KV 캐시 지원(#50062), 인코더 CUDA 그래프(#49852), 디코더 토큰 단위 풀링(#50931) 및 Transformers 풀링 모델(#52425), 어텐션 없는(attention-free) 모델(#52374), thinking_token_budget 지원(#46727).

계층형 KV 캐시 오프로딩: 디스크 오프로딩 지원(#49644), module_path를 통한 외부(out-of-tree) 보조 계층 매니저(#51007), 부분적 보조 계층 로드 결과(#50321), 계층화 메트릭(#48798), 병렬화에 구애받지 않는 오프로드를 위한 표준 CPU 레이아웃(#48414).

Rust 프론트엔드 & gRPC: 독립형 렌더러(#50289), gRPC를 통한 멀티모달 이미지 추론(#50368), 명시적 데이터 병렬 랭크 라우팅(#51178), RL 라이프사이클 제어(#51316), protobuf 스키마를 Buf에 공개(#51276).

새로운 기본값: max_num_batched_tokens가 8192에서 16384로 상향(#51726), Mamba 모델에 프리픽스 캐싱 기본 활성화(#50991), Blackwell CUDA 그래프 캡처 기본값 1024로 상향(#49390).

호환성 깨는 변경사항(Breaking Changes): bitsandbytes 지원이 외부(out-of-tree) 플러그인으로 이전됨(#43529); Transformers가 5.15.0으로 상향(#51668); 지원 중단된 calculate_kv_scales 런타임 KV 스케일 계산 제거(#49389); override_attention_dtype 제거(#48684).

릴리스 아티팩트:

Docker 이미지:

  • CUDA 13.0(기본): docker pull vllm/vllm-openai:v0.28.0 (v0.28.0-cu130도 사용 가능)
  • CUDA 12.9: docker pull vllm/vllm-openai:v0.28.0-cu129
  • CUDA 13.0 + Ubuntu 24.04: docker pull vllm/vllm-openai:v0.28.0-ubuntu2404
  • CUDA 12.9 + Ubuntu 24.04: docker pull vllm/vllm-openai:v0.28.0-cu129-ubuntu2404
  • ROCm: docker pull vllm/vllm-openai-rocm:v0.28.0
  • CPU: docker pull vllm/vllm-openai-cpu:v0.28.0
  • XPU: docker pull vllm/vllm-openai-xpu:v0.28.0

기타 아티팩트는 페이지 하단의 Assets 섹션에서 사전 빌드된 형태로 제공됩니다.

원문 보기
원문 보기 (영어)
Uh oh! There was an error while loading. Please reload this page . vllm-project / vllm Public Uh oh! There was an error while loading. Please reload this page . Notifications You must be signed in to change notification settings Fork 21.4k Star 90.4k v0.28.0 Latest Latest Compare Choose a tag to compare Sorry, something went wrong. Filter Loading Sorry, something went wrong. Uh oh! There was an error while loading. Please reload this page . No results found View all tags khluu released this 26 Aug 09:46 &middot; 522 commits to main since this release v0.28.0 2cf0a69 v0.28.0 Highlights This release features 584 commits from 270 contributors (76 new)! Kimi-K3 performance push : a major optimization effort for Kimi-K3 across the stack — Decode Context Parallel (DCP) support ( #50484 ), fused FlashKDA decode and prefill kernels ( #50654 , #51311 , #52458 ), SiTU activation support for MegaMoE ( #50510 ), GEMM-RS for sequence parallelism ( #52079 ), combined all-gathers with 1.5~3x kernel-level speedup ( #51070 ), an adaptive speculative token budget delivering ~60% better DSpark TTFT ( #51725 ), and optional shared-expert sharding saving ~17 GiB of memory per GPU ( #50912 ). Kimi-K3 also now runs on ROCm with the V2 model runner ( #51653 ). DeepSeek V4 : sparse MLA now works end-to-end for plain decode, MTP, and DSpark speculative decoding ( #51538 ), joined by AMD Quark NVFP4 support ( #47972 ), reasoning-effort prompts and mappings ( #50580 ), sparse top-k metadata kernel optimizations ( #52084 , #51967 ), narrowed eager CUDA graph regions ( #51430 , #52401 ), and ROCm enablement on gfx11 and gfx950 ( #47017 , #52212 ). Speculative decoding advances : DFlash2 with local convolution and a candidate selector ( #52816 ), DSpark confidence-scheduled verification ( #47808 ), and async scheduling auto-enabled for draft models ( #48341 ). Model Runner V2 maturation : E/P/D disaggregation ( #38390 ), weight offloading ( #51413 ), multi-layer MTP KV cache support ( #50062 ), encoder CUDA graphs ( #49852 ), decoder token-wise pooling ( #50931 ) plus Transformers pooling models ( #52425 ), attention-free models ( #52374 ), and thinking_token_budget support ( #46727 ). Tiered KV cache offloading : disk offloading support ( #49644 ), out-of-tree secondary tier managers via module_path ( #51007 ), partial secondary-tier load results ( #50321 ), tiering metrics ( #48798 ), and a canonical CPU layout for parallelism-agnostic offload ( #48414 ). Rust frontend & gRPC : a standalone renderer ( #50289 ), multimodal image inference over gRPC ( #50368 ), explicit data-parallel rank routing ( #51178 ), and RL lifecycle control ( #51316 ), with protobuf schemas now published to Buf ( #51276 ). New defaults : max_num_batched_tokens raised from 8192 to 16384 ( #51726 ), prefix caching enabled by default for Mamba models ( #50991 ), and the Blackwell CUDA graph capture default raised to 1024 ( #49390 ). Breaking changes : bitsandbytes support migrated to an out-of-tree plugin ( #43529 ); Transformers bumped to 5.15.0 ( #51668 ); the deprecated calculate_kv_scales runtime KV scale calculation was removed ( #49389 ); override_attention_dtype was removed ( #48684 ). Release Artifacts Python Wheels Platform Install PyPI (CUDA 13.0) pip install vllm PyPI (CUDA 13.0, uv) uv pip install vllm --torch-backend=auto ROCm pip install vllm --extra-index-url https://wheels.vllm.ai/rocm/0.28.0/rocm722 Docker Images Platform Docker Image CUDA 13.0 (Default) docker pull vllm/vllm-openai:v0.28.0 ( v0.28.0-cu130 also works) CUDA 12.9 docker pull vllm/vllm-openai:v0.28.0-cu129 CUDA 13.0 + Ubuntu 24.04 docker pull vllm/vllm-openai:v0.28.0-ubuntu2404 CUDA 12.9 + Ubuntu 24.04 docker pull vllm/vllm-openai:v0.28.0-cu129-ubuntu2404 ROCm docker pull vllm/vllm-openai-rocm:v0.28.0 CPU docker pull vllm/vllm-openai-cpu:v0.28.0 XPU docker pull vllm/vllm-openai-xpu:v0.28.0 Other Artifacts Pre-built release artifacts are available in the Assets section at the bottom of this page, including: Source distribution tarball CUDA 12.9 Python wheels for x86_64 and arm64 CUDA 13.0 Python wheels for x86_64 and arm64 CPU Python wheels for x86_64, arm64, and macOS Model Support New models : Muse Glimmer ( #51655 ), Ling 3.0 Flash with BF16, MTP, and parser support ( #51045 ) plus an FP8 variant ( #51265 ) and hybrid MXFP4 routed experts ( #52114 ), Dots3 NOTE native multimodal support ( #51255 ), and Interns2mobius ( #51149 ). Qwen : Qwen3.8 enabled on AMD ROCm ( #50068 ), fused CUDA post-conv MTP decode kernel for Qwen3.5 GDN ( #51674 ), GDN gates aligned with speculative tokens ( #51812 ), and Qwen3.5 fixes for text-only checkpoints ( #50734 , #50355 ). Transformers modeling backend : MLA support ( #48250 ), hardware-agnostic model definition ( #49458 ), fully generalized input embedding handling ( #51247 ), logit softcapping ( #52173 ), and a hardened multimodal path ( #51408 , #51657 ). LoRA : vision tower LoRA for Gemma4 ( #42662 ), tower/connector LoRA for Keye ( #51780 ) and Ultravox ( #48215 ). Vision encoders : ViT full CUDA graph for Kimi-K2.5 ( #50929 ) and Ernie-4.5-VL ( #45254 , #51461 ), torch.compile for the Qwen3-VL encoder ( #40116 ), and long-blocking H2D copies avoided in ViT ( #51841 ). MoE : extended EPLB support for Mistral Large 3 and additional MoE backends ( #48355 ), CuTe DSL skinny GEMM extended to GLM-5.2 ( #49791 ). Speculative decoding coverage : EAGLE3 support declared on KimiLinear ( #52171 ), Qwen3.6 dSpark acceptance coverage ( #51310 ). Correctness : MiniMax-M3 NVFP4 inference ( #48929 ) and compressed-tensors FP8 MoE SwiGLU params ( #46845 ), Gemma3n/Gemma4 variable-length audio batch padding ( #50958 ), Gemma 4 compatibility with the upcoming Transformers version ( #49797 ), and a Qwen3-Omni crash on video without an audio track ( #48420 ). Multimodal performance : fused on-device multimodal preprocess normalization ( #50411 ), faster placeholder and token-match scanning ( #50716 ), and repeated prompt-update scans avoided ( #51774 ). Engine Core Speculative decoding : DSpark confidence-scheduled verification ( #47808 ), top-k DSpark Markov projection ( #49969 ), DFlash2 with local convolution and a candidate selector ( #52816 ), async scheduling auto-enabled for draft models ( #48341 ), fused MTP trailing all-reduce with local-argmax draft tokens ( #49793 ), and an adaptive budget for speculative scheduled input tokens ( #51725 ). KV cache & scheduling : per-request scheduling for MLA chunked context ( #50613 ), partial-tail prefix reuse with fine-grained prefix matching ( #50507 ), backend-published KV packing in the KV-cache layout refactor ( #51612 , #51704 ), LIFO free-block reuse order restored when prefix caching is off ( #51482 ), and silent request skipping in priority scheduling fixed ( #49206 ). Performance : continued elimination of GPU<->CPU syncs on the execution path ( #51458 , #51738 , #52369 ) now guarded by a CI sync check ( #43107 ), new JIT warmup infrastructure with predicate filtering ( #49315 ), the top-k/top-p Triton sampler launched with 8 warps ( #51507 ), detokenization skipped in offline beam search ( #50333 ), Mask Replay ( #49577 ), optimized long-context MLA cache gathers ( #51739 ), and HF revisions resolved to a commit hash once per model load ( #49990 ). Hybrid/Mamba : prefix caching on by default ( #50991 ), the final part of the Mamba attention module refactor ( #44857 ), 3D-grid tiling of the state-copy Triton kernels ( #49436 ), and Mamba alignment applied before encoder caps ( #51603 ). RL workflows : stateful trainer send over NCCL and sparse NCCL ( #50902 ), CuMemAllocator.discard() for tag-selective GPU memory release ( #52514 ), level-2 sleep/wake/reload fixed with LoRA enabled ( #39935 ), and rewritten weight-transfer docs with standardized examples ( #51729 ). Startup robustness : file:// rendezvous for single-node executors eliminates startup port races ( #50999 , #51652 ), frontend processes are watched during engine startup ( #43417 ), a