Předtrénování
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
| 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