返回首頁

GitHub Repo

Transformers 社群回報稀疏注意力索引器記憶體膨脹,DeepSeek-V3.2 長提示可能耗盡顯存

10 月 5 日的開發版重現指出,Lightning Indexer 保留逐注意力頭的完整分數,可能讓長提示的暫存顯存大幅增加。案例提供獨立索引器測試,但完整模型與正式版本的影響仍待確認。

Andrew Wippler from Lancaster, USA · CC BY 2.0 · Image source
zh-Hant

Transformers 社群於 10 月 5 日提出效能問題:在 5.19.0.dev0 中,DeepSeek-V3.2 的 Lightning Indexer 可能配置過大的中間張量。回報者以 NVIDIA L4、隨機輸入及獨立索引器測試,量得 2,048 token 約增加 2.09 GiB 峰值顯存,4,096 token 增至 8.16 GiB,8,192 token 則耗盡顯存。這些數字屬元件測試,不能直接當作完整模型的部署需求。社群重現

問題涉及稀疏注意力「先評分、再選擇」的實作成本。依回報分析,程式先建立形狀為 [B,S,H,T] 的 fp32 逐頭分數,再沿注意力頭加總;縮放運算另產生一份副本。單一提示、查詢與鍵長度相同時,兩份張量約占 2×S²×H×4 位元組。預設 64 個索引頭會放大暫存量,因此最後只保留 top-k 結果,也無法消除前面已出現的記憶體峰值。問題分析

官方文件說明,DeepSeek Sparse Attention 由索引器為查詢與先前 token 評分,再挑出預設 2,048 個 token,交給主要注意力處理。參考實作使用 FP8,Transformers 移植版則以 bf16/fp32 計算;文件也指出,搭配 flash_mla 的稀疏運算路徑尚未支援。這表示部署者需要分別評估索引器暫存與主要注意力的成本,不能只依模型架構推估實際節省幅度。官方技術文件

截至查核時,議題仍開啟,尚未看到已合併修補。回報另指出 GLM-5 等模型有相似程式區塊,但未提供各完整模型的實測。工程團隊可先固定套件版本,逐步增加提示長度並量測預填階段峰值;後續應追蹤分塊或融合運算是否避免完整逐頭張量,以及修正後的 top-k 結果與數值一致性。

來源

  1. [PERF] DeepSeek-V3.2 / GLM-5 lightning indexer overallocates memory — Issue #49310
  2. DeepSeek-V3.2 — Transformers 官方技術文件