克羅內克積注意力(KPA):用緊湊因子的克羅內克積表示鍵和值,KV 快取最高壓縮 10 倍,且不需要單獨的旋轉位置編碼分支

Published · AI Daily — AI-assisted deep research, methodology & disclosure

這篇論文提出 KPA,把注意力的鍵和值寫成若干個“與詞元相關的緊湊矩陣因子”的克羅內克積之和,嚴格推廣了張量積注意力(TPA):TPA 的秩一向量外積正是它的退化情形。作者還給出一個與克羅內克表示匹配的旋轉位置編碼運算元,只旋轉緊湊因子,從而無需 MLA 那樣的解耦 RoPE 分支。在 4 個規模(約 1.25 億到 15 億引數)和 9 個下游基準上,KPA 與 TPA、MHA、MQA、GQA、MLA 相當或更好,KV 快取壓縮 6.4 倍到 10 倍。所有模型都是作者從頭訓練的小模型。

大模型推理時,一個越來越突出的瓶頸是 KV 快取:為了避免重複計算,模型把每一層、每個詞元的鍵和值都存起來,這份快取隨序列長度、批大小和層數線性增長。當上下文達到幾十萬詞元、批次變大以追求吞吐時,KV 快取會佔去大部分視訊記憶體,留給模型權重和啟用的餘地很小,直接限制了你能承受的上下文長度、批次和部署規模。已有的辦法各有取捨:多查詢注意力(MQA)和分組查詢注意力(GQA)讓多個頭共享鍵值,代價是表達多樣性;多頭潛在注意力(MLA)快取壓縮後的潛在表示,但需要額外的解耦位置編碼機制;張量積注意力(TPA)用低秩的向量外積分解,可能受限於過於嚴格的低秩結構。論文 2610.12657 提出的克羅內克積注意力(KPA)就是在這個背景下出現的。

KPA 的核心想法是:不快取完整的鍵和值矩陣,而是把每個詞元的鍵和值寫成若干個緊湊的、依賴於該詞元的矩陣因子的克羅內克積之和。克羅內克積把兩個小矩陣組合成一個大矩陣,所以它能同時在“頭”這一級和“頭內特徵”這一級上施加結構,而 TPA 用的向量外積只能處理其中一級。論文指出,經驗研究表明不同的注意力頭會分化出句法、語義和位置等不同的功能,因此一個好的 KV 分解最好同時在兩個層面上工作。論文證明,TPA 的秩一向量外積分解是 KPA 在某種“退化的克羅內克劃分”下的特例,所以 KPA 嚴格地推廣了 TPA;而非退化的矩陣因子可以表示更豐富的分塊結構。解碼時只快取因子,壓縮比取決於頭維度如何劃分:因子越不對稱,壓縮越強。這個“克羅內克頭劃分”是一個可以在設計階段調節的超引數,讓使用者在壓縮和精度之間取捨,而不必改動架構的其他部分。

位置編碼是另一個關鍵。RoPE 要作用在完整的鍵上,而 KPA 只快取因子,所以必須回答“旋轉放在哪裡”。MLA 的做法是另設一條解耦的 RoPE 支路。論文給出了一個與克羅內克表示匹配的結構化旋轉運算元,既保持 RoPE 的相對位置性質,又只旋轉緊湊因子,因此不再需要那條解耦支路。論文稱,在這一點上 KPA 在不用解耦支路的情況下依然超過了 MLA。 實驗方面,作者訓練了約 1.25 億、3.53 億、7.73 億和 15 億引數四個規模的 Llama 風格模型,帶 SwiGLU 和 RoPE,建立在 nanoGPT 之上,在 FineWeb-Edu 上訓練約 500 億詞元,設定為鍵和值的秩 RK=RV=2、查詢的秩 RQ=6,用 lm-evaluation-harness 評測九個零樣本基準:ARC-Easy、ARC-Challenge、BoolQ、HellaSwag、OpenbookQA、PIQA、WinoGrande、MMLU 和 SciQ。論文稱,在相同訓練條件下,KPA 與 TPA、MHA、MQA、GQA 和 MLA 相當或更好,同時實現最高 10 倍的 KV 快取壓縮。具體而言,在一個規模上 KPA 以 6.4 倍的壓縮比取得最好的平均成績,壓縮比與 TPA 相同,準確率高出 1.49 個百分點,增益最大的是 ARC-Easy;另一種配置達到 8 倍壓縮;在約 6.7 倍壓縮時超過其他基線,在 ARC-Easy、BoolQ 和 SciQ 上優勢明顯;在 15 億規模上,KPA 在九項中的八項領先;在 1.25 億規模上所有 KPA 配置都優於 TPA 的 46.21%。不對稱的劃分(頭一級的因子更大)優於對稱劃分和 TPA。

怎樣看這篇論文?它的優點是思路清楚、證明了嚴格的推廣關係,並回答了“壓縮和旋轉位置編碼如何共存”這個實際問題,壓縮比也是可調的。需要保留的地方同樣明確。第一,所有模型都是作者在較小規模上從頭訓練的,最大到 15 億引數、約 500 億詞元,並未用於現成的大模型。第二,評測集中在零樣本精度上;論文自己在結尾說,開發高效的分解解碼核心和在更長上下文上評測 KPA,是自然的下一步,這等於承認真實的解碼速度、延遲和長上下文表現還沒有資料。第三,這些結果由作者自己報告,我們沒有看到獨立復現。如果你關心的是 KV 快取成本,可以把它看作一個值得跟蹤的方案,等到有了核心實現和長上下文結果,再評估能否替代 GQA 或 MLA。 補充一點讀法:論文中的“壓縮倍數”是相對於標準多頭注意力完整快取的比例,不同配置的倍數不同,6.4 倍、8 倍和 10 倍對應的是不同的頭劃分,精度也隨之變化。所以在比較時,不要只看“最高 10 倍”這個數字,而要看相同壓縮比下與 TPA、MLA 的平均準確率差距,以及不對稱劃分帶來的收益。這也是論文把頭劃分當作可調超引數的原因:它給出的是一條取捨曲線,而不是單一的最優點。

Sources

FAQ

KPA 是怎麼壓縮 KV 快取的?

常規多頭注意力要為每個詞元快取完整的鍵和值。KPA 不快取整個矩陣,而是把每個詞元的鍵和值表示為若干個緊湊矩陣因子的克羅內克積之和,因子由當前詞元的隱藏狀態計算,解碼時只快取這些因子。克羅內克積把頭維度和頭內特徵維度同時結構化,所以能比只做向量外積的 TPA 表達更豐富的分塊結構。論文證明,TPA 對應的秩一向量外積是 KPA 的退化情形,因此 KPA 嚴格更一般。

位置編碼怎麼處理?

MLA 為了在壓縮的潛在表示上使用旋轉位置編碼,需要一條單獨的“解耦 RoPE”支路。KPA 給出一個與克羅內克表示相匹配的結構化旋轉運算元,它保持 RoPE 的相對位置性質,卻只旋轉緊湊因子,所以不需要額外的解耦分支。論文稱,在這一點上 KPA 在不依賴該分支的情況下仍然超過了 MLA。

實驗結果如何,有什麼保留?

作者在 FineWeb-Edu 上用約 500 億詞元,從頭訓練約 1.25 億、3.53 億、7.73 億和 15 億引數的 Llama 風格模型,並在 ARC、BoolQ、HellaSwag、PIQA、MMLU 等九個零樣本基準上比較。論文稱 KPA 在相同訓練條件下與基線相當或更好,壓縮 6.4 倍時平均比 TPA 高 1.49 個百分點,最高壓縮 10 倍;15 億規模上它在九項裡的八項領先。保留意見:全部是小模型、從頭訓練;論文自己把“高效的分解解碼核心”和“更長上下文評測”列為下一步,所以真實的解碼速度和長上下文表現尚未驗證。