Architektury LLM

From Systems analysis Wiki
Jump to navigation Jump to search

Architektury dużych modeli językowych (LLM) — to fundamentalne zasady i struktury, które określają sposób budowania, uczenia i funkcjonowania dużych modeli językowych. Współczesne LLM, zdolne do rozumienia i generowania języka ludzkiego, opierają się niemal całkowicie na architekturze Transformer[1], lecz obejmują wiele udoskonaleń i różnych podejść mających na celu zwiększenie efektywności, skalowalności i możliwości.

Rodziny architektur LLM (transformery)

Współczesne duże modele językowe opierają się na architekturze transformera[1], lecz wykorzystują ją w różny sposób w zależności od celu: rozumienia tekstu, generowania jego kontynuacji lub przekształcania jednego tekstu w inny. W praktyce wyróżnia się trzy rodziny przy zachowaniu podstawowych zasad transformera[2][3][4].

1. Encoder‑only (tylko koder)

Model wykorzystuje wyłącznie stos koderów i przetwarza cały tekst wejściowy dwukierunkowo. Wstępne uczenie opiera się zazwyczaj na masked‑language modeling (MLM, modelowanie językowe z maskowaniem): część tokenów jest ukrywana, a model uczy się odtwarzać je na podstawie otoczenia. Dzięki dwukierunkowemu kontekstowi modele te sprawdzają się w zadaniach rozumienia i scoringu: klasyfikacja, rozpoznawanie encji, rerankowanie dokumentów i ekstrakcyjny QA. Nie są przeznaczone do autoregresywnej generacji „od zera".

Dodatkowo w praktyce stosuje się również alternatywne cele wstępnego uczenia dla rodziny encoder‑only: replaced token detection (RTD) w ELECTRA (model-dyskryminator rozpoznaje podmienione tokeny) oraz uczenie kontrastywne bi-enkoderów na potrzeby wyszukiwania semantycznego/retrieval (InfoNCE/softmax‑loss na parach „zapytanie-dokument", jak w Dense Passage Retrieval). Stosowane w RAG, modele encoder‑only pełnią rolę albo bi-enkodera (oddzielne kodowanie zapytania i dokumentu na potrzeby szybkiego wyszukiwania ANN), albo kros-enkodera (wspólne kodowanie pary na potrzeby precyzyjnego rerankowania).

Zalety:

  • Wysoka jakość rozumienia tekstu dzięki dwukierunkowemu kontekstowi: klasyfikacja, NER, ekstrakcja faktów, rerankowanie, ekstrakcyjny QA.
  • Przetwarzanie równoległe i wysoka przepustowość: jedno przejście w przód bez auto‑regresji; wygodne do batchowania masowego scoringu.
  • Naturalna integracja z wyszukiwaniem i RAG: w roli bi-enkodera — szybkie wyszukiwanie semantyczne; w roli kros-enkodera — precyzyjne rerankowanie.
  • Efektywna adaptacja: stosunkowo kompaktowe warianty (≈100–300 mln parametrów; BERT‑base ≈110 mln) po ukierunkowanym doszkalaniu osiągają wysoką jakość.
  • Stabilne opóźnienie niezależne od długości generowanej odpowiedzi (brak dekodowania krok po kroku); dobrze nadają się do offline scoringu dużych kolekcji.
  • Możliwość zwiększenia okna kontekstu enkoderów dzięki pozycjom względnym/rotacyjnym i/lub lokalnie rzadkiej uwadze (np. Longformer/BigBird), co jest przydatne w przypadku długich dokumentów.

Wady:

  • Brak własnych możliwości generatywnych: do dialogów i rozbudowanych odpowiedzi potrzebny jest dekoder lub zewnętrzny moduł generatywny.
  • Ograniczoność w scenariuszach interaktywnych: brak generacji krokowej z zachowaniem stanu.
  • Niezgodność celu wstępnego uczenia z zadaniami swobodnej generacji: MLM gorzej odpowiada generacji w porównaniu z modelowaniem przyczynowo-skutkowym.
  • Historycznie ograniczone okno kontekstu (często 512 tokenów w podstawowych konfiguracjach pozycji bezwzględnych); rozszerzenie wymaga specjalnych schematów pozycji/uwagi i/lub doszkalania.
  • W zadaniach retrieval wymagane jest oddzielne kontrastywne doszkalanie bi-enkodera i/lub kros-enkodera; bez tego jakość wyszukiwania/rerankowania jest zazwyczaj niższa niż w przypadku specjalnie wytrenowanych modeli.

Reprezentatywne modele: BERT i jego pochodne, a także RoBERTa i DeBERTa (rozszerzone warianty encoder‑only); wśród alternatywnych celów wstępnego uczenia — ELECTRA (RTD). [5][6][7][8][9][10]

2. Decoder‑only (tylko dekoder)

Wykorzystywany jest wyłącznie stos dekoderów z przyczynową (lewostronna) uwagą: model przewiduje kolejny token na podstawie już zadanego prefiksu. Taki tryb uczenia — causal language modeling (CLM) — czyni te modele naturalnym wyborem do generacji: dialogi, rozbudowane odpowiedzi, tekst kreatywny, kod programistyczny. Kompromisem jest wzrost opóźnienia i rozmiaru KV-cache przy długich promptach. W praktyce dla decoder‑only powszechnie stosuje się techniki inżynierskie: zmniejszenie KV-cache dzięki MQA i GQA, przyspieszenie wnioskowania przez speculative decoding oraz optymalizacje serwerowe (PagedAttention/vLLM, continuous batching, chunked prefill).[11][12][13][14][15]

Zalety:

  • Naturalna generacja tekstu (CLM): silne możliwości zero‑shot i few‑shot; dobrze skaluje się.[16]
  • Wszechstronność zastosowania: jeden model rozwiązuje wiele zadań dzięki instrukcjom i przykładom w prompcie; naturalnie łączy się z RAG i wywoływaniem narzędzi (tool use).
  • Dojrzały ekosystem: praktyki instrukcyjnego doszkalania i wyrównywania zachowania (RLHF, DPO); dostępne implementacje otwarte i komercyjne.[17][18]
  • Bogaty stos optymalizacji wnioskowania: MQA/GQA zmniejszają rozmiar KV-cache i zwiększają przepustowość; speculative decoding przyspiesza wnioskowanie bez zmiany rozkładu; PagedAttention/vLLM z continuous batching i chunked prefill zwiększają end-to-end wykorzystanie GPU.[19][20][21][22][23]
  • Wsparcie dla generacji strukturyzowanej na potrzeby ścisłych formatów odpowiedzi (JSON/SQL/DSL), co upraszcza integrację z systemami informatycznymi i API.[24][25]

Wady:

  • Zwiększone opóźnienie generacji: sekwencyjne wnioskowanie; koszt nowego tokenu rośnie wraz z długością już „przeczytanego" kontekstu (KV-cache).
  • Mniej korzystny przy profilu „długie wejście – krótkie wyjście" (sumaryzacja, tłumaczenie) w porównaniu z encoder–decoder, gdzie wejście jest kodowane jednorazowo.
  • Ograniczenie jednokierunkowym kontekstem: w zadaniach rozumienia niekiedy ustępuje modelom z dwukierunkową reprezentacją (encoder‑only / encoder–decoder).
  • Pamięć pod KV-cache może stanowić „wąskie gardło" przy długich promptach i dużych batchach; [26]
  • Kwantyzacja aktywacji/KV (INT8/FP8) przyspiesza wnioskowanie, ale może obniżać jakość na długich kontekstach/kodzie; wymaga starannej walidacji (zwłaszcza przy rygorystycznych SLA).

Reprezentatywne modele: GPT‑3, GPT‑4 (szczegóły architektury i zestawu danych nie są publicznie ujawnione), LLaMA i Llama 3 (8B/70B, 2024).[27][28][29][30]

3. Encoder–decoder (koder–dekoder)

Architektura łączy oba komponenty. Enkoder działa w trybie dwukierunkowym, a dekoder — przyczynowo. Enkoder jednorazowo analizuje wejście i tworzy jego reprezentację; dekoder generuje wyjście, odwołując się do tej reprezentacji poprzez cross‑attention. Takie rozdzielone podejście jest szczególnie przydatne tam, gdzie wymagane jest przekształcenie długiego tekstu wejściowego w krótkie wyjście: tłumaczenie maszynowe, sumaryzacja, odpowiedzi na podstawie dokumentów. Chociaż metoda wymaga większych łącznych nakładów obliczeniowych (dwa stosy i kros-uwaga), jej zaletą jest kontrolowana generacja oparta na pełnej analizie tekstu źródłowego; przy tym kodowanie wykonywane jest jednokrotnie i ponownie wykorzystywane przez cały proces wnioskowania.

Zalety:

  • Warunkowa generacja: dekoder wykorzystuje cross‑attention do reprezentacji wejścia. [31]
  • Efektywny w scenariuszu „długie wejście → krótkie wyjście": wejście kodowane jest jednokrotnie.
  • Wygodny dla formatu „text‑to‑text" i kontrolowanego wnioskowania (prefiksy zadań, specjalne instrukcje). [32]
  • Stabilność i efektywność przy długim źródle: w fazie dekodowania rośnie tylko self‑attention po wyjściu, a cross‑attention ponownie wykorzystuje stałe klucze/wartości z enkodera (wejście nie jest „odczytywane ponownie" na każdym kroku).

Wady:

  • Dwa stosy zwiększają wymagania co do pamięci i obliczeń podczas uczenia i zastosowania.
  • Przy bardzo długich sekwencjach łączne opóźnienie jest porównywalne z decoder‑only; auto-regresja pozostaje wąskim gardłem.
  • Mniej uniwersalnych modeli czatowych niż wśród decoder‑only; częściej stosowane jako wysokiej jakości silnik seq2seq do konkretnych zadań.
  • Przy bardzo długim wejściu wzrasta zużycie pamięci pod klucze/wartości cross‑attention w każdej warstwie dekodera (dla całego źródła), co wymaga starannego planowania serwisowania.

Reprezentatywne modele: T5 (w tym T5 v1.1 oraz praktyka instrukcyjnego doszkalania w FLAN‑T5) i BART. [33][34][35]

Gęste (dense) transformery

Klasyczna i najbardziej rozpowszechniona architektura LLM: przy przetwarzaniu każdego tokenu uczestniczy niemal cały zestaw parametrów modelu. W odróżnieniu od podejść rzadkich (np. Mixture‑of‑Experts), nie ma selektywnej aktywacji podsieci — każdy blok działa dla każdego tokenu. [1]

Zasada działania i architektura

Podstawowa struktura. Model to stos N jednakowych bloków transformera. Każdy blok zawiera:

  1. Wielogłową samo-uwagę (Multi‑Head Self‑Attention). Dla każdego tokenu obliczane są trzy wektory: Q (query), K (key), V (value); uwaga jest określana jako softmax(QK+Mdk)V, gdzie M — maska (przyczynowa i/lub maska paddingowa) wykluczająca niedopuszczalne pozycje. Kilka „głów" uwagi równolegle uwzględnia różne aspekty kontekstu (H głów, zazwyczaj dhead=dmodelH); ich liczba rośnie wraz ze skalą modelu. [1]
  2. Sieć w pełni połączoną (Feed‑Forward Network, FFN). Dwie warstwy liniowe z nieliniowością między nimi (zazwyczaj GELU/SiLU; w niektórych współczesnych modelach — SwiGLU). Wymiar pośredni zazwyczaj wynosi 4dmodel; przy zastosowaniu SwiGLU często przyjmuje się 83dmodel w celu zachowania porównywalnej liczby parametrów. FFN zawiera znaczną część parametrów. [1][36]

Dodatkowe komponenty. Stosowane są połączenia rezydualne (residual) i normalizacja warstw; we współczesnych LLM częściej stosuje się Pre‑LN (normalizacja przed blokami) — poprawia to stabilność uczenia przy dużych głębokościach. Obok klasycznej LayerNorm coraz powszechniej stosuje się RMSNorm (zmniejsza koszty obliczeniowe i dobrze sprawdza się w dużych modelach); w niektórych rodzinach stosuje się też normalizację w przestrzeni uwagi (np. normalizacja Q/K przed softmax). Reprezentacje pozycyjne mogą być bezwzględne lub względne; dla długiego kontekstu de facto standardem stał się RoPE.

Przykłady modeli i skala
  • BERT‑Large: 24 warstwy, wymiar 1024, 16 głów uwagi, ≈340 mln parametrów. [37]
  • GPT‑3 (175B): 96 warstw, wymiar 12288, 96 głów uwagi, ≈175 mld parametrów. [38]
  • LLaMA‑65B: 80 warstw, wymiar 8192, 64 głowy uwagi, ≈65 mld parametrów. [39]
  • PaLM‑540B: 118 warstw, wymiar rzędu 18432, ≈540 mld parametrów. [40]
Zalety
  • Jednolite bloki, dobrze zbadane tryby uczenia i przewidywalne zachowanie przy skalowaniu.
  • Jakość poprawia się w sposób potęgowy wraz ze wzrostem liczby parametrów i danych; tryb compute‑optimal zakłada jednoczesne zwiększanie rozmiaru modelu i liczby tokenów uczących. [41][42]
  • Ta sama architektura po doszkalaniu obejmuje szerokie spektrum zadań bez zmian na poziomie warstw.
Wady
  • Pełna samo-uwaga ma kwadratową złożoność względem długości sekwencji (O(n2)), co ogranicza okno kontekstu. [1]
  • Pełna aktywacja parametrów na kroku generacji: w dekoderze bez MoE koszt wnioskowania na token rośnie w przybliżeniu proporcjonalnie do liczby parametrów.
  • Wąskie gardło — przepustowość pamięci (memory‑bound): ładowanie wag z HBM często ogranicza szybkość wnioskowania.
Ograniczenia skalowania i kontekstu
  • Pamięć pod parametry rośnie liniowo z rozmiarem modelu; pamięć treningowa zwiększa się z powodu gradientów i stanów optymalizatora.
  • Podstawowe konfiguracje historycznie ograniczały się do 2–4 tys. tokenów. Współczesne schematy pozycyjne (RoPE) i techniki rozszerzania (Position Interpolation, YaRN i in.) pozwalają zwiększać okno o rząd wielkości i więcej, lecz kosztem dodatkowego obciążenia obliczeniowego/pamięciowego. [43][44]

Współczesne optymalizacje

  • FlashAttention. Dokładna uwaga uwzględniająca hierarchię pamięci GPU; zmniejsza zużycie pamięci i przyspiesza uczenie/wnioskowanie przy długich sekwencjach. [45]
  • Redukcja i zarządzanie KV-cache. Multi‑Query Attention i Grouped‑Query Attention zmniejszają rozmiar cache i ruch pamięci; na poziomie serwera PagedAttention (vLLM) zwiększa przepustowość dzięki stronicowemu zarządzaniu cache. [46][47][48]
  • Speculative decoding. Model szkicowy (draft) proponuje kontynuację, a główny model szybko ją weryfikuje; osiągane jest przyspieszenie bez zmiany rozkładu wyjściowego. [49]

Modele rzadkie (Sparse Models) i Mixture‑of‑Experts (MoE)

MoE to sposób na zwiększenie pojemności modelu bez proporcjonalnego wzrostu obliczeń na token. Zamiast jednego dużego bloku FFN w warstwie używany jest zestaw równoległych „ekspertów" (kilka niezależnych FFN), a uczony router (gating network) dla każdego tokenu wybiera top‑k najbardziej trafnych ekspertów (zazwyczaj k=1–2; w niektórych modelach k=4). Aktywowane są tylko wybrane eksperty; ich wyjścia są ważone i sumowane. W ten sposób łączna liczba parametrów może sięgać setek miliardów, a nawet bilionów, jednak na każdym kroku aktywowana jest tylko niewielka ich część. [50][51]

Przykłady modeli i skala

  • Switch Transformer (Google): do ~1,6T parametrów; routing top‑1 (jeden ekspert na token). Pokazał, że MoE pozwala drastycznie zwiększyć pojemność przy porównywalnych kosztach na token. [50]
  • GLaM (Google): 1,2T parametrów, 64 ekspertów w warstwie, top‑2; na każdy token aktywowane jest ≈96,6B parametrów (≈8%). [51]
  • Mixtral 8×7B (Mistral AI): ~46,7B parametrów łącznie, ≈12,9B aktywnych na token, top‑2. [52][53]
  • Mixtral 8×22B: ~141B parametrów łącznie, ≈39B aktywnych na token, top‑2. [54]
  • DBRX (Databricks): 132B parametrów łącznie, ≈36B aktywnych na token; 16 ekspertów i routing top‑4 (fine‑grained MoE). [55]
Zalety
  • Koszt obliczeń wyznaczany jest przez liczbę aktywnych ekspertów k, a nie łączną liczbę parametrów: można uczyć i używać modeli w skali bilionowej przy kosztach porównywalnych z gęstymi modelami znacznie mniejszego rozmiaru. [51]
  • Specjalizacja: eksperci automatycznie „dostosowują się" do języków/dziedzin/wzorców, poprawiając jakość w zadaniach wielodziedzinowych.
  • Elastyczne wdrożenie: można trzymać w pamięci często używanych ekspertów i ładować rzadkich (przy odpowiedniej infrastrukturze).
Ograniczenia
  • Balansowanie obciążenia: bez regularyzacji router może „utkwić" na części ekspertów (router collapse). Potrzebne są auxiliary losses (load‑balancing) i ulepszone schematy routingu. [50]
  • Złożoność obliczeń rozproszonych: wymagany jest expert parallelism i wymiana all‑to‑all; koszty komunikacji i zarządzanie pamięcią stają się wąskim gardłem. [56]
  • Stabilność uczenia: istotne są ustawienia routera i ograniczeń pojemności (capacity), w przeciwnym razie możliwe są degradacje jakości/zbieżności.

Współczesne ulepszenia

  • Expert‑Choice routing: eksperci „wybierają" tokeny, co poprawia balansowanie i zbieżność przy porównywalnych kosztach. [57]
  • Fine‑grained MoE: większa liczba mniejszych ekspertów (jak w DBRX) daje drobniejszą granularność specjalizacji. [55]
  • Sparse Upcycling: przekształcenie gęstego modelu w MoE z jego checkpointu pozwala istotnie podnieść jakość przy umiarkowanych kosztach. [58]

Celowość stosowania MoE

  • Duże asystenty wielodziedzinowe przy ograniczonym budżecie obliczeniowym.
  • Uczenie na rozległych korpusach, gdzie specjalizacja przynosi korzyści.
  • Scenariusze z rozwiniętą infrastrukturą rozproszoną (wiele GPU/TPU i szybkie sieci).

Kiedy lepsze są modele gęste: ograniczona infrastruktura (1–2 GPU), rygorystyczne wymagania co do przewidywalnego opóźnienia i prostoty wdrożenia.

Retrieval‑Augmented Generation (RAG)

RAG to architektoniczny wzorzec systemu wokół LLM, a nie wewnętrzna architektura samego modelu. Łączy LLM (komponent generatywny) z zewnętrzną bazą wiedzy (komponent ekstrakcji), co pozwala kompensować ograniczoność „pamięci parametrycznej" modelu.

  • Zasada działania: Przed generacją LLM pobiera odpowiednie dokumenty z zewnętrznego źródła (wiki, firmowa baza wiedzy, sieć) i opiera się na nich przy formułowaniu odpowiedzi. [59]
  • Zalety:
    • Redukcja halucynacji i poprawa dokładności faktograficznej. [59][60]
    • Aktualność bez pełnego ponownego uczenia modelu. [59]
    • Cytowalność i śledzalność odpowiedzi.
  • Zastosowanie: De facto standard dla asystentów korporacyjnych i systemów wymagających weryfikowalnych faktów oraz pracy z danymi prywatnymi/wysoce wyspecjalizowanymi. [59]

Mechanizmy uwagi i praca z kontekstem

Podstawowa samo-uwaga ma kwadratową złożoność względem długości sekwencji (O(n2)), dlatego pojawiły się optymalizacje.

  • Rzadka uwaga (Sparse Attention): Ograniczenie uwagi do lokalnych okien/wzorców. Przykłady: Longformer[61], BigBird[62].
  • FlashAttention: Zmiana kolejności obliczeń z uwzględnieniem hierarchii pamięci GPU; daje istotną oszczędność czasu i pamięci i stała się de facto standardem przy uczeniu LLM z długim kontekstem[63][64][65].
  • MQA/GQA (przyspieszenie dekodowania): Multi‑Query Attention (wspólne klucze/wartości dla wszystkich głów) zmniejsza ruch KV-cache[66]. Grouped‑Query Attention balansuje jakość/szybkość[67].
  • Ulepszone reprezentacje pozycyjne:
    • ALiBi (Attention with Linear Biases): Liniowe przesunięcia wyników uwagi poprawiają uogólnianie na większe długości. [68]
    • RoPE (Rotary Position Embeddings): Względna informacja pozycyjna poprzez obrót Q/K; szeroko stosowana we współczesnych modelach (np. LLaMA). [69][70]
    • Rozszerzanie kontekstu dla modeli RoPE: Position Interpolation [71], YaRN [72] oraz modyfikacje NTK-aware pozwalają efektywnie zwiększać okno kontekstu bez zmiany architektury.
  • Inne podejścia do długich sekwencji:
    • Transformer‑XL: Pamięć rekurencyjna między segmentami do modelowania dalekich zależności. [73]
    • Reformer: LSH‑attention i odwracalne bloki rezydualne na potrzeby oszczędności pamięci. [74]
    • Performer: Liniowe przybliżenie softmax‑attention (FAVOR+). [75]
    • Linformer: Niskorzędowe przybliżenie macierzy uwagi. [76]

Optymalizacje modeli i infrastruktura uczenia

Do uczenia i wdrożenia LLM stosuje się wyspecjalizowane techniki i frameworki.

  • Kwantyzacja (Quantization): Redukcja precyzji wag zmniejsza pamięć i przyspiesza wnioskowanie. QLoRA pozwala efektywnie doszkalać modele 4-bitowe (w tym 65B) przy jakości bliskiej pełnej precyzji[77].
  • Destylacja wiedzy (Knowledge Distillation): Uczenie Teacher→Student na potrzeby kompaktowych modeli[78]; przykład — DistilBERT[79].
  • Uczenie rozproszone:
    • DeepSpeed i ZeRO — rozproszenie parametrów/gradientów/stanów optymalizatora na potrzeby uczenia modeli bilionowych[80].
    • Megatron‑LM — tensorowy i potokowy paralelizm dla bardzo dużych transformerów[81].
  • Ekosystem i narzędzia: Hugging Face Transformers i Accelerate dostarczają standardowe implementacje modeli i integrację z DeepSpeed/FSDP na potrzeby uczenia i wnioskowania[82][83].

Prawa skalowania i uczenie compute‑optimal

Empiryczne prawa skalowania pokazują, że błąd krzyżowej entropii maleje w sposób potęgowy wraz ze wzrostem parametrów, danych i obliczeń. [84] Praca Chinchilla doprecyzowała tryby compute‑optimal: dla optymalnej efektywności rozmiar modelu i liczba tokenów uczących powinny być skalowane łącznie (przykład — model 70B uczony na ~1,4T tokenów, przewyższający większe, niedouczone modele). [85]

Modele z przestrzenią stanów (State Space Models, SSM)

State Space Models (SSM) — alternatywna wobec transformerów architektura do pracy z długimi sekwencjami. Czerpie idee z teorii sterowania i cyfrowego przetwarzania sygnałów i rozwiązuje główny problem self‑attention: kwadratowy wzrost obliczeń wraz z wydłużaniem tekstu.

Główny problem i rozwiązanie

Problem transformerów. Głównym problemem tradycyjnych transformerów jest kwadratowa złożoność uwagi: tekst 10 razy dłuższy wymaga około 100 razy więcej obliczeń.

Podejście SSM. Zamiast „jednoczesnej uwagi na wszystkie słowa" model przechodzi przez tekst sekwencyjnie i utrzymuje kompaktowy wewnętrzny stan pamięci, który jest aktualizowany na każdym kroku. W rezultacie czas i zużycie pamięci rosną w przybliżeniu liniowo wraz z długością tekstu. Przy tym uczenie może być wykonywane równolegle — poprzez splotową reprezentację jądra (wysoka przepustowość przy długich sekwencjach). [86]

Zasada działania

Dyskretny SSM opisują równania stanu i wyjścia:

xt=Axt1+But,yt=Cxt+Dut

gdzie xt — stan pamięci, ut — wejście (token), yt — wyjście. W głębokich SSM macierze A,B,C,D parametryzuje się tak, aby zapewnić stabilność i efektywne obliczenia na długich sekwencjach. Tę samą warstwę można traktować jako:

  • rekurencyjną (skanowanie po krokach) — oszczędne pamięciowo wnioskowanie bez KV-cache;
  • splotową — równoległe uczenie z wstępnie obliczonym jądrem. [86]

Główne architektury i hybrydy

  • S4 (Structured State Spaces). Bazowa linia SSM ze stabilną parametryzacją macierzy stanu; wykazuje efektywność przy bardzo długich sekwencjach. [86]
  • Mamba. Selektywne SSM: reguły aktualizacji pamięci zależą od bieżącego wejścia (model sam decyduje, co „trzymać w pamięci", a co „zapominać"). Implementacja zorientowana na hierarchię pamięci GPU; według autorów osiągane jest wielokrotne zwiększenie przepustowości wnioskowania przy liniowej złożoności względem długości. [87]
  • RetNet. Mechanizm retention z trzema trybami: równoległe uczenie, rekurencyjne i blokowe-rekurencyjne wnioskowanie. Celem jest połączenie szybkiego uczenia (jak w transformerach) z oszczędnym potokiem wnioskowania (O(1) pamięć na token). [88]
  • Hybrydy Attention+SSM. Przykład — Jamba (naprzemienne warstwy Transformer i Mamba plus MoE): obsługa kontekstów rzędu ~256 K tokenów przy znacznie mniejszym zapotrzebowaniu na pamięć w porównaniu z modelami czysto transformerowymi podobnej klasy. [89]

Zalety

  • Liniowa złożoność i oszczędność pamięci przy wnioskowaniu. Brak globalnego self‑attention i KV-cache; przechowywany jest jedynie kompaktowy stan. [87][88]
  • Równoległe uczenie na długich sekwencjach. Tryb splotowy zwiększa przepustowość uczenia. [86]
  • Efektywność sprzętowa. Implementacje zorientowane na współczesną hierarchię pamięci (HBM/SRAM). [87]
  • Długie konteksty i streaming. Hybrydy SSM+Attention są praktyczne dla setek tysięcy tokenów przy umiarkowanych zasobach. [89]

Ograniczenia i aktualna praktyka

  • Dojrzałość ekosystemu. Narzędzia i „przepisy" skalowania (instrukcje, RLHF/DPO) wciąż ustępują stackowi transformerowemu. [87]
  • Jakość i stabilność. W szeregu zadań hybrydy (Attention+SSM) wykazują bardziej stabilny kompromis „jakość/szybkość/pamięć" niż „czyste" SSM. [89]

Porównanie podejść (ogólnie)

Charakterystyka Transformery SSM Hybrydy (Attention+SSM)
Złożoność względem długości Kwadratowa (self‑attention) Liniowa (skan/splot) Bliska liniowej
Pamięć na token (wnioskowanie) KV-cache rośnie z kontekstem Stan O(1) Umiarkowany wzrost
Długie konteksty Wymagane specjalne optymalizacje Naturalne wsparcie Praktyczne do ~256 K
Dojrzałość ekosystemu Wysoka Rozwijająca się Rozwijająca się

Praktyczne zastosowania

  • Analiza bardzo długich dokumentów (książki, raporty, przeglądy naukowe).
  • Przetwarzanie strumieniowe i scenariusze czatowe z długą historią bez wzrostu kosztów pamięci.
  • Środowiska z ograniczonymi zasobami (urządzenia mobilne/edge).
  • Szeregi czasowe i inne dane sekwencyjne.

Reprezentatywne modele: S4, Mamba, RetNet; hybrydy Attention+SSM (Jamba). [86][87][88][89]

Ewolucja architektur

  • 2017 — opublikowana praca „Attention Is All You Need". Przedstawiona architektura transformera: wielogłowa samo-uwaga i kodowania pozycyjne pozwalają uczyć modele bez rekurencji i splotów; jednocześnie uwaga ma kwadratową złożoność względem długości kontekstu.[1]
  • 2018 — przedstawione GPT‑1 i BERT. GPT‑1 używa stosu wyłącznie dekoderów z przyczynową uwagą do generacji i późniejszego doszkalania; BERT wprowadza dwukierunkowy enkoder i wstępne uczenie MLM dla zadań rozumienia tekstu. [90][91]
  • 2019 — zaproponowane sposoby pracy z długimi sekwencjami i skalowanie decoder‑only. Transformer‑XL dodaje „pamięć" i względne pozycje do wychodzenia poza stałe okno; GPT‑2 pokazuje wzrost możliwości zero‑shot wraz ze wzrostem skali; BART demonstruje efektywność wstępnego uczenia z odszumianiem dla seq2seq. [92][93][94]
  • 2020 — zunifikowany format „text‑to‑text" i pokazane metody dla długich dokumentów. T5 formułuje jednolite podejście encoder–decoder dla różnych zadań; Longformer i BigBird używają rzadkiej/strukturyzowanej uwagi dla długich tekstów; GPT‑3 potwierdza efektywność skalowania gęstego decoder‑only. [95][96][97][98]
  • 2021 — ulepszone reprezentacje pozycyjne i pokazana rzadkość parametrów (MoE). RoPE i ALiBi poprawiają uogólnianie przy większych długościach; Switch Transformer i GLaM aktywują tylko część ekspertów na token, zwiększając pojemność bez proporcjonalnego wzrostu kosztów wnioskowania. [99][100][101][102]
  • 2022 — doprecyzowany tryb compute‑optimal i przyspieszone wnioskowanie przy długich promptach. Chinchilla pokazuje korzyści z większej liczby tokenów uczących przy umiarkowanym rozmiarze modelu; PaLM z Multi‑Query Attention zmniejsza rozmiar KV-cache; FlashAttention przyspiesza uwagę na GPU. [103][104][105][106]
  • 2023 — zwiększone okna kontekstu bez zmiany warstw i ulepszony serwis podawania danych. Seria LLaMA utrwala praktyki (RMSNorm, SwiGLU, RoPE); Position Interpolation i YaRN rozszerzają kontekst; vLLM/PagedAttention efektywniej zarządza KV-cache. [107][108][109][110][111][112]
  • 2023 — GPT‑4 i Gemini pokazują przetwarzanie i generację w wielu modalnościach w ramach jednej rodziny modeli. [113][114]
  • 2023 — zaproponowane modele z przestrzenią stanów (SSM). Mamba i RetNet powracają do sekwencyjnego przetwarzania z kompaktowym stanem zamiast KV-cache i kładą podwaliny pod architektury hybrydowe. [115][116]
  • 2024 — opublikowane otwarte modele MoE i hybrydy Attention+SSM; przyspieszona uwaga na nowych GPU. Mixtral 8×7B/8×22B i DBRX potwierdzają praktyczność MoE; Jamba łączy Transformer i Mamba dla bardzo długich kontekstów; FlashAttention‑3 zwiększa przepustowość. [117][118][119][120][121]

Odnośniki

Literatura

Przypisy

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Vaswani, A. et al. (2017). Attention Is All You Need. https://arxiv.org/abs/1706.03762
  2. Devlin, J. et al. (2019). BERT. https://arxiv.org/abs/1810.04805
  3. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  4. Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  5. Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
  6. Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. https://arxiv.org/abs/1907.11692
  7. He, P. et al. (2021). DeBERTa: Decoding‑enhanced BERT with Disentangled Attention. https://arxiv.org/abs/2006.03654
  8. Clark, K. et al. (2020). ELECTRA: Pre‑training Text Encoders as Discriminators Rather Than Generators. https://arxiv.org/abs/2003.10555
  9. Zaheer, M. et al. (2020). Big Bird: Transformers for Longer Sequences. https://arxiv.org/abs/2007.14062
  10. Beltagy, I. et al. (2020). Longformer: The Long‑Document Transformer. https://arxiv.org/abs/2004.05150
  11. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (Multi‑Query Attention). https://arxiv.org/abs/1911.02150
  12. Ainslie, J. et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. https://arxiv.org/abs/2305.13245
  13. Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
  14. Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). https://arxiv.org/abs/2309.06180
  15. vLLM Docs (2024–2025). Continuous batching, Chunked prefill, Structured outputs. https://docs.vllm.ai/
  16. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  17. Ouyang, L. et al. (2022). InstructGPT (RLHF). https://arxiv.org/abs/2203.02155
  18. Rafailov, R. et al. (2023). Direct Preference Optimization. https://arxiv.org/abs/2305.18290
  19. Shazeer, 2019. https://arxiv.org/abs/1911.02150
  20. Ainslie, 2023. https://arxiv.org/abs/2305.13245
  21. Leviathan, 2023. https://arxiv.org/abs/2211.17192
  22. Kwon, 2023. https://arxiv.org/abs/2309.06180
  23. vLLM Docs. https://docs.vllm.ai/
  24. OpenAI (2024). Structured Outputs. https://openai.com/index/introducing-structured-outputs-in-the-api/
  25. vLLM Docs — Structured outputs. https://docs.vllm.ai/en/v0.9.2/features/structured_outputs.html
  26. Kwon, 2023. https://arxiv.org/abs/2309.06180
  27. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  28. Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
  29. Achiam, J. et al. (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
  30. Meta AI (2024). Introducing Meta Llama 3. https://ai.meta.com/blog/meta-llama-3/
  31. Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  32. Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
  33. Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  34. Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training for NLG, Translation, and Comprehension. https://arxiv.org/abs/1910.13461
  35. Chung, H. W. et al. (2022). Scaling Instruction‑Finetuned Language Models (FLAN‑T5). https://arxiv.org/abs/2210.11416
  36. Shazeer, N. (2020). GLU Variants Improve Transformer. https://arxiv.org/abs/2002.05202
  37. Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
  38. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  39. Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
  40. Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
  41. Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
  42. Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
  43. Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
  44. Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
  45. Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
  46. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
  47. Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
  48. Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. https://arxiv.org/abs/2309.06180
  49. Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
  50. 50.0 50.1 50.2 Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
  51. 51.0 51.1 51.2 Du, N. et al. (2021). GLaM: Efficient Scaling of Language Models with Mixture‑of‑Experts. https://arxiv.org/pdf/2112.06905.pdf
  52. Mistral AI (2023). Mixtral of Experts. https://mistral.ai/news/mixtral-of-experts/
  53. Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
  54. Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
  55. 55.0 55.1 Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
  56. NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
  57. Zhou, Y. et al. (2022). Mixture‑of‑Experts with Expert Choice Routing. https://arxiv.org/abs/2202.09368
  58. Komatsuzaki, A. et al. (2022). Sparse Upcycling: Training Mixture‑of‑Experts from Dense Checkpoints. https://arxiv.org/abs/2212.05055
  59. 59.0 59.1 59.2 59.3 Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. https://arxiv.org/abs/2005.11401
  60. NVIDIA Blog (2025). What is Retrieval‑Augmented Generation (RAG). https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/
  61. Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
  62. Zaheer, M. et al. (2020). Big Bird. https://arxiv.org/abs/2007.14062
  63. Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
  64. Dao, T. et al. (2023). FlashAttention‑2. https://arxiv.org/abs/2307.08691
  65. Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608
  66. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
  67. Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
  68. Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
  69. Su, J. et al. (2021). RoFormer: Rotary Position Embedding. https://arxiv.org/abs/2104.09864
  70. Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
  71. Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
  72. Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
  73. Dai, Z. et al. (2019). Transformer‑XL: Attentive Language Models Beyond a Fixed‑Length Context. https://arxiv.org/abs/1901.02860
  74. Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer: The Efficient Transformer. https://arxiv.org/abs/2001.04451
  75. Choromanski, K. et al. (2021). Rethinking Attention with Performers. https://arxiv.org/abs/2009.14794
  76. Wang, S. et al. (2020). Linformer: Self‑Attention with Linear Complexity. https://arxiv.org/abs/2006.04768
  77. Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. https://arxiv.org/abs/2305.14314
  78. Hinton, G. et al. (2015). Distilling the Knowledge in a Neural Network. https://arxiv.org/abs/1503.02531
  79. Sanh, V. et al. (2019). DistilBERT. https://arxiv.org/abs/1910.01108
  80. Rajbhandari, S. et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion‑Parameter Models. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
  81. Shoeybi, M. et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. https://arxiv.org/abs/1909.08053
  82. Hugging Face. Transformers Documentation. https://huggingface.co/docs/transformers
  83. Hugging Face. Accelerate Documentation. https://huggingface.co/docs/accelerate
  84. Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
  85. Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
  86. 86.0 86.1 86.2 86.3 86.4 Gu, A.; Goel, K.; Ré, C. (2021). Efficiently Modeling Long Sequences with Structured State Spaces (S4). https://arxiv.org/abs/2111.00396
  87. 87.0 87.1 87.2 87.3 87.4 Gu, A.; Dao, T. (2023/2024). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752
  88. 88.0 88.1 88.2 Sun, Y. et al. (2023). Retentive Network: A Successor to Transformer for Large Language Models. https://arxiv.org/abs/2307.08621
  89. 89.0 89.1 89.2 89.3 Lieber, O. et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. https://arxiv.org/abs/2403.19887
  90. Radford, A. et al. (2018). Improving Language Understanding by Generative Pre‑Training. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
  91. Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
  92. Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
  93. Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
  94. Lewis, M. et al. (2019). BART. https://arxiv.org/abs/1910.13461
  95. Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  96. Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
  97. Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
  98. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  99. Su, J. et al. (2021). RoPE. https://arxiv.org/abs/2104.09864
  100. Press, O. et al. (2021/2022). ALiBi. https://arxiv.org/abs/2108.12409
  101. Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
  102. Du, N. et al. (2021). GLaM. https://arxiv.org/pdf/2112.06905.pdf
  103. Hoffmann, J. et al. (2022). Chinchilla. https://arxiv.org/abs/2203.15556
  104. Chowdhery, A. et al. (2022). PaLM. https://arxiv.org/abs/2204.02311
  105. Shazeer, N. (2019). Fast Transformer Decoding. https://arxiv.org/abs/1911.02150
  106. Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
  107. Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
  108. Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
  109. Shazeer, N. (2020). GLU Variants. https://arxiv.org/abs/2002.05202
  110. Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
  111. Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
  112. Kwon, W. et al. (2023). vLLM/PagedAttention. https://arxiv.org/abs/2309.06180
  113. OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
  114. Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
  115. Gu, A.; Dao, T. (2023). Mamba. https://arxiv.org/abs/2312.00752
  116. Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
  117. Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
  118. Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
  119. Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
  120. Lieber, O. et al. (2024). Jamba. https://arxiv.org/abs/2403.19887
  121. Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608