# Multi-head Latent Attention
[[DeepSeek-AI]] が DeepSeek-V2 で提案し、[[DeepSeek-V3]] で継承したアテンション機構。標準の Multi-Head Attention(MHA)と同等の性能を維持しつつ、推論時の KV キャッシュを大幅に削減する。
## 動作原理
キーとバリューを低ランクの潜在ベクトルに圧縮し、推論時にキャッシュするデータ量を削減する。
1. **KV 圧縮**: 入力 $h_t$ からダウン射影 $W^{DKV}$ で圧縮潜在ベクトル $c_t^{KV} \in \mathbb{R}^{d_c}$ を生成($d_c \ll d_h n_h$)
2. **アップ射影**: $c_t^{KV}$ からアップ射影でキー $k_t^C$ とバリュー $v_t^C$ を復元
3. **RoPE 分離**: 位置エンベディング(RoPE)を担う分離キー $k_t^R$ を別途生成
4. **キャッシュ対象**: $c_t^{KV}$ と $k_t^R$ のみ(標準 MHA の全キー・バリューに比べ大幅に小さい)
クエリも同様に低ランク圧縮($d_c'$)し、訓練時のアクティベーションメモリも削減する。
## DeepSeek-V3 での設定
- アテンションヘッド数: 128
- ヘッドあたり次元 $d_h$: 128
- KV 圧縮次元 $d_c$: 512
- クエリ圧縮次元 $d_c'$: 1536
- RoPE 用分離次元 $d_h^R$: 64
## 出典
- [[@2024__arXiv__DeepSeek-V3 Technical Report]](§2.1.1)