Robocikowo>ROBOCIKOWO
Pamięć

MSA

Architektura pamięci AI od EverMind do skalowania długiego kontekstu i długoterminowej pamięci modeli nawet do 100M tokenów.
Kluczowa innowacja
MSA (Memory Sparse Attention) wprowadza end-to-end różniczkowalną, rzadką warstwę pamięci utajonej wbudowaną bezpośrednio w mechanizm uwagi Transformera, osiągając bliską liniowej złożoności O(L) przy skalowaniu do 100 milionów tokenów kontekstu bez zewnętrznego systemu retrieval.
Kategoria
Pamięć
Poziom abstrakcji
Building block
Poziom operacji
Element architekturyWarstwaTreningInferencja

Komponenty

Memory Sparse Attention LayerZastępuje standardowy mechanizm full-attention w górnych warstwach Transformera; dla każdego zapytania wybiera top-k dokumentów ze skompresowanego banku pamięci i dołącza ich K/V do lokalnego kontekstu.

Oficjalna

Router (Routing Projector)Projekcja klucza routingu Kᵣ — skompresowana reprezentacja dokumentu używana do selekcji top-k dokumentów na podstawie podobieństwa cosinusowego z bieżącym zapytaniem.
Document-wise RoPEMechanizm pozycjonowania, który resetuje licznik pozycji do zera na początku każdego dokumentu, umożliwiając ekstrapolację pozycyjną od krótkich kontekstów treningowych do 100M tokenów inferencyjnych.
Parallel (Document-level) RoPE
Global RoPE
KV Cache Memory StoreHierarchiczne przechowywanie skompresowanych stanów utajonych dokumentów: klucze routingu Kᵣ w GPU VRAM (szybki dostęp do scoringu), pełne tensory K/V w CPU RAM (wydajność pamięciowa).
Memory InterleaveMechanizm wieloskokowego wnioskowania, który iteracyjnie przeplata generowanie identyfikatorów dokumentów i ekspansję kontekstu, umożliwiając wieloetapowy retrieval przez rozproszone fragmenty pamięci.

Oficjalna

Implementacja

Pułapki implementacyjne
Zimny start — budowanie banku pamięci przed inferencjąŚrednia
Rozwiązanie:Wstępnie koduj dokumenty offline i przechowuj wynikowe klucze routingu oraz tensory K/V. Stosuj wydajne porcjowane uśrednianie (chunked mean pooling). Przed uruchomieniem serwisu zapewnij odpowiednią ilość RAM-u CPU i VRAM GPU dla hierarchicznego przechowywania danych.
Nieprawidłowy podział warstw routingu i lokalnychŚrednia
Rozwiązanie:Stosować podział warstw zgodny ze specyfikacją z artykułu i oficjalną implementacją. Przy adaptacji do nowych architektur szkieletowych przeprowadzać ablację na wydzielonym zbiorze walidacyjnym z długim kontekstem.
Niespójność RoPE między trybem treningowym a inferencyjnymWysoka
Rozwiązanie:Zastosować Parallel RoPE (reset na poziomie dokumentu) do wszystkich dokumentów w banku pamięci oraz Global RoPE z k-offset do aktywnego kontekstu zapytania, dokładnie zgodnie ze specyfikacją w artykule. Zweryfikować implementację względem oficjalnej bazy kodu.
Wąskie gardło przepustowości CPU-GPU przy dużych bankach pamięciŚrednia
Rozwiązanie:Utrzymuj małe k (zgodnie z walidacją opisaną w artykule). Stosuj agresywną kompresję K/V (porcjowane uśrednianie — chunked mean pooling), aby zmniejszyć wolumen transferu. W miarę możliwości używaj przypiętej pamięci CPU (pinned memory) oraz asynchronicznego prefetchingu.

Modele AI używające tej technologii

Powiązani producenci

Hiperparametry (konfigurowalne osie)

Top-k documentsKrytyczna

Liczba bloków dokumentów pobieranych w każdym kroku zapytania. Steruje kompromisem między precyzją a kosztem obliczeniowym: wyższa wartość k poprawia pokrycie (recall) kosztem większej liczby transferów K/V i większego nakładu obliczeniowego mechanizmu uwagi.

Training context lengthWysoka

Rozmiar okna tokenów na dokument używany podczas treningu. Dzięki Document-wise RoPE modele trenowane na krótkich kontekstach (np. 4K–64K tokenów) mogą ekstrapolować do banków pamięci zawierających ponad 100M tokenów podczas inferencji, bez konieczności ponownego treningu.

4K tokensMinimum practical training context
64K tokensTraining context used for MSA-4B model
Warstwy z routingiemWysoka

Routing (warstwa MSA) jest stosowany wyłącznie w górnych warstwach transformera; dolne warstwy przetwarzają dokumenty niezależnie. Podział między warstwami lokalnymi a warstwami z routingiem pamięci wpływa zarówno na pojemność pamięci, jak i na głębokość wnioskowania.

Memory bank sizeWysoka

Całkowita liczba tokenów przechowywanych w długoterminowym banku pamięci. MSA zostało zwalidowane dla maksymalnie 100M tokenów na 2×A800 GPU.

1M tokensTypical modern long-context LLM limit
100M tokensMaximum validated in MSA paper on 2×A800 GPUs

Złożoność obliczeniowa

Złożoność czasowa: O(L · k · d) per layer. Złożoność przestrzenna: O(L · d_r) GPU VRAM + O(L · n · d) CPU RAM.

Wąskie gardło obliczeniowe

Ocenianie routera po całym banku pamięci
Zależy od
Memory bank size (L)Routing key dimension (d_r)

Paradygmat wykonania

Tryb główny
sparse

Tylko k wybranych bloków K/V dokumentów uczestniczy w obliczaniu atencji. Routing stosowany jest wyłącznie w górnych warstwach; dolne warstwy przetwarzają każdy dokument niezależnie (gęsto, per-dokument).

Wzorzec aktywacji
top_k_selected
Mechanizm routingu

Równoległość

Poziom równoległości
partially_parallel

Trenowanie jest równolegle między dokumentami (każdy dokument przetwarzany niezależnie w niższych warstwach). Wnioskowanie wykorzystuje silnik Memory Parallel do rozproszonego scoringu routera na wielu urządzeniach. Selekcja top-k oraz następujące po niej pobieranie K/V są sekwencyjne w obrębie każdego kroku dekodowania.

Zakres
traininginferenceacross_devices
Ograniczenia
!Top-k selection dependency

Wymagania sprzętowe

Podstawowe

MSA wymaga rdzeni Tensor Core GPU do wydajnego obliczania atencji transformera oraz punktacji routera. Zwalidowana konfiguracja wykorzystuje 2×A800 GPU do inferencji na 100M tokenów, przy czym klucze routingu są przechowywane w VRAM GPU, a pełne K/V w RAM CPU.