DeepSeek核心架構(gòu)-MLA:剖析低秩聯(lián)合壓縮優(yōu)化KV緩存、提升推理效率的技術(shù)細(xì)節(jié)
?DeepSeek的基本架構(gòu)仍然在Transformer框架內(nèi),每個(gè)Transformer模塊由一個(gè)注意力模塊和一個(gè)前饋網(wǎng)絡(luò)組成。為實(shí)現(xiàn)更高效的推理和更經(jīng)濟(jì)的訓(xùn)練,在注意力和前饋網(wǎng)絡(luò)部分,設(shè)計(jì)并使用了創(chuàng)新的MLA(Multi-Head Latent Attention)和DeepSeekMoE 架構(gòu)。
本文將從MLA的提出背景、技術(shù)原理、解耦RoPE策略及MHA與MLA的緩存對(duì)比方面進(jìn)行詳細(xì)闡述。
MLA是對(duì)多頭自注意力機(jī)制(MHA)的改進(jìn),其核心是對(duì)鍵(Keys)和值(Values)進(jìn)行低秩聯(lián)合壓縮,生成壓縮的潛在向量,以降低推理階段的KV緩存。
1.MHA
(1)MHA的詳細(xì)原理。
(2)在自注意力機(jī)制中,每個(gè)位置的查詢Q需要與序列中所有位置的鍵(K)進(jìn)行相似度計(jì)算得到注意力分?jǐn)?shù),然后加權(quán)值(V)獲得最終的輸出值。Transformer模型生成序列時(shí)采用自回歸方式,即在生成當(dāng)前Token時(shí)需依賴所有之前生成的Token。因此,對(duì)于每個(gè)時(shí)間步,都需要與之前所有Token進(jìn)行注意力計(jì)算。為避免重復(fù)計(jì)算之前所有Token的鍵和值,從而需要緩存所有的鍵和值來加速計(jì)算。
(3)MHA在推理過程中需要緩存所有的KV來加速推理,但是在模型部署中,這種量級(jí)的KV緩存帶來了高顯存占用問題,限制了最大Batch size的大小和序列長度。
2.MLA原理
(1)MLA的完整計(jì)算公式和維度變化示意圖如下,可對(duì)照查看。
圖片
3.解耦RoPE策略詳解
備注:矩陣吸收計(jì)算是指利用矩陣乘法的結(jié)合律或低秩分解等線性代數(shù)技巧,重新組合某些矩陣因子,使原本需要獨(dú)立計(jì)算的矩陣乘積合并在一起,從而降低計(jì)算復(fù)雜度和內(nèi)存開銷的過程。
04|MHA與MLA的緩存對(duì)比
本文轉(zhuǎn)載自 ??南夏的算法驛站??,作者: 南夏的算法驛站
