多頭注意力機制

多頭注意力機制是Transformer模型的關鍵部分,論文《Attention is All You Need — 2017 Google》提出了注意力機制,通過并行計算來捕獲序列中token之間的全局依賴關系。這種注意力機制是一種顛覆性的創(chuàng)新,打破了RNN和CNN模型的序列約束,直接推動了語言模型的大規(guī)模演進。

在多頭注意力機制中,每個頭的鍵、值和查詢都有一個專用的投影矩陣。例如,原始 Transformer 模型(在 Transformer 論文中)中有 8 個頭,應該有 8×3(鍵、值和查詢)= 24 個獨立的投影矩陣。鍵、值和查詢將分別使用它們的投影矩陣投影到h 個不同的副本上。在上述具有 8 個頭的 Transformer 模型中,鍵將有 8 個投影副本,值將有 8 個投影副本,查詢也是如此。

多頭注意力機制

多查詢注意力機制

快速Transformer解碼:只需一個寫入頭即可——2019谷歌這篇論文指出Transformer的一個主要挑戰(zhàn)是增量推理的速度,并且它受到重新加載編碼注意層狀態(tài)的大型“鍵”和“值”張量所需內(nèi)存帶寬的限制。本文引入了多查詢注意機制,讓所有頭共享相同的鍵和值。對于8個以上頭的注意情況,鍵只有1個副本,值只有1個副本,查詢?nèi)匀挥?個投影副本。采用多查詢注意機制后,解碼器增量推理速度提高了13.9倍(基線有8個頭)。

分組查詢注意力機制

雖然多查詢注意力機制可以顯著提高 Transformer 的增量推理速度,但Google 在 GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints — Dec 2023 中提到,多查詢注意力機制可能會導致質(zhì)量下降和訓練不穩(wěn)定。為了克服這種質(zhì)量犧牲,本文引入了分組查詢注意力機制。

所有注意力頭并不共享鍵和值,而是一組注意力頭共享一個鍵和值的投影矩陣。本文在 T5(文本到文本傳輸)Transformer 模型中測試了 MQA,T5-Large 有 16 個注意力頭,T5-XXL 有 64 個注意力頭。本文為鍵/值選擇了 8 組(8 個注意力頭共享相同的鍵/值投影矩陣)。本文表明,與采用傳統(tǒng)多頭注意力的 T5 模型相比,采用分組查詢注意力的 T5 模型具有 5 到 6 倍的推理速度和相似的質(zhì)量(從下圖中,我們?nèi)匀豢梢钥吹劫|(zhì)量略有下降,即使它非常微小)。

多頭潛在注意力(MLA)

DeepSeek-V2:一種強大、經(jīng)濟、高效的混合專家語言模型為注意力模塊引入了多頭潛在注意力 (MLA)。“MLA 利用低秩鍵值聯(lián)合壓縮來消除推理時間鍵值緩存的瓶頸,從而支持高效推理。MLA 的核心是對鍵和值的低秩聯(lián)合壓縮,以減少 KV 緩存。”

低秩壓縮是一種用于減少深度學習模型的計算和內(nèi)存需求的技術。關于它的論文很多,例如:

DeepSeek V1 采用旋轉(zhuǎn)位置嵌入 (RoPE) 來攜帶 token 的位置信息(Transformer 采用正弦位置編碼,詳情請參考我的 Transformer 清晰解釋博客。由于低秩 KV 壓縮與 RoPE 不兼容,DeepSeek V2 采用了解耦的 RoPE 策略,即使用額外的多頭查詢和共享密鑰來攜帶 RoPE。

論文表示MLA表現(xiàn)出比MHA更好的性能,并且MLA所需的KV緩存量(小型MoE模型為14%,大型MoE模型為4%)明顯小于MHA。

總結

上述測試報告中 MLA 的質(zhì)量超過了 MHA,這讓我很驚訝,我以為 MLA 的質(zhì)量與 MHA 差不多,甚至會略差一些。因為每個頭的 MHA 都有自己的投影鍵、值和查詢,這使得注意力模塊能夠輕松地學習關注不同的位置。

上一篇:

DeepSeek 技術分析 — (1) 混合專家

下一篇:

DeepSeek 技術分析 — (3)多 Token
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費