MLA rzutuje reprezentację wejściową na niskowymiarowy wektor latentny za pomocą macierzy down-projekcji (wspólnej kompresji klucza i wartości). W cache KV przechowywany jest wyłącznie ten skompresowany wektor latentny (opcjonalnie wraz z niewielką, oddzieloną częścią przenoszącą informację pozycyjną RoPE). Podczas liczenia uwagi klucze i wartości dla poszczególnych głów są odtwarzane z wektora latentnego przez macierze up-projekcji, po czym uwaga jest liczona standardowo. Zapytania (queries) mogą być kompresowane analogicznie, aby ograniczyć pamięć aktywacji podczas treningu. Osadzenia pozycyjne RoPE są obsługiwane w oddzielonym (decoupled) torze, ponieważ rotacyjne kodowania nie łączą się bezpośrednio z kompresją latentną. Efektem jest cache KV o rozmiarze proporcjonalnym do wymiaru latentnego d_c, znacznie mniejszego niż iloczyn liczby głów i wymiaru głowy w standardowej MHA.
Standardowa Multi-Head Attention wymaga przechowywania pełnego cache klucz-wartość dla każdego tokenu i każdej głowy, którego rozmiar rośnie liniowo z długością kontekstu i staje się głównym ograniczeniem pamięci oraz przepustowości przy inferencji długokontekstowej. MLA rozwiązuje ten problem, kompresując cache KV do małego wektora latentnego.
Macierz rzutująca reprezentację wejściową na niskowymiarowy wektor latentny c_KV, który jest jedynym elementem trzymanym w cache KV.
Bufor przechowujący wektor latentny c_KV dla każdego tokenu; jego rozmiar skaluje się z wymiarem latentnym d_c, a nie z liczbą głów.
Macierze up-projekcji odtwarzające klucze i wartości dla poszczególnych głów uwagi z wektora latentnego w momencie liczenia uwagi.
Wydzielona, mała część klucza/zapytania niosąca rotacyjne osadzenia pozycyjne (RoPE), których nie da się bezpośrednio złączyć z kompresją latentną.
Oficjalna
Rotacyjnych osadzeń pozycyjnych nie da się bezpośrednio złączyć z kompresją latentną; pominięcie oddzielonego toru RoPE psuje kodowanie pozycji.
Zbyt mały d_c degraduje jakość, zbyt duży ogranicza oszczędność pamięci cache KV.
DeepSeek-V2 (236B/21B aktywne) wprowadza MLA, redukując cache KV o 93,3% i zwiększając maks. przepustowość generacji do 5,76x.
DeepSeek-V3 kontynuuje stosowanie MLA jako mechanizmu uwagi.
Karty modeli Kimi K2 (1T/32B aktywne) wprost wskazują "Attention Mechanism: MLA", potwierdzając adopcję poza DeepSeek.
Złożoność czasowa: O(n² · d). Złożoność przestrzenna: O(n · d_c).
W standardowej MHA cache KV rośnie liniowo z długością kontekstu i liczbą głów, ograniczając pamięć i przepustowość; MLA przenosi to wąskie gardło na mały wektor latentny.
Wymiar wektora latentnego KV; kluczowy kompromis między rozmiarem cache KV a jakością.
Wymiar latentny dla kompresji zapytań, ograniczający pamięć aktywacji podczas treningu.
Rozmiar oddzielonej części przenoszącej rotacyjne osadzenia pozycyjne.
MLA to gęsty (dense) mechanizm uwagi; wszystkie głowy są aktywne. Często współwystępuje z rzadką (MoE) częścią feed-forward, ale sama MLA jest gęsta.
Uwaga jest liczona równolegle po tokenach; MLA nie wprowadza zależności sekwencyjnych ponad standardową uwagę.
MLA projektowano dla wydajnej inferencji LLM na GPU; redukcja cache KV zwalnia pamięć HBM i zwiększa przepustowość.