這是用戶在 2025-7-1 20:34 為 https://36kr.com/p/3334850310105608 保存的雙語快照頁面,由 沉浸式翻譯 提供雙語支持。了解如何保存?

DeepSeek 研究員 1200 行代碼複刻 vLLM,H800 硬體實測性能反超原版

量子位·2025 年 06 月 13 日 20:20
vLLM 是什麼?

僅用不到 1200 行代碼,實現最小化且完全可讀的 vLLM

DeepSeek 研究員俞星凱搞了個開源專案引得大夥拍手叫絕。

專案名為 Nano-vLLM(納米級-vLLM),有三大特點:

快速離線推理 :推理速度可與 vLLM 相媲美

可讀性強的代碼庫 :基於不到 1200 行 Python 代碼實現,簡潔乾淨

優化套件 :包含前綴緩存、Torch compilation 、CUDA graph 等

下面是 vLLM 與 Nano-vLLM 在不同硬體和模型配置下的基準測試情況。

在 RTX 4070 硬體、Qwen3-0.6B 模型環境中,設置了 256 個序列的總請求數,輸入和輸出長度均在 100-1024 個 token 間隨機採樣。

測試結果 be like:

vLLM 略微領先。

二者輸出 token 量相同,vLLM 耗時 98.95 秒、輸送量為 1353.86 tokens/s,Nano-vLLM 耗時 101.90 秒、輸送量 1314.65tokens/s。

接著在 H800 硬體、Qwen3-8B 模型環境中,總請求數為 1024 個序列,輸入輸出長度同樣隨機採樣。

此時 Nano-vLLM 甚至反超原框架。

二者輸出 token 量依舊相同,vLLM 耗時 98.67 秒、輸送量 5916.89 tokens/s ,Nano-vLLM 耗時 86.73 秒、輸送量 6731.42 tokens/s。

這一成果來自於 DeepSeek 研究員俞星凱。

他 2021 年獲得南京大學計算機科學與技術系學士學位,同年又被南京大學免試錄取為碩士研究生,在校他同時也是由周志華教授領導的 LAMDA 團隊的成員。

vLLM 是什麼?

vLLM 是一款專為 LLM 推理與部署優化的高性能框架, 最初由加州大學伯克利分校的 Sky Computing Lab 開發 ,現已發展成為一個彙聚學界與業界貢獻的社區驅動專案。

該專案在 GitHub 目前已累計 49.5k+ Star。

其核心技術靈感源自操作系統虛擬記憶體分頁機制。 此前 LLM 服務系統因採用連續記憶體存儲 KV 緩存,導致內部/外部碎片化嚴重,且無法有效共用記憶體,極大限制了批處理規模。

針對這一問題,團隊提出 PagedAttention 演算法 ,允許將連續的鍵(key)值(value)對存儲在非連續記憶體空間中,通過將 KV 緩存劃分為固定大小的塊(Block),利用塊表動態映射邏輯塊與物理塊位址。

在注意力計算過程中,PagedAttention 內核會分別識別和獲取不同的 KV 塊。

下面是一個示例,鍵和值向量分佈在三個塊中,且這三個塊在物理記憶體中並不連續。

基於 PagedAttention 演算法,團隊構建了 vLLM 服務系統,其架構下圖所示:

vLLM 採用集中式調度器來協調分散式 GPU 工作節點的執行。

借助 PagedAttention,KV 緩存管理器以分頁方式有效管理 KV 緩存。 具體而言,KV 緩存管理器通過集中式調度器發送的指令來管理 GPU 工作節點上的物理 KV 緩存記憶體。

vLLM 實現了 KV 緩存記憶體近乎零浪費,請求內及請求間 KV 緩存的靈活共享進一步降低記憶體使用。

評估顯示,與 FasterTransformer 和 Orca 等此前最先進系統相比,vLLM 在相同延遲水準下將流行 LLM 的輸送量提升 2-4 倍 ,且在更長序列、更大模型和更複雜解碼演算法場景中改進更為顯著。

總結來說,vLLM 靈活且易於使用,具備以下特點

與流行的 Hugging Face 模型無縫集成,包括類 Transformer 模型、混合專家模型、嵌入模型、多模態模型; 支持通過各種解碼演算法實現高輸送量服務,包括並行採樣、波束搜索等; 支援張量並行和 pipeline 並行,以實現分散式推理; 支援流式輸出; 相容 OpenAI 的 API 伺服器; 支援 NVIDIA GPU、AMD CPU 和 GPU、Intel CPU 和 GPU、PowerPC CPU、TPU 以及 AWS Neuron; 支援前綴緩存; 支援多 LoRA。

值得一提的是,在實現層面,vLLM 前端基於 FastAPI,後端是基於 GPU 的推理引擎。 vLLM 引擎由 8500 行 Python 代碼和 2000 行 C++/CUDA 代碼構成

而這次 DeepSeek 研究員僅用不到 1200 行代碼就實現了羽量級 vLLM,性能和原版相媲美。

參考連結:

[1]https://github.com/GeeeekExplorer/nano-vllm/tree/main

[2]]https://www.lamda.nju.edu.cn/yuxk/

[3]https://arxiv.org/pdf/2309.06180

[4]https://github.com/vllm-project/vllm

本文來自微信公眾號 “量子位”,作者:關注前沿科技,36 氪經授權發佈。

+1
88

好文章,需要你的鼓勵

參與評論
評論千萬條,友善第一條
后參與討論
提交評論0/1000
36氪
36氪

下一篇

氪星晚報|騰訊音樂與 TVB 達成深度戰略合作; 聯想超級智慧體助力智慧城市 4.0 加速落地;人民銀行與海外央行簽署互換協定總規模已達 4.5 萬億元市場監管總局:將持續加大醫藥領域反壟斷執法力度

2025-06-13

36 氪 APP讓一部分人先看到未來
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业