![]()
vLLM 0.21.0 五個重點
聊聊剛剛發布的 vLLM v0.21.0
![]()
如果你只是本地單卡偶爾跑模型,升級可以先觀望
如果你在跑服務,尤其是 DeepSeek、Kimi、Qwen 這類模型,或者經常被 KV Cache、并發、顯存、鏡像體積折騰,這版值得認真看
簡介
vLLM 官方對自己的定位很直接:一個用于大模型推理和服務的快速、易用庫
它最有名的底層能力還是 PagedAttention,除此之外還有 continuous batching、chunked prefill、prefix caching、CUDA/HIP graph、量化、OpenAI 兼容 API、工具調用、reasoning parser、多硬件支持這些能力
說人話就是:你想把 Hugging Face 上的模型部署成一個能被應用調用的服務,vLLM 是目前最繞不開的選擇之一
![]()
五個重點
第一,Transformers v4 support 進入棄用周期
官方 release 的措辭是 formally deprecates transformers v4 support,建議遷移到 Transformers v5
這里要準確一點,deprecated 的含義是進入棄用周期,舊項目大概率還能跑一段時間,但信號已經很清楚了:還綁在 Transformers v4 上的部署鏈路,要開始排查兼容性了
我個人挺支持這件事,推理框架長期背著舊依賴往前走,最后會變成誰都不敢動的泥潭
代價也很現實,如果你有老插件、老模型封裝、魔改 tokenizer,升級前要多測幾遍
第二,源碼構建要求升級到 C++20
vLLM 現在要求 C++20-compatible compiler,用來匹配 PyTorch 相關構建變化,官方也明確標了 breaking build change
這條對直接 pip install 的用戶影響可能不大,對源碼編譯、內網離線構建、魔改 vLLM 的同學影響很大
尤其是企業內網機器,編譯器版本經常陳年老酒,一升級就露餡
第三,KV Offload 接上 Hybrid Memory Allocator
這條我很關注
KV Cache 是大模型服務里最容易吃掉顯存的東西,長上下文、多并發、推理模型一疊上來,顯存壓力會非常真實
v0.21.0 把 KV offloading subsystem 和 Hybrid Memory Allocator 進一步整合,release 里提到了 scheduler-side sliding window group support、full HMA enablement、multi-connector HMA、MooncakeStoreConnector 等一串更新
這類更新普通用戶看著不性感,但部署同學會懂:調度和內存管理穩一點,服務的上限就高一點
第四,推測解碼開始尊重 thinking budget
這個是我最想聊的點
推測解碼本來是用小模型或者 draft 機制幫大模型提前猜 token,用得好可以加速生成
問題是,推理模型多了一個很麻煩的東西:思考預算
模型什么時候想、想多久、哪些 token 屬于 reasoning,這些都會影響推測解碼的正確性
v0.21.0 的 release 明確寫了 Speculative decoding now respects reasoning/thinking budgets,目標是讓 reasoning models 的 spec decode 更正確
這句話看著短,但意義很大
DeepSeek-R1 之后,推理模型已經成了主流形態,推測解碼如果適配不了 thinking budget,就會在最熱門的模型類型上打折
當然,性能收益還要看模型、draft 模型、硬件和請求形態,別看到 spec decode 就默認吞吐翻倍
但方向是對的,而且是很關鍵的方向
第五,Blackwell 上來了 TOKENSPEED_MLA backend
如果你手里有 Blackwell,這條就很香
v0.21.0 新增 TOKENSPEED_MLA attention backend,面向 DeepSeek-R1/Kimi-K25 的 prefill + decode 場景
這說明 vLLM 的優化節奏越來越貼著新硬件走
普通消費級顯卡用戶不用為這條激動,但云廠商、企業推理集群、重度服務玩家會很關心
安裝
官方 Quickstart 推薦用 uv 管理環境,前置條件是 Linux,Python 3.10 到 3.13
如果你想鎖定這次 v0.21.0,可以這樣裝:
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm==0.21.0 --torch-backend=auto
官方文檔里的通用寫法是這樣,適合直接安裝當前版本:
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
--torch-backend=auto 這個參數挺省心,它會根據 CUDA driver 自動選擇合適的 PyTorch index
想臨時跑一下,也可以不創建長期環境:
uv run --with vllm vllm --help
如果是 AMD ROCm,官方給的是額外 index:
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --extra-index-url https://wheels.vllm.ai/rocm/
使用vLLM 最常見的玩法,是直接起一個 OpenAI-compatible server
官方 Quickstart 里用的是 Qwen2.5-1.5B-Instruct:
vllm serve Qwen/Qwen2.5-1.5B-Instruct
默認服務地址是:
http://localhost:8000
查看模型列表:
curl http://localhost:8000/v1/models
普通 completions 調用:
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-1.5B-Instruct",
"prompt": "San Francisco is a",
"max_tokens": 7,
"temperature": 0
}'
Chat Completions 調用:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-1.5B-Instruct",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Tell me a joke."}
]
}'
Python 離線推理也很簡單:
from vllm import LLM, SamplingParams
prompts = [
"Hello, my name is",
"The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="facebook/opt-125m")
outputs = llm.generate(prompts, sampling_params)for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
這里有個小坑,官方文檔也提醒了:llm.generate 不會自動套 chat template
如果你跑的是 Instruct 或 Chat 模型,要自己套 tokenizer chat template,或者直接用 llm.chat
誰適合升級 ![]()
升級 vLLM 0.21.0 前先看這里
我會把適合升級的人分成四類:
第一類,正在跑推理模型服務的人
DeepSeek-R1、Kimi、Qwen 這類模型是你主力服務時,thinking budget + speculative decoding 這條值得關注
哪怕你暫時不用 spec decode,也能看出 vLLM 后面會繼續圍繞 reasoning model 做優化
第二類,被 KV Cache 和并發壓得難受的人
長上下文、多用戶并發、RAG、多輪對話,這些場景都會把 KV Cache 壓力拉起來
KV Offload + HMA 相關更新很適合這類場景繼續觀察和測試
第三類,做集群和大規模服務的人
這版里 disaggregated serving、RayExecutorV2、DCP、NIXL、Mooncake connector 等更新不少
如果你只看本地跑一個模型,可能沒感覺
如果你維護推理集群,這些才是大頭
第四類,跟新硬件貼得很近的人
Blackwell、ROCm、CPU FP8、Intel XPU、IBM Power 都有更新
vLLM 已經越來越像一個多硬件推理調度底座,單純把它理解成 NVIDIA GPU 上的 LLM server,已經有點窄了
不急著升的情況
有幾種情況可以先穩住:
你當前 vLLM 版本很穩定,近期沒有新模型、新硬件、新并發壓力
你的環境依賴 Transformers v4,短期沒時間做兼容檢查
你需要源碼構建,但機器上的編譯器很舊
你只是用單卡本地玩玩模型,當前需求已經滿足
這版很強,但它帶著 breaking build change,升級前要尊重生產環境
總結
vLLM v0.21.0 給我的感覺,是一次很工程化的大版本升級
它清理舊依賴,抬高構建要求,繼續強化 KV Cache 和大規模服務能力,同時開始認真處理 reasoning model 時代的推測解碼問題
我最看重的是 thinking budget + speculative decoding,這代表推理框架開始真正適配“會思考”的模型
我最謹慎的是 C++20 和 Transformers v4 deprecation,這兩個點可能會讓老環境升級時踩坑
一句話建議:
生產服務玩家,建議盡快開灰度環境測
本地體驗玩家,可以等社區多跑幾天再動手
制作不易,如果這篇文章覺得對你有用,可否點個關注,給我個三連擊:點贊、轉發和在看,若可以再給我加個,謝謝你看我的文章,我們下篇再見!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.