Předtrénování

From Systems analysis Wiki
Jump to navigation Jump to search

Předtrénování velkých jazykových modelů (LLM) — je fundamentální etapou při vytváření moderních velkých jazykových modelů, která spočívá v jejich trénování na obrovských a různorodých souborech neoznačeného textu. Tento proces umožňuje modelům vstřebávat obecné jazykové zákonitosti, znalosti o světě a sémantické vazby, čímž vzniká tzv. základní model (foundation model), který lze následně přizpůsobit pro řešení konkrétních úloh.

Co je předtrénování?

Předtrénování (pre-training) představuje počáteční fázi trénování, při níž je LLM trénován na rozsáhlých textových datových sadách pomocí metod samodohlíženého učení (self-supervised learning). To znamená, že trénovací signály (štítky) jsou generovány ze samotných dat, bez nutnosti ručního označování člověkem.

Hlavním cílem této etapy je předpovídání skrytých nebo budoucích částí textu. V závislosti na architektuře se používají dvě základní úlohy:

  • Kauzální jazykové modelování (Causal Language Modeling, CLM): Model se učí předpovídat následující slovo (token) v sekvenci na základě všech předchozích. Tento přístup leží v základu generativních modelů, jako je GPT.
  • Maskované jazykové modelování (Masked Language Modeling, MLM): Model se učí obnovovat náhodně „zamaskovaná" (skrytá) slova v textu s využitím jejich oboustranného kontextu (slov nalevo i napravo). Tato metoda se používá v modelech, jako je BERT.

Díky těmto úlohám je model nucen studovat syntax, sémantiku a faktické znalosti o světě, aby úspěšně prováděl předpovědi.

Data pro předtrénování

Efektivita předtrénování do značné míry závisí na kvalitě a rozmanitosti trénovacích dat. Používají se následující hlavní zdroje:

  • Webové stránky: Datové sady jako Common Crawl a C4 zajišťují široké spektrum témat, stylů a jazyků a představují „snímek" internetu.
  • Knihy: Korpusy jako BookCorpus a The Pile poskytují strukturovaný a soudržný text, užitečný pro porozumění dlouhodobým závislostem a narativům.
  • Konverzační data: Data z fór (např. Reddit) a sociálních sítí, která pomáhají modelům osvojit si neformální jazyk a dialogové vzory.
  • Specializovaná data: Vědecké články (z arXiv), programový kód (z GitHub a The Stack) nebo vícejazyčné texty pro zlepšení specifických schopností modelu.

Příklady distribuce dat

Různé modely používají různé poměry zdrojů, což ovlivňuje jejich výsledné schopnosti:

  • GPT-3 (175 mld. parametrů):** 16 % knihy, 84 % webové stránky.
  • PaLM (540 mld. parametrů):** 5 % knihy, 14 % webové stránky, 50 % konverzační data, 31 % ostatní.
  • LLaMA (65 mld. parametrů):** 5 % knihy, 2 % webové stránky, 87 % konverzační data.

Tato rozdělení ukazují, že volba dat je strategickým rozhodnutím, které se liší v závislosti na cílech modelu.

Často používané korpusy

Často používané datové sady pro předtrénování LLM
Korpus Velikost Zdroj Poslední aktualizace
BookCorpus 5GB Knihy Pro-2015
Gutenberg - Knihy Pro-2021
C4 800GB Common Crawl Dub-2019
CC-Stories-R 31GB Common Crawl Zář-2019
CC-NEWS 78GB Common Crawl Úno-2019
REALNEWS 120GB Common Crawl Dub-2019
OpenWebText 38GB Odkazy Reddit Bře-2023
Pushshift.io 2TB Odkazy Reddit Bře-2023
Wikipedia 21GB Wikipedie Bře-2023
The Pile 800GB Ostatní Pro-2020
ROOTS 1.6TB Ostatní Čvn-2022

Techniky trénování

Předtrénování LLM vyžaduje značné výpočetní zdroje. Pro řízení tohoto procesu se používají následující techniky:

  • Distribuované trénování: Využití více GPU nebo TPU pro paralelní zpracování.
  • Smíšená přesnost (Mixed Precision): Používání numerických formátů s nižší přesností (např. 16bitových místo 32bitových) pro urychlení výpočtů a snížení spotřeby paměti.
  • Kontrolní body gradientů (Gradient Checkpointing): Technika pro úsporu paměti pomocí přepočítávání, nikoli ukládání některých mezilehlých aktivací.
  • Paralelismus modelů (Model Parallelism): Rozdělení samotného modelu napříč více zařízeními.

Trénování modelu, jako je GPT-3, může trvat několik měsíců na tisících GPU.

Zákony škálování

Výzkumy, jako je práce OpenAI (Kaplan et al., 2020), ukázaly, že výkonnost jazykových modelů se předvídatelně zlepšuje s nárůstem tří faktorů:

  • Velikosti modelu (počtu parametrů).
  • Objemu dat.
  • Výpočetních zdrojů.

Tyto empirické závislosti, známé jako zákony škálování, slouží vývojářům jako vodítko při navrhování a trénování větších a výkonnějších modelů a umožňují optimálně rozdělit výpočetní rozpočet.

Výzvy a úspěchy

  • Škálování: Hlavním úspěchem předtrénování je možnost vyvážit velikost modelu, dat a výpočtů pro dosažení optimálního výkonu.
  • Kvalita dat: Zajištění čistoty, rozmanitosti a absence předsudků v trénovacích datech je klíčovou výzvou.
  • Efektivita: Vývoj metod pro snížení výpočetních nákladů, jako je kontinuální předtrénování nebo efektivnější architektury.
  • Vícejazyčnost: Vytváření modelů schopných efektivně zpracovávat více jazyků vyžaduje pečlivý výběr a vyvažování dat.

Viz také

  • Velké jazykové modely
  • BERT
  • GPT