處理長達 20 萬 token 的上下文,對任何大型語言模型(LLM)而言都是一場昂貴且緩慢的考驗。上下文越長,成本和延遲就越高。來自清華大學與 Z.ai 的研究人員提出一種名為 IndexCache 的新技術,它能削減稀疏注意力模型中高達 75% 的冗餘計算,在處理長文本時,將首個 token 生成速度(TTFT)提升 1.82 倍,生成吞吐量提升 1.48 倍。
這項技術已在擁有 7440 億參數的 GLM-5 模型上得到初步驗證,並適用於採用 DeepSeek 稀疏注意力(DSA)架構的模型,例如最新的 DeepSeek 和 GLM 系列。這意味著,企業在部署生產級長文本應用時,將能為使用者提供更快的響應體驗。
自我注意力機制的「平方詛咒」
大型語言模型的核心能力源於自我注意力機制(Self-Attention)。簡單來說,模型為了預測下一個詞元(token),需要計算當前詞元與前面所有詞元之間的關係。這種機制效果強大,但存在一個致命缺陷:其計算複雜度和記憶體消耗會隨著序列長度的增加而呈平方增長(O(n²))。
當應用場景需要處理長篇文件、執行多步驟 AI 智慧體工作流程或進行長鏈條思維推理時,這個「平方詛咒」會導致推理速度急遽下降,計算和記憶體成本飆升。稀疏注意力(Sparse Attention)正是為了解決這一問題而生。它不再讓每個詞元關注所有前面的詞元,而是透過優化,只選擇並關注最相關的一小部分詞元,從而打破了平方增長的限制。
稀疏注意力的「隱性稅負」
DeepSeek 稀疏注意力(DSA)是這一理念的高效實現,最早在 DeepSeek-V3.2 中引入。為了找出哪些詞元最重要,DSA 在模型的每一層都加入了一個輕量級的「閃電索引器模組」(lightning indexer module)。這個索引器會為所有前面的詞元評分,然後挑選出一小批交給核心注意力機制處理。透過這種方式,DSA 成功地將核心注意力的計算複雜度從平方降至線性,在保持模型性能的同時大幅提速。
然而,研究人員發現了一個被忽視的瓶頸:DSA 的索引器本身,在每一層的計算複雜度仍然是平方等級。儘管索引器的計算量遠小於核心注意力,但隨著上下文長度的爆炸式增長,模型運行這些索引器所花費的時間也急遽攀升。這筆「索引稅」嚴重拖慢了模型在預填(prefill)階段(即首次處理輸入提示)的速度。
IndexCache 的破解之道:利用層間冗餘
為了解決索引器瓶頸,研究團隊發現了一個關鍵特性:當資料在 Transformer 模型中逐層傳遞時,索引器所選出的重要詞元子集表現出驚人的穩定性。實證測試表明,DSA 模型中相鄰層選擇的詞元重疊度高達 70% 至 100%。
基於這一發現,IndexCache 應運而生。該技術將模型的網路層分為兩類:少數「完整層」(Full Layer, F 層)和其餘的「共享層」(Shared Layer, S 層)。F 層保留其索引器,負責主動計算並快取最重要的詞元索引。而 S 層則完全跳過索引計算,直接複用其前面最近的 F 層所快取的索引。
在推理過程中,模型只需判斷當前層的類型。遇到 F 層,就執行計算並更新快取;遇到 S 層,則直接讀取快取,跳過計算。這種機制巧妙地利用了層間冗餘,大幅削減了總計算量。
計算優化,而非記憶體壓縮
值得注意的是,IndexCache 與常見的 KV 快取壓縮技術有著本質區別。傳統的 KV 快取優化旨在減少儲存注意力計算結果所佔用的記憶體空間,而 IndexCache 則直接攻擊計算瓶頸本身。
論文的共同作者 Yushi Bai 向 VentureBeat 解釋道:「IndexCache 不是傳統的 KV 快取壓縮或共享技術。它透過跨層複用索引來消除冗餘,從而減少計算量,而不僅僅是記憶體佔用。它與現有方法是互補的,可以結合使用。」
為了方便部署,研究人員還開發了一種免訓練(training-free)的方法。透過一個「貪婪層選擇」演算法,在少量校準資料上運行模型,就能自動確定 F 層和 S 層的最佳分佈,無需更新任何模型權重。這意味著開發者可以輕鬆地將 IndexCache 應用於現成的、無法或不便重新訓練的 DSA 模型上,為其注入新的活力,讓長文本 AI 應用真正變得流暢和高效。
