Kup domenę

AI LAB – ARKUSZ 13.2

Atencja: oś K/V

MHA i MQA różnią się liczbą niezależnych głowic kluczy i wartości. GQA stosuje rozwiązanie pośrednie, a MLA zastępuje wiele reprezentacji jednym wektorem o mniejszym wymiarze.

Kalkulator KV ↓ ← start labu

01 – SHARING Q/K/V

Cztery rysunki pokazują jedną oś: od pełnej pamięci do skompresowanej

FIG. 07 – MHA

8Q:8KV

MHA: każda głowa Q ma własną parę KVQ×8Q×8Q×8KV×8KV×8KV×8

Cache 100% – punkt odniesienia. Przy 128K tokenów pamięć rośnie do dziesiątek GiB – policz w kalkulatorze ↓.

FIG. 08 – GQA

8Q:2KV

GQA: grupy głów Q dzielą pary KV2×Q2×Q2×Q2×QKV g1KV g2

Cache 25% dla 8Q:2KV (udział = Hkv/Hq). Domyślny wybór nowych modeli open.

FIG. 09 – MQA

8Q:1KV

MQA: wszystkie głowy Q dzielą jedną parę KVQQQQQ1×KV

Cache ~12,5% dla 8Q:1KV (~3% dla 32Q:1KV). Falcon 7B, PaLM. Starsze serwery / dziś głównie małe modele brzegowe; długi kontekst kosztem jakości.

FIG. 10 – MLA

latent dc

MLA: cache jako wektor latentny z rekonstrukcjąK,V pełnedcK↑V↑

Cache ≈7% MHA-32×d128 (odpowiednik GQA: ok. 2,25 grupy, ilustr.). Pełne K/V ściskane do wektora dc, odtwarzane przy odczycie (pokrewne CSA, uproszczenie autorskie).

02 – REJESTR ATENCJI

Pięć układów na długi kontekst (dane ilustracyjne)

Poniższe karty łączy jedna zasada: parametry deklarowane, nie pomiar harnessu.

Pokazano 5 z 5 kart.

PRZYKŁAD FORMATU (dane ilustracyjne) • REV 2026-09-10

DeepSeek V4.1 Flash

CSA2 • FP4 KV 890 B/tok (ilustr., bez L/dc) • 1M

attn:csa2ctx:1Mquant:fp4-kvlic:open-mit

Full/Reindex/Reuse między warstwami + SWA Bounded Replay.

PRZYKŁAD FORMATU (dane ilustracyjne) • REV 2026-04-23

DeepSeek V4 Flash

CSA+HCA • 284B/13B • 1M

attn:csa-hcactx:1Mlic:open-mit

Poprzednik V4.1: ilustracyjnie 10% FLOPs i 7% KV względem V3.2 przy kontekście 1M.

PRZYKŁAD FORMATU (dane ilustracyjne) • REV 2026-02-12

GLM-5

DSA • 745B/44B • 200K

attn:dsactx:200Klic:open-mit

Trenowany na Huawei Ascend (MindSpore). Następcy 5.1–5.3 obsługują już kontekst 1M.

PRZYKŁAD FORMATU (dane ilustracyjne) • REV 2026-04-21

Qwen3.6 35B-A3B

Gated-DeltaNet • 35B/3B • 262K

attn:linear-hybctx:262Klic:open-apache

Ilustracyjny układ na jedną kartę GPU; Qwen3.5 i 3.6 jako tło historyczne dla 3.8 Max (2.4T, 1M).

PRZYKŁAD FORMATU (dane ilustracyjne) • REV 2026-08-26

Qwen3.8-Flash-Next

GDN+QSA 3:1 • 125B/6B • 262K → 1M YaRN

attn:qsa-gdnctx:262K→1Mlic:open-custom

Mikroblokowy indekser QSA (koszt indeksowania spada z długością); kompresja niezależna w warstwie. Licencja Qwen Community 1.0.

03 – SŁOWNICZEK

Okno, indekser i pozycje — słowniczek

Definicje robocze; nazwy producenckie (DeepSeek/Qwen/Kimi), nie generyczne. Po angielsku podajemy pełną nazwę. Parametry deklarowane, nie pomiar harnessu. Kliknij opis, aby zobaczyć więcej.

SWAokno przesuwne · Sliding Window Attention
Atencja tylko w oknie W tokenów wstecz (krok 1) + bufor kroczący zamiast całego kontekstu.

Model patrzy tylko na ostatnie W tokenów wstecz, a nie na cały kontekst. Starsze fragmenty wypadają z bufora kroczącego. Tanie przy długim tekście, ale gubi dalekie zależności. Ratunkiem są pierwsze tokeny trzymane jako kotwice (attention sinks): okno jedzie dalej, a te kilka pierwszych wpisów zostaje w pamięci i stabilizuje rozkład atencji (StreamingLLM, zwykle wystarczą 4 pierwsze tokeny, ilustr.).

RoPErotacyjne pozycje · Rotary Position Embedding
Kodowanie kolejności rotacją Q/K, bez tabel pozycji.

Pozycję słowa koduje obrót wektorów Q i K, bez osobnej tabeli pozycji. Działa dla różnych długości po przeskalowaniu (np. YaRN).

YaRNskalowanie RoPE · Yet another RoPE extensioN
Rozciąga RoPE (interpolacja NTK-by-parts); pełna jakość zwykle z lekkim dotrenowaniem, warianty dynamiczne – bez dotrenowania.

Metoda rozciągania RoPE na dłuższy kontekst (interpolacja NTK-by-parts + temperatura). Pełna jakość zwykle po lekkim dotrenowaniu; warianty dynamiczne działają bez, ale gorzej na samym końcu.

NSArzadka trenowalna · Native Sparse Attention (DeepSeek, 02.2025)
Trzy równoległe gałęzie: skrót (kompresja), wybór (selekcja) i okno; przodek DSA/CSA/QSA.

Gałąź skrótu ściska bloki tokenów w zgrubny obraz całości, gałąź wyboru dolicza wybrane top-k bloków z pełną dokładnością, a gałąź okna pilnuje lokalnego sąsiedztwa; wyjścia łączy uczona bramka. W przeciwieństwie do późniejszych dokładek jest trenowana od początku (end-to-end). Genealogia skrótu: MLA (V2) → NSA → DSA → CSA/QSA.

DSArozrzedzona · DeepSeek Sparse Attention
Liczy tylko wybrane bloki kontekstu (lekki indekser top-k), resztę pomija.

Lekki indekser wybiera top-k najważniejszych bloków kontekstu dla każdego zapytania, resztę pomija. Koszt spada z O(L²) do O(L·k). Używana m.in. w DeepSeek-V3.2 i GLM-5.

CSAskompresowana · Compressed Sparse Attention
Ściska wpisy K/V wzdłuż sekwencji, potem stosuje DSA na skompresowanych wpisach.

Najpierw ściska pamięć K/V wzdłuż sekwencji (np. 4 tokeny w 1 wpis), potem stosuje DSA na skompresowanych wpisach. Mniej pamięci i mniej liczenia (DeepSeek-V4).

CSA2warstwowa · Compressed Sparse Attention 2 (DeepSeek V4.1)
Dzieli warstwy na pełne, przeindeksowane i ponownie użyte (Full/Reindex/Reuse).

Warstwy dzielą pamięć i indeksy: Full liczy własne, Reindex liczy nowe indeksy na cudzej pamięci, Reuse bierze wszystko od poprzednika. Globalna pamięć FP4 to ok. 890 B na token.

HCAsilnie skompresowana · Heavily Compressed Attention (DeepSeek V4)
Bardzo silna kompresja wpisów K/V (np. 128×) z gęstą atencją, bez indeksera.

Najsilniejsza kompresja (np. 128 tokenów w 1 wpis), ale atencja gęsta na wszystkich skompresowanych wpisach, bez indeksera. Dobra do tła, słabsza do detalu.

KDAKimi Delta Attention
Liniowa atencja z bramką delta; 69 warstw Kimi K3.

Liniowa atencja Kimi z bramką delta (reguła Householdera + zapominanie). Koszt liniowy, nie kwadratowy. W Kimi K3: 69 warstw KDA + 24 Gated MLA (układ 3:1).

QSAQwen Sparse Attention
Indekser mikroblokowy; koszt indeksowania spada z długością; hybryda GDN+QSA 3:1.

Indekser mikroblokowy Qwen ocenia ważność bloków, nie pojedynczych tokenów, więc koszt indeksowania maleje z długością. W Qwen3.8-Flash-Next: 3 warstwy GDN + 1 warstwa QSA.

GDNGated DeltaNet
Liniowa rekurencja z bramką zapominania; kompresuje historię w stały stan.

Liniowa rekurencja z bramką zapominania: historia jest ściskana do stałego stanu. Tania, ale gubi detal – dlatego co czwarta warstwa to pełna atencja lub QSA.

LIN 3:1parasol liniowy i hybryda · linear attention hybrid
Warstwy liniowe niosą tekst w stałym stanie (koszt O(L)), co czwarta warstwa to pełna atencja.

Parasol nad GDN/KDA i pokrewnymi: zamiast macierzy N×N model toczy stały stan pamięci, więc koszt i pamięć rosną liniowo z długością. Czysta postać liniowa gubi dalekie wyszukiwanie, stąd reguła 3:1 – trzy warstwy liniowe na jedną pełną (Qwen3-Next, Kimi Linear; ta druga tnie pamięć podręczną do 75%, ilustr.).

MTPwiele tokenów naraz · Multi-Token Prediction
Uczy przewidywania kilku tokenów i zasila dekodowanie spekulacyjne (szkic + weryfikacja).

Model uczy się przewidywać kilka kolejnych tokenów naraz, a nie jeden. Dodatkowe głowy zasilają dekodowanie spekulacyjne (szkic + weryfikacja).

Pamięć podręczna prefiksu (prefix caching) i porcjowanie wstępnego liczenia (chunked prefill) to warstwa podawania (serving), nie budowy modelu. Pierwsza podpina bloki pamięci kluczy i wartości pod wspólny początek zapytań i pomija ich ponowne liczenie między zapytaniami; druga tnie długi wstęp na porcje i miesza je z dekodowaniem, żeby nie zatykać kolejki. To co innego niż współdzielenie między warstwami w CSA2-Reuse (jedno liczenie w przód) i co innego niż odtwarzanie okna w SWA – tam oszczędność siedzi w architekturze, tu w obsłudze ruchu.

04 – KALKULATOR

Ile pamięci podręcznej zajmie kontekst: rachunek orientacyjny

Sam rachunek, bez inferencji. Zmień suwaki – wynik liczy się lokalnie.

0132
028
0332768

d = 128 • bf16 • KV ≈ 4.0 GiB na sekwencję

Wzór: 2 × L × Hkv × d × S × 2 B. Liczone dla 1 sekwencji (wsad = 1), bez wag i aktywacji. MLA: L×(dc+d_rope)×S×B bez wiodącego 2× (jeden wektor latentny, nie para K/V); udział = Hkv/Hq (np. 8Q:2KV → 25%). Kalkulator tylko bf16+d128; dla FP4/FP8 podziel ×4/×2. Kalkulator do 128K; dla 1M pomnóż ×8. Kwantyzacja pamięci podręcznej (KV quantization) dokłada się do tego osobno: FP8 (zwykle E4M3) wymaga kalibracji skali na próbce tekstu, a błąd maleje przy drobniejszej skali (np. na głowicę lub blok); warstwy okienne czasem zostawia się bez kwantyzacji, bo ich pamięć i tak jest mała (ilustr. wybór wdrożeniowy). FP4 to kolejny stopień: NVFP4 (bloki po 16, skala FP8) tnie pamięć o ok. połowę względem FP8 i wypada lepiej niż MXFP4 (bloki po 32, zgrubniejsza skala), ale to wciąż format pamięci podręcznej. Nie myl z wagami: wagi kalibrujesz raz i mrozisz, a wpisy K/V kwantyzujesz na bieżąco, w trakcie zapytań – osobne jądra, osobny koszt i osobny błąd.

05 – TŁO HISTORYCZNE (PRZED 2026)

Skąd się wzięły dzisiejsze osie

Archiwum: Mistral 7B, Falcon, DeepSeek V2 – tak wyglądała czołówka przed 2026. Przykłady formatu w sekcji powyżej. Wartości względne, nie pomiar harnessu.

7BMistral 7B – GQA 32Q/8KV + SWA (hist.)Okno W=4096 + bufor kroczący (rolling buffer). Udział = Hkv/Hq. Następcy: nowsze warianty Small/Medium.
40BFalcon 40B – MQA/multiquery (hist.)Wariant MQA, dziś głównie starsze rozwiązania / małe modele brzegowe; czołówka to GQA/CSA/DSA.
236BDeepSeek V2 – MLA (hist.)Wektor latentny dc512+d_rope64=576 (ilustr.): ≈7% cache MHA-32×d128. Następcy realni: V3 (MLA+MTP); V4/V4.1 – przykłady ilustracyjne formatu.