Teoretické základy LLM

From Systems analysis wiki
Jump to navigation Jump to search

Teoretické základy velkých jazykových modelů (na základě architektury transformerů) — to je souhrn matematických, statistických a informačně-teoretických principů, které leží v základu fungování, trénování a schopností moderních velkých jazykových modelů (LLM). Tyto základy vysvětlují, jak modely postavené na architektuře Transformer dokáží chápat a generovat lidský jazyk s vysokou mírou koherence.

Architektonické základy: architektura Transformer

Moderní LLM jsou téměř výhradně založeny na architektuře Transformer, představené v roce 2017 v článku „Attention Is All You Need". Tato architektura upustila od rekurentních vrstev (jako v RNN a LSTM) a vsadila na mechanismus pozornosti (attention), což umožnilo efektivně zpracovávat dlouhé sekvence a paralelizovat výpočty.

Mechanismus vlastní pozornosti (Self-Attention)

Toto je jádro architektury Transformer. Mechanismus vlastní pozornosti umožňuje modelu vážit důležitost každého slova (tokenu) v sekvenci vůči všem ostatním slovům ve stejné sekvenci. Pro každý token jsou vytvořeny tři vektory:

  • Query (Q, Dotaz): vektor reprezentující aktuální slovo.
  • Key (K, Klíč): vektor, s nímž jsou porovnávány dotazy od ostatních slov.
  • Value (V, Hodnota): vektor obsahující informaci o slově, která bude předána dále.

Skóre pozornosti se vypočítá jako škálovaný skalární součin:

extAttention(Q,K,V)=extsoftmax(QKTdk)V

kde dk je dimenze vektorů klíčů. Tento mechanismus umožňuje modelu zachycovat složité kontextuální závislosti bez ohledu na vzdálenost mezi slovy.

Vícehlavová pozornost (Multi-Head Attention) — to je paralelní provádění několika takových výpočtů s různými projekčními maticemi, což umožňuje modelu současně se soustředit na různé aspekty syntaxe a sémantiky.

Typy architektur na základě Transformeru

Existují tři základní varianty použití komponent Transformeru:

  1. Enkodér-dekodér (Encoder-Decoder): Klasická architektura pro úlohy převodu sekvence na sekvenci (například strojový překlad). Enkodér zpracovává vstupní sekvenci, zatímco dekodér generuje výstupní. Příklady: T5, BART.
  2. Pouze enkodér (Encoder-Only): Modely využívající pouze zásobník enkodérů. Jsou vynikající pro úlohy vyžadující hluboké porozumění kontextu celé sekvence (klasifikace textu, rozpoznávání pojmenovaných entit). Příklad: BERT.
  3. Pouze dekodér (Decoder-Only): Modely využívající pouze zásobník dekodérů. Fungují autoregresivně, přičemž předpovídají další token na základě předchozích. Toto je standard pro generativní modely. Příklady: GPT, LLaMA, Claude.

Poziční kódování

Protože mechanismus vlastní pozornosti nezohledňuje pořadí slov, do architektury se přidává poziční kódování. K embeddingům tokenů se přičítají vektory kódující jejich pozici v sekvenci. V původním modelu byly použity sinusoidální funkce:

extPE(extpos,2i)=sin(extpos/100002i/dextmodel)
extPE(extpos,2i+1)=cos(extpos/100002i/dextmodel)

V moderních modelech se také používají trénovatelná a rotační (Rotary Position Embeddings, RoPE) poziční kódování.

Principy trénování: od pravděpodobnosti k optimalizaci

Jazykové modelování jako pravděpodobnostní úloha

V základu LLM stojí úloha jazykového modelování — předpovídání pravděpodobnosti sekvence textu. Formálně, pro sekvenci X=(x1,x2,,xT) model odhaduje pravděpodobnost P(X). Pomocí řetězového pravidla pravděpodobností se tato rozloží na součin podmíněných pravděpodobností:

P(X)=t=1TP(xt|x1,,xt1)

Trénování modelu tak spočívá v předpovídání dalšího tokenu xt na základě kontextu tvořeného předchozími tokeny.

Ztrátová funkce a teorie informace

Pro hodnocení kvality předpovědí a trénování modelu se používá křížová entropie jako ztrátová funkce. Měří odchylku mezi pravděpodobnostním rozdělením předpovězeným modelem (q) a skutečným rozdělením (p), kde správný další token má pravděpodobnost 1 a ostatní 0.

H(p,q)=ip(i)logq(i)

Minimalizace křížové entropie je ekvivalentní maximalizaci věrohodnosti trénovacích dat.

Související metrikou kvality je perplexita, definovaná jako exponenta křížové entropie: extPerplexity=2H(p,q). Intuitivně perplexita udává průměrný počet variant, z nichž model „vybírá" v každém kroku. Čím nižší perplexita, tím je model přesvědčivější a přesnější.

Optimalizace

Trénování LLM je proces minimalizace ztrátové funkce prostřednictvím úpravy miliard parametrů modelu. K tomu se používají metody založené na gradientním sestupu. Nejrozšířenějším je optimalizátor Adam (Adaptive Moment Estimation) a jeho varianty (například AdamW), které adaptivně nastavují rychlost učení pro každý parametr.

Paradigmata trénování

  1. Předtrénování (Pre-training): Model je trénován na obrovských neoznačených textových korpusech (Common Crawl, The Pile, C4) pomocí samořízeného učení, jako jsou:
    • Kauzální jazykové modelování (CLM): Předpovídání dalšího tokenu (používáno v GPT).
    • Maskované jazykové modelování (MLM): Obnova náhodně maskovaných tokenů v textu (používáno v BERT).
  2. Dotrénování (Fine-tuning): Po předtrénování je model přizpůsoben konkrétním úlohám na malých označených datových sadách.
  3. Zarovnání (Alignment): Speciální fáze dotrénování zaměřená na sladění chování modelu s lidskými preferencemi a hodnotami. Klíčovou metodou je RLHF (Reinforcement Learning from Human Feedback), kde je model dotrénován pomocí signálu odměny z modelu předpovídajícího lidské preference.

Zákony škálování a emergentní schopnosti

Empirickýz výzkum ukázal, že výkonnost LLM se předvídatelně zlepšuje s nárůstem tří faktorů: velikosti modelu (počtu parametrů, N), velikosti trénovací datové sady (D) a objemu výpočtů (C). Tato závislost je popsána mocninnými zákony (scaling laws).

Zákon navržený v práci OpenAI (Kaplan et al., 2020) ukazuje, že ztrátová funkce L klesá jako mocninná funkce od N, D a C. Pozdější práce DeepMind (Hoffmann et al., 2022) tyto zákony zpřesnila (Chinchilla zákony), přičemž ukázala, že pro optimální trénování je třeba vyváženě zvyšovat jak velikost modelu, tak objem dat.

Důležitým důsledkem škálování je vznik emergentních schopností — kvalitativních skoků ve výkonnosti, kdy model začíná řešit úlohy, na které nebyl explicitně trénován (například aritmetika, logické uvažování, psaní kódu). Tyto schopnosti zpravidla chybí u menších modelů a projevují se až po dosažení určité prahové hodnoty škálování.

Generování textu: strategie dekódování

Po trénování model generuje text iterativním předpovídáním dalšího tokenu. Výběr dalšího tokenu z pravděpodobnostního rozdělení vydaného modelem se provádí pomocí různých strategií dekódování:

  • Hladové vyhledávání (Greedy Search): Vždy je vybrán nejpravděpodobnější token. Rychlé, ale často vede k opakujícímu se a nudnému textu.
  • Paprskové vyhledávání (Beam Search): V každém kroku je uchováváno k nejpravděpodobnějších sekvencí, což umožňuje nalézat optimálnější globální řešení.
  • Vzorkování s teplotou: Pravděpodobnosti tokenů jsou upraveny parametrem teploty (T). Při T>1 se rozdělení stává rovnoměrnějším (více kreativity), při T<1 — vrcholovějším (méně náhodnosti).
  • Top-k vzorkování: V každém kroku je výběr omezen na k nejpravděpodobnějších tokenů.
  • Top-p (Nucleus) vzorkování: Výběr je omezen na minimální sadu tokenů, jejichž celková pravděpodobnost překračuje práh p. To umožňuje dynamicky přizpůsobovat velikost fondu kandidátů.

Teoretické problémy a omezení

  • Halucinace: Sklon modelů generovat fakticky nesprávné, avšak věrohodně znějící informace. To souvisí s tím, že modely optimalizují pravděpodobnost textu, nikoli jeho pravdivost.
  • Zaujatost (Bias): LLM dědí a zesilují sociální, kulturní a jiné předsudky přítomné v trénovacích datech.
  • Interpretovatelnost („černá skříňka"): Kvůli obrovskému počtu parametrů je velmi obtížné pochopit, jak přesně model přijímá rozhodnutí, což ztěžuje ladění a vytváří rizika.
  • Výpočetní složitost: Mechanismus vlastní pozornosti má kvadratickou složitost vzhledem k délce sekvence (O(n2)), což omezuje maximální délku zpracovávaného kontextu.

Viz také

  • Velké jazykové modely
  • BERT
  • GPT

Literatura

  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Brown, T. B. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
  • Bubeck, S. et al. (2023). Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712.
  • Touvron, H. et al. (2024). The Llama 3 Herd of Models. arXiv:2407.21783.
  • Bender, E. M. et al. (2021). On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?. DOI:10.1145/3442188.3445922.