vLLM V1 重磅升級:核心架構全面革新

本文主要是?翻譯簡化+個人評讀,原文請參考:vLLM V1: A Major Upgrade to vLLM’s Core Architecture


vLLM V1 開發背景

2025年1月27日,vLLM 開發團隊推出 vLLM V1 alpha 版本,這是對框架核心架構的里程碑式升級。基于過去一年半的開發經驗沉淀,vLLM 開發團隊重新審視關鍵設計決策,整合多樣化功能模塊,并通過代碼重構大幅提升框架的靈活性和可擴展性。

V1 版本在性能上已實現業界領先水平,且未來將持續優化。更令人振奮的是,用戶可通過設置環境變量?VLLM_USE_V1=1?無縫啟用新架構,完全兼容現有?API。經過數周的測試與反饋收集后,V1 將正式成為默認推理引擎。

架構升級的深層邏輯 從 V0 到 V1 的進化之路 vLLM 在過去18個月成功支持了多樣化 模型架構、功能特性和硬件后端。但隨著社區生態的橫向擴展,vLLM 逐漸面臨系統復雜度膨脹和縱向優化整合的挑戰。各類功能模塊的獨立開發模式導致組合應用效率低下, 技術債務的積累促使 vLLM 重新審視底層 架構設計。

V1 的設計哲學 基于上述背景,本次升級聚焦四大核心目標:

  1. 構建簡潔、模塊化、易擴展的代碼架構
  2. 實現接近零CPU開銷的高效推理
  3. 將關鍵優化技術整合至統一架構
  4. 默認啟用核心功能,實現零配置體驗

這種設計思路體現了軟件工程中的"高內聚低耦合"原則,通過架構重構打破功能孤島,為后續技術迭代奠定基礎。


技術亮點全解析

1. 優化執行循環 & API 服務器

隨著 GPU 計算速度的躍升(如?Llama-8B?在 H100 上的單步推理時間已縮短至5ms),傳統架構中 API 服務器、調度器、輸入預處理等CPU密集型操作逐漸成為性能瓶頸。

V1 創新性地引入:

  • 隔離式 EngineCore 執行核心:專注調度與模型執行
  • 多進程深度整合:通過?ZeroMQ?實現 CPU 任務并行化
  • 異步流水線:將?tokenization、多模態處理等操作與核心推理重疊執行

這種架構類似于CPU的亂序執行設計,最大化硬件資源利用率。


2. 統一調度器革新

突破性采用"無階段"調度設計

  1. 統一處理用戶提示詞(prompt tokens)和模型生成詞(output tokens)
  2. 動態調度字典:{request_id: num_tokens}?實現靈活資源分配
  3. 支持分塊預填充(chunked-prefill)、前綴緩存(prefix caching)等高級特性

?

示例場景:在固定token預算下,調度器可智能分配不同請求的處理量,如圖示動態分配策略。


3. 零開銷前綴緩存

相較于 V0 版本存在的緩存命中率敏感問題,V1 實現三大突破:

  1. 哈希前綴緩存 + LRU 淘汰算法優化
  2. 恒定時間復雜度數據結構
  3. Python?對象創建開銷最小化

?

實測數據顯示:即便緩存命中率為0%,吞吐量損失<1%;高命中率時性能提升可達數倍,因此默認啟用該功能。


4.?張量并行推理新范式

重構分布式推理架構:

  1. 消除 Worker 0 的特殊地位,實現對稱架構
  2. 增量更新傳輸機制:僅傳遞狀態差異(diffs)
  3. 統一單卡/多卡執行路徑,抽象分布式邏輯

?

這種設計類似于分布式系統中的最終一致性模型,通過狀態緩存降低通信開銷


5. 持久化批次處理

在vLLM V0中,模型的輸入張量和元數據在每一步都會重新創建,這通常會導致顯著的CPU開銷。為了優化這一點,V1版本實現了創新性?Persistent Batch?技術:該技術緩存了輸入張量,并在每一步僅對它們應用差異(diffs)。

?

此外,V1通過廣泛使用Numpy操作而非Python的原生操作,基于?numpy?的差異更新機制,最大限度地減少了更新張量時的CPU開銷。


6. 編譯優化雙劍客

  1. torch.compile自動優化:覆蓋多種模型架構,減少定制內核開發
  2. 分段式 CUDA Graphs:突破傳統 CUDA Graphs 的限制

7.?多模態模型專項優化

將視覺語言模型(VLMs)支持提升至新高度:

  1. 異步預處理流水線:圖像轉碼/裁剪等操作offload至獨立進程
  2. 多模態前綴緩存:支持圖像哈希的 KV 緩存
  3. 編碼器緩存(encoder cache):實現視覺特征跨步復用

8. FlashAttention 3 集成

動態批處理場景下,新一代注意力機制?FlashAttention 3?帶來:

  1. 混合預填充/解碼批處理支持
  2. 靈活的特征組合能力
  3. 全場景性能優勢

性能基準測試

文本模型:Llama 3.1 8B & Llama 3.3 70B

由于廣泛的架構增強,vLLM V1 實現了最先進的吞吐量和延遲,與 V0 相比(無多步調度),吞吐量提升了高達 1.7 倍(但光是看圖的話,高QPS下似乎提升不止1.7)。這些顯著的性能提升源于整個堆棧中 CPU 開銷的全面減少。

使用 ShareGPT 數據集在 Llama 3.1 8B 和 Llama 3.3 70B 模型上測量了 vLLM V0 和 V1 的性能:V1 在高 QPS 下表現出比 V0 更低的延遲,鑒于 V0 和 V1 使用的內核幾乎相同,性能差異主要源于 V1 的架構改進(減少了 CPU 開銷)。

視覺模型:Qwen2-VL

通過使用 VisionArena 數據集測試 Qwen2-VL 來評估VLMs(視覺語言模型)的性能。

得益于其改進的VLM支持,V1相比V0帶來了更大的速度提升,這主要歸功于兩項關鍵改進:

  1. 將輸入處理卸載到單獨的進程
  2. 為多模態查詢實現了更靈活的調度

(看圖類比之前的LLM測試,似乎吞吐量提升達2.3倍,多輪對話延遲降低60%?)


未來路線圖

當前alpha版暫不支持的特性:

  • 模型架構:編碼器-解碼器模型(Multimodal Llama 3.2)、Mamba架構等
  • 功能特性:Log概率輸出、流水線并行等
  • 硬件支持:TPU等非NVIDIA設備

當然,如果要用之前的功能,可以通過不設置 VLLM_USE_V1=1 來繼續使用 V0 并保持向后兼容性。


快速上手指南

三步啟用V1引擎:

pip install vllm --upgrade
export VLLM_USE_V1=1
vllm serve <model-name>

現有API完全兼容,基本只要設個環境變量就行了。


總結

vLLM V1 的發布標志著大模型推理引擎的一次重大飛躍。通過對核心架構的全面重構,V1 版本在性能、靈活性和可擴展性上都實現了顯著提升。以下是本次升級的核心要點:

  1. 性能飛躍:通過優化執行循環、統一調度器和零開銷前綴緩存等技術,V1 在吞吐量和延遲上實現了高達1.7倍的性能提升,尤其在視覺語言模型(VLMs)上的表現更為突出。
  2. 架構革新:V1 引入了簡潔、模塊化的代碼架構,支持動態調度和持久化批次處理,顯著降低了CPU開銷,并為未來的功能擴展奠定了堅實基礎。
  3. 多模態支持:V1 將視覺語言模型(VLMs)通過異步預處理、多模態前綴緩存和編碼器緩存等技術,大幅提升了多模態模型的推理效率。
  4. 易用性提升:用戶只需設置環境變量即可無縫切換到 V1,完全兼容現有 API,實現了零配置體驗。
  5. 未來展望:雖然 V1 目前仍處于 alpha 階段,部分功能尚未完全覆蓋,但其架構設計為快速迭代和新功能開發提供了強大支持。開發團隊正在積極完善對更多模型架構、功能特性和硬件后端的支持。

vLLM V1 不僅是一次技術升級,更是對未來大模型推理生態的一次重要布局。我們期待與開發者社區共同探索更多可能性,推動大模型技術的邊界不斷擴展。立即體驗 V1,感受新一代推理引擎的強大性能!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895130.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895130.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895130.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jupyter Notebook自動保存失敗等問題的解決

一、未生成配置文件 需要在命令行中&#xff0c;執行下面的命令自動生成配置文件 jupyter notebook --generate-config 執行后會在 C:\Users\用戶名\.jupyter目錄中生成文件 jupyter_notebook_config.py 二、在網頁端打開Jupyter Notebook后文件保存失敗&#xff1b;運行代碼…

使用wpa_supplicant和wpa_cli 掃描wifi熱點及配網

一&#xff1a;簡要說明 交叉編譯wpa_supplicant工具后會有wpa_supplicant和wpa_cli兩個程序生產&#xff0c;如果知道需要連接的wifi熱點及密碼的話不需要遍歷及查詢所有wifi熱點的名字及信號強度等信息的話&#xff0c;使用wpa_supplicant即可&#xff0c;否則還需要使用wpa_…

Flink (十七) :Table API SQL (五) 時區

Flink 為日期和時間提供了豐富的數據類型&#xff0c; 包括 DATE&#xff0c; TIME&#xff0c; TIMESTAMP&#xff0c; TIMESTAMP_LTZ&#xff0c; INTERVAL YEAR TO MONTH&#xff0c; INTERVAL DAY TO SECOND 。 Flink 支持在 session &#xff08;會話&#xff09;級別設置…

【真一鍵部署腳本】——一鍵部署deepseek

目錄 deepseek一鍵部署腳本說明 0 必要前提 1 使用方法 1.1 使用默認安裝配置 1.1 .1 使用其它ds模型 1.2 使用自定義安裝 2 附錄&#xff1a;deepseek模型手動下載 3 腳本下載地址 deepseek一鍵部署腳本說明 0 必要前提 linux環境 python>3.10 1 使用方法 1.1 …

5.2Internet及其作用

5.2.1Internet概述 Internet稱為互聯網&#xff0c;又稱英特網&#xff0c;始于1969年的美國ARPANET&#xff08;阿帕網&#xff09;&#xff0c;是全球性的網絡。 互連網指的是兩個或多個不同類型的網絡通過路由器等網絡設備連接起來&#xff0c;形成一個更大的網絡結構。互連…

“圖像識別分割算法:解鎖視覺智能的關鍵技術

嘿&#xff0c;各位朋友&#xff01;今天咱們來聊聊圖像識別分割算法。這可是計算機視覺領域里特別厲害的一項技術&#xff0c;簡單來說&#xff0c;它能讓機器“看懂”圖像中的不同部分&#xff0c;并把它們精準地分出來。想象一下&#xff0c;機器不僅能識別出圖里有貓還是狗…

AJAX項目——數據管理平臺

黑馬程序員視頻地址&#xff1a; 黑馬程序員——數據管理平臺 前言 功能&#xff1a; 1.登錄和權限判斷 2.查看文章內容列表&#xff08;篩選&#xff0c;分頁&#xff09; 3.編輯文章&#xff08;數據回顯&#xff09; 4.刪除文章 5.發布文章&#xff08;圖片上傳&#xff0…

html轉PDF文件最完美的方案(wkhtmltopdf)

目錄 需求 一、方案調研 二、wkhtmltopdf使用 如何使用 文檔簡要說明 三、后端服務 四、前端服務 往期回顧 需求 最近在做報表類的統計項目&#xff0c;其中有很多指標需要匯總&#xff0c;網頁內容有大量的echart圖表&#xff0c;做成一個網頁去瀏覽&#xff0c;同時…

示例:JAVA調用deepseek

近日&#xff0c;國產AI DeepSeek在中國、美國的科技圈受到廣泛關注&#xff0c;甚至被認為是大模型行業的最大“黑馬”。在外網&#xff0c;DeepSeek被不少人稱為“神秘的東方力量”。1月27日&#xff0c;DeepSeek應用登頂蘋果美國地區應用商店免費APP下載排行榜&#xff0c;在…

.NET周刊【2月第1期 2025-02-02】

國內文章 dotnet 9 已知問題 默認開啟 CET 導致進程崩潰 https://www.cnblogs.com/lindexi/p/18700406 本文記錄 dotnet 9 的一個已知且當前已修問題。默認開啟 CET 導致一些模塊執行時觸發崩潰。 dotnet 使用 ColorCode 做代碼著色器 https://www.cnblogs.com/lindexi/p/…

AES200物理機部署DeepSeek-R1蒸餾模型

AES200物理機部署DeepSeek-R1模型 華為官方官宣自己的NPU支持DeepSeek-R1模型部署&#xff0c;華為的大模型推理部署依托于其大模型推理引擎&#xff1a;MindIE&#xff0c;但是根據MindIE的文檔&#xff0c;其只支持以下硬件&#xff1a; 表1 MindIE支持的硬件列表 類型配置…

【后端開發】系統設計101——Devops,Git與CICD,云服務與云原生,Linux,安全性,案例研究(30張圖詳解)

【后端開發】系統設計101——Devops&#xff0c;Git與CICD&#xff0c;云服務與云原生&#xff0c;Linux&#xff0c;安全性&#xff0c;案例研究&#xff08;30張圖詳解&#xff09; 文章目錄 1、DevopsDevOps與SRE與平臺工程的區別是什么&#xff1f;什么是k8s&#xff08;Ku…

正泰中間電磁繼電器【8腳10A】DC24V 待機功率

需求&#xff1a;繼電器能耗測試。 1.連接24V2A的電源&#xff0c; 2. 穩定功率為 1.4W 3. 正泰中間電磁繼電器【8腳10A】直流DC24V 注&#xff1a;聯通時電磁繼電器會輕微發熱 4.電磁繼電器的工作原理基于電流的磁效應 電磁激勵&#xff1a;電磁繼電器主要由線圈、鐵芯、銜…

計算機視覺核心任務

1. 計算機視頻重要分類 計算機視覺的重要任務可以大致分為以下幾類&#xff1a; 1. 圖像分類&#xff08;Image Classification&#xff09; 識別圖像屬于哪個類別&#xff0c;例如貓、狗、汽車等。 應用場景&#xff1a;物品識別、人臉識別、醫療影像分類。代表模型&#…

責任鏈模式(Chain Responsibility)

一、定義&#xff1a;屬于行為型設計模式&#xff0c;包含傳遞的數據、創建處理的抽象和實現、創建鏈條、將數據傳遞給頂端節點&#xff1b; 二、UML圖 三、實現 1、需要傳遞處理的數據類 import java.util.Date;/*** 需要處理的數據信息*/ public class RequestData {priva…

MFC 基礎

windows桌面應用分為兩種類型&#xff1a; 基于文檔視圖類型 和 基于對話框類型。 通常具有復雜交互控件的程序即為基于對話框類型&#xff0c;相對而言比較復雜&#xff0c;而基于文檔視圖類的應用交互形式比較單一&#xff0c;相對簡單。下面給出基于mfc框架的最基本的桌面程…

npm無法加載文件 因為此系統禁止運行腳本

安裝nodejs后遇到問題&#xff1a; 在項目里【node -v】可以打印出來&#xff0c;【npm -v】打印不出來&#xff0c;顯示npm無法加載文件 因為此系統禁止運行腳本。 但是在winr&#xff0c;cmd里【node -v】,【npm -v】都也可打印出來。 解決方法&#xff1a; cmd里可以打印出…

JVM春招快速學習指南

1.說在前面 在Java相關崗位的春/秋招面試過程中&#xff0c;JVM的學習是必不可少的。本文主要是通過《深入理解Java虛擬機》第三版來介紹JVM的學習路線和方法&#xff0c;并對沒有過JVM基礎的給出閱讀和學習建議&#xff0c;盡可能更加快速高效的進行JVM的學習與秋招面試的備戰…

DeepSeek API 調用 - Spring Boot 實現

DeepSeek API 調用 - Spring Boot 實現 1. 項目依賴 在 pom.xml 中添加以下依賴&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></depe…

認識Electron 開啟新的探索世界一

一、Electron輕松入門 1.搭建開發環境&#xff1a; 一般情況下開發者會使用node.js來創建electron項目&#xff0c;node.js是一個基于Chrome V8引擎的javascript運行環境&#xff0c;所以首先需要到官網去下載安裝node.js 下載鏈接&#xff1a;https://nodejs.org/enhttps://no…