返回首頁

GitHub Repo

vLLM 公布硬體無關層進展,保留跨加速器編譯路徑

新路徑將可攜模型層與硬體專用最佳化隔離,首批元件已接入 Transformers 後端。H100 初測顯示吞吐量接近原有路徑,但層覆蓋與跨平台效能仍須核對。

Cepice · CC BY-SA 4.0 · Image source
zh-Hant

vLLM 開發者於 9 月 22 日公布硬體無關模型層的進展與 H100 測試,回應推論引擎轉向硬體專用最佳化後的相容性問題。首批基礎程式已於 8 月 13 日合併,尚未完成所有模型的移植。[官方說明](https://pytorch.org/blog/hardware-agnostic-models-in-vllm/)與[合併紀錄](https://github.com/vllm-project/vllm/pull/49458)提供了不同階段的時間點。

問題在於,針對特定模型、加速器手寫融合運算的「flat models」,正逐步改變共用層的設計。外部加速器外掛若依賴完整計算圖編譯,就可能需要自行維護模型實作;較少使用的模型也需要可攜路徑。[設計提案](https://github.com/vllm-project/vllm/issues/44219)因此要求保留完整圖的 `torch.compile` 支援、可替換算子的介面,並將通用實作與硬體專用分支隔離。

對外部加速器而言,完整圖編譯讓後端取得整個模型的運算結構,再轉成目標硬體可執行的形式;外掛也能替換個別層,調整記憶體布局。將這些介面保留在共用程式庫,有助減少各廠商跟隨模型更新、重寫相同邏輯的維護負擔。[架構說明](https://pytorch.org/blog/hardware-agnostic-models-in-vllm/)

已合併的第一批實作接在 Transformers 後端,加入 RMSNorm 與 SiluAndMul 等元件。層解析器會優先尋找硬體無關版本,遇到尚未移植的層便退回原有 vLLM 實作,並寫入日誌。因此,成功啟動服務並不代表整個模型都已走可攜路徑。[實作紀錄](https://github.com/vllm-project/vllm/pull/49458)、[層解析文件](https://docs.vllm.ai/en/stable/api/vllm/model_executor/models/transformers/layers/)

設定名稱也須核對:部落格示範寫成 `USE_HW_AGNOSTIC=1`,程式文件使用的則是 `VLLM_USE_HW_AGNOSTIC=1`,搭配 `--model-impl=transformers`。依目前層解析程式,工程師應使用後者並檢查日誌,確認哪些元件實際被替換。[設定與回退邏輯](https://docs.vllm.ai/en/stable/api/vllm/model_executor/models/transformers/layers/)

作者表示,三個近期模型在 H100 上的總 token 吞吐量幾何平均,與比較路徑相差在 3.4% 內;文中比較的是 Transformers 後端開關此功能的結果,不能推廣為所有硬體與模型的效能保證。[測試說明](https://pytorch.org/blog/hardware-agnostic-models-in-vllm/)

DeepSeek V4 的通用實作仍在審查。對維護替代加速器的團隊,接下來值得追蹤的是層覆蓋率、外掛介面與持續整合測試;導入時則應固定版本,分別驗證輸出數值、首 token 延遲及吞吐量。[待審查實作](https://github.com/vllm-project/vllm/pull/45470)

來源

  1. Hardware-Agnostic Models in vLLM
  2. Hardware-agnostic model definition via HF transformer backend (1/N) — PR #49458
  3. RFC: hardware agnostic model definitions in vLLM
  4. Transformers backend layer provider resolution
  5. Hardware-agnostic model definition for DeepSeek V4 — PR #45470