本文試圖通過引入更多基礎知識和輔助信息,來深入理解MLA。
原標題:DeepSeek技術解讀1:徹底理解MLA
文章來源:智猩猩GenAI
內容字數:14558字
DeepSeek MLA: 極致模型優化與高效推理
本文解讀DeepSeek提出的MLA(Multi-Head Latent Attention)技術,該技術通過優化KV-cache來減少顯存占用,從而提升LLM推理性能。文章從LLM推理過程、顯存使用情況、KV-cache優化方法以及MLA原理四個方面展開,深入剖析MLA的技術細節。
1. LLM推理過程及性能瓶頸
LLM推理分為prefill階段(一次性計算所有Prompt tokens)和decode階段(每次生成一個token)。核心計算消耗在Transformer的MHA(多頭注意力機制)上。為了加速,主流方法采用KV-cache緩存前序token的K、V矩陣,避免重復計算。但大型LLM的KV-cache占用大量顯存,導致訪存成為瓶頸,影響推理速度。不同存儲介質(HBM、SRAM、DRAM)的訪問速度差異巨大,推理階段主要依賴HBM(顯存)。
2. LLM推理階段顯存使用情況
推理階段顯存主要用于存儲模型參數、KV-cache和運行時中間數據。模型參數大小固定,而KV-cache大小隨batch size和序列長度動態變化。一個token的KV-cache存儲量巨大,例如Qwen-72B模型,單token需緩存約10KB數據。大batch size和長序列會顯著增加KV-cache占用,從而導致需要更多GPU卡才能完成推理。
3. KV-cache優化方法
現有KV-cache優化方法主要包括共享KV(如MQA、GQA)、窗口KV、量化壓縮和計算優化。其中,共享KV方法通過多個Head共享K、V來減少存儲,MQA所有Head共享一個KV,GQA將Head分組共享KV。
4. MLA原理詳解
MLA是一種共享KV的變體,它通過低秩矩陣分解壓縮K、V的維度,并結合RoPE位置編碼。MLA先對K、V進行低秩壓縮,再通過變換矩陣恢復到原維度。同時,它在低維度下使用MQA方式計算包含RoPE的位置編碼信息,并將低秩壓縮后的向量和包含RoPE信息的向量拼接,最終實現KV-cache的壓縮。通過“矩陣吸收”技術,MLA能夠減少實際需要緩存的數據量,從而降低顯存占用。
5. MLA與其他方法對比
與MQA、GQA相比,MLA雖然緩存的Latent KV較短,但其恢復全K、V的能力更強,特征表達能力也更優,實現了性能和效率的兼顧。
6. 總結
MLA通過巧妙的低秩分解和RoPE位置編碼的融合,有效壓縮了KV-cache,在不顯著降低模型效果的情況下,大幅提升了LLM的推理性能。該技術體現了DeepSeek在模型細節優化和工程能力上的深厚積累。
聯系作者
文章來源:智猩猩GenAI
作者微信:
作者簡介:智猩猩旗下公眾號之一,深入關注大模型與AI智能體,及時搜羅生成式AI技術產品。