Přeskočit na obsah
10/30Kapitola 10 z 30

Pretrénování LLM: data, výpočty, škálovací zákony a náklady

Dvacet modelů trénovaných na GPU v notebooku: měření scaling law a ověření odhadu compute 6ND proti reálnému FLOP čítači.

Na této stránce

Kapitola 9 skončila transformer blokem, který se trénuje. Naskládejte jich několik na sebe, namiřte next-token loss z Kapitoly 8 na výstup, a není co dál vymýšlet. Všechno, co zbývá, je nákup.

To je větší zlom, než jak to zní. Každá dosavadní kapitola se ptala učí se to? — otázka ano, nebo ne, kterou notebook vyřeší za deset minut. Tahle kapitola se ptá na otázku, v níž jsou peníze: když mám pevné množství aritmetiky, jaký nejlepší model si za ně můžu koupit? Odpověď je vzorec a v roce 2018 nebyla nikomu zřejmá.

Tady je tato otázka zodpovězená měřením na jednom GPU v notebooku. Dvacet modelů, od 98 624 po 15 milionů parametrů, bylo natrénováno od nuly na 174 milionech tokenů Wikipedie — BPE slovník o velikosti 2 048 tokenů trénovaný stejně jako v Kapitole 7, transformer z Kapitoly 9. Každý běh dostal přesně jeden ze tří compute rozpočtů a ani o operaci víc, takže větší model nutně přečetl méně textu. Nejlepší held-out loss dosažený při každém rozpočtu:

TEXT
budget C (FLOPs)   best loss   reached by a model of
       1.00e13       5.3531           98,624 params
       3.16e13       4.8638           98,624 params
       1.00e14       4.3383          295,808 params

fitted:  L = (Cc / C)^0.0913     over one decade of compute

Desetkrát více aritmetiky sníží loss o 19 % a tři body leží na přímce v log-log grafu. Nic z prvních devíti kapitol to nepředpovídá. Nestojí za tím žádná věta — je to empirická pravidelnost, která s jiným exponentem platí přes deset řádů mezi tímto notebookem a datacentrem, a je to jediné pozorování, které přesvědčilo celé odvětví utratit HDP malé země za GPU.

Co je pretraining a co je na něm nové

Odkaz na sekci: Co je pretraining a co je na něm nové

V cíli se nic nemění. Model pořád předpovídá další token, loss je pořád cross-entropy z Kapitoly 4 aplikovaná na faktorizaci z Kapitoly 8, optimalizátor je pořád AdamW z Kapitoly 6. Pretraining není nový algoritmus; je to stejný algoritmus spuštěný na korpusu tak velkém, že běh musíte rozpočtovat. Umožňují to dvě věci: štítky jsou zdarma, protože cílem pro pozici tt je token na t+1t+1 a ten už v textu je; a poslední část Kapitoly 6 odstranila námitku, protože model s mnohem více parametry, než dovolují klasická pravidla, se nerozpadne, ale zlepší. Výsledkem je base model — něco, co pokračuje v textu, místo aby odpovídalo.

Počítání compute před jeho utracením: 6ND

Odkaz na sekci: Počítání compute před jeho utracením: 6ND

Než se cokoli z toho dá rozpočtovat, musí se to spočítat, a obor to počítá jedním vzorcem:

C6NDC \approx 6ND

kde NN je počet parametrů, DD počet trénovacích tokenů a CC celkový počet operací s plovoucí řádovou čárkou. Kaplan et al. jej odvozují ve dvou krocích.1 Forward: 2 FLOPs na parametr a token, protože každý parametr v násobení matic se použije jednou na token, v jednom násobení a jednom sčítání. Backward: dvojnásobek forward, protože backward pass z Kapitoly 5 počítá v každé vrstvě dva gradienty — vůči vstupům vrstvy, aby signál pokračoval dál, a vůči jejím vahám — každý jako násobení matic o velikosti forward, takže 4N4N.

To je celé odvození a stojí za to ho ověřit, ne mu jen věřit. PyTorch dodává skutečný FLOP čítač, torch.utils.flop_counter.FlopCounterMode, který zachytí každou operaci, kterou model spustí, a sečte skutečnou práci. Spusťte ho přes čtyři řády velikosti, největší na zařízení meta, které alokuje tvary a žádnou paměť:

flops.pyPYTHON
from torch.utils.flop_counter import FlopCounterMode

counter = FlopCounterMode(display=False)
with counter:                       
    loss = model(x, targets)[1]     
    loss.backward()                 
measured = counter.get_total_flops()
print(measured / (6 * n_params * n_tokens))
konfiguraceNN bez embeddingsNN celkemměřeno, fwd+bwd÷ 6ND6ND (celkem NN)÷ 6ND6ND (bez emb.)fwd+bwd ÷ fwd
dd 128, 4 vrstvy, TT 256788 7367 254 4004.60e101.0319.4853.000
dd 512, 8 vrstev, TT 25625 183 23251 045 8883.26e111.0382.1043.000
dd 768, 12 vrstev, TT 102484 973 056124 356 8641.75e121.1451.6763.000
dd 1600, 48 vrstev, TT 10241 474 870 4001 556 920 0002.10e131.1001.1613.000
dd 4096, 32 vrstev, TT 20486 442 983 4246 582 444 0328.74e131.0801.1043.000
dd 8192, 80 vrstev, TT 819264 427 147 26465 544 929 2803.75e151.1631.1833.000

Poměr forward+backward ku forward je 3.000, přesně, v každém měřítku: není to aproximace, která náhodou dobře vychází, ale výše uvedená aritmetická identita vrácená jako kulaté číslo čítačem, který o odvození nic neví.

Měřený součet pak leží mezi 3 % a 17 % nad 6ND6ND, jakmile NN započítá matice embedding — a na této větě záleží, protože dva zakládající články počítají NN odlišně. Kaplan vylučuje „all vocabulary and positional embeddings“, protože to „produces significantly cleaner scaling laws“ (§1.3); Chinchillina Příloha F říká „we also count embeddings matrices in the total parameter count“.2 U širokého slovníku a úzké hidden dimension se tyto dva přístupy liší faktorem devět, jak ukazuje první řádek.

Zbytková mezera je to, co 6ND6ND záměrně vynechává: attention skóre. Kaplanova Eq. (2.2) zapisuje forward náklad jako 2N+2nlayernctxdmodel2N + 2\,n_{\text{layer}} n_{\text{ctx}} d_{\text{model}} a druhý člen zahazuje, protože dmodelnctx/12d_{\text{model}} \gg n_{\text{ctx}}/12 — bezpečné v roce 2020, méně bezpečné dnes, a důvod, proč poměr roste s tím, jak roste T/dT/d — proto tu dva řádky sdílejí TT rovné 1 024 a poměr klesá, z 1.145 na 1.100, když dd přejde ze 768 na 1 600. Je to náklad O(T2)O(T^2), který zavedla Kapitola 9 a Kapitola 16 promění v cenu.

Paměť: co se doopravdy musí vejít

Odkaz na sekci: Paměť: co se doopravdy musí vejít

Compute rozhoduje, jak dlouho běh trvá; paměť rozhoduje, jestli vůbec může začít. Trénujte s obyčejným fp32 AdamW a každý parametr nese čtyři čísla: váhu, její gradient a Adamův běžící průměr mm a rozptyl vv — dva průměry ručně sestavené v Kapitole 6. Čtyři čísla po čtyřech bytech znamenají 16 bytů na parametr, ještě před jedinou aktivací. Měřeno na 8GB GPU v notebooku, s rezidentní alokací v bodě kroku, kdy už nežije žádný graf:

modelslovníkbatchNN16N16N predikcerezidentně měřenošpička v krokurozdíl
dd 512, 8 vrstev50 257851 045 888779 MB801 MB2 500 MB1 699 MB
dd 512, 8 vrstev4 096827 411 456418 MB426 MB1 043 MB617 MB
dd 256, 6 vrstev4 09685 839 36089 MB89 MB382 MB293 MB
dd 256, 6 vrstev4 096325 839 36089 MB89 MB1 259 MB1 170 MB
dd 256, 6 vrstev4 0961285 839 36089 MB89 MB4 771 MB4 681 MB

Predikce a měření souhlasí do 3 %. Překvapení je poslední sloupec: aktivace model zastiňují. Stejný model s 5,8 milionu parametrů, který potřebuje 89 MB trvalého stavu, potřebuje 4 681 MB aktivací při batch 128 — dvaapadesátkrát víc než model — a velká část toho vůbec není transformer. Jsou to logits, jeden vektor velikosti slovníku na token při čtyřech bytech na položku: 512 MB v posledním řádku, 393 MB v prvním. Velikost slovníku byla zvolena v Kapitole 7 a pořád rozhoduje, co se na kartu vejde.

Který člen dominuje, závisí na tvaru běhu, a proto Micikevicius et al. říkají, že paměť „is dominated by activations“3, zatímco ZeRO říká, že model s 1,5 miliardy parametrů potřebuje „at least 24 GB“ jen na stavy modelu.4 ZeRO dochází ke stejným 16 bytům jinou cestou — 2Ψ2\Psi pro fp16 váhy, 2Ψ2\Psi pro fp16 gradienty, 4Ψ4\Psi pro fp32 master weights a Adamovy dva momenty — což je pro 70 miliard parametrů 1,12 terabytu, hodnota čtrnácti 80GB GPU ještě před jedinou aktivací.

Parallelism v jednom odstavci a jedné delegaci

Odkaz na sekci: Parallelism v jednom odstavci a jedné delegaci

Nic z toho se ve frontier měřítku nevejde na jedno zařízení, takže běh se rozdělí čtyřmi způsoby najednou. Data parallelism dá kopii modelu na každý GPU a průměruje gradienty — výchozí varianta a ta, kterou ZeRO vylepšuje tím, že odmítá držet redundantní kopie stavu optimalizátoru. Tensor parallelism dělí jednotlivé matice mezi zařízení. Pipeline parallelism dává každému zařízení souvislou skupinu vrstev. Context parallelism dělí samotnou sekvenci, nutné teprve ve chvíli, kdy je TT dost dlouhé na to, aby dominoval attention člen. Tabulka 4 Llama 3 uvádí všechny čtyři současně: tensor 8, context až 16, pipeline 16, data až 128, přes 16 384 H100 GPU.5 To je vše, co k tomu tento kurz řekne; inženýrství distribuovaného trénování je samostatný semestr a Stanford CS336 je právě ten semestr, přednášky 5 až 8, včetně kódu.6 Z delegace nám zůstává jediné číslo, model FLOPs utilisation — podíl špičkové aritmetiky GPU, kterého skutečný běh dosáhne — a právě to promění úhledné 6ND6ND na wall-clock čas, a tedy na peníze.

Kaplan a sázka, kterou odvětví uzavřelo

Odkaz na sekci: Kaplan a sázka, kterou odvětví uzavřelo

V lednu 2020 Kaplan et al. natrénovali mřížku transformerů a zjistili, že testovací loss sleduje mocninný zákon v každém ze tří zdrojů přes více než šest řádů velikosti.1 Jejich §1.2 dává tři fitované zákony:

L(N)=(NcN)αN,αN0.076,Nc8.8×1013L(N) = \left(\frac{N_c}{N}\right)^{\alpha_N}, \qquad \alpha_N \approx 0.076, \qquad N_c \approx 8.8 \times 10^{13}

s doprovody αD0.095\alpha_D \approx 0.095 pro data a αCmin0.050\alpha_C^{\min} \approx 0.050 pro optimálně alokované compute. Konstanty nejsou univerzální a článek to říká: „the precise numerical values of NcN_c, CcminC_c^{\min} and DcD_c depend on the vocabulary size and tokenization and hence do not have a fundamental meaning.“

Exponenty jsou drobné: desetkrát více parametrů koupí faktor 100.0761.1910^{0.076} \approx 1.19 zbytkového loss. Zní to jako nic, a právě to je zde nejdůležitější fakt — výnosy jsou mizerné a nikdy nekončí. Mocninný zákon s malým exponentem slibuje, že další řád velikosti pomůže, méně než ten poslední, navždy. Nákup compute přestává být hazardem a stává se nákupem s publikovaným směnným kurzem, přesně argumentem, který odemkl kapitál.

Pak přišel předpis, a právě tady se článek mýlil způsobem, který odvětví stál hodně peněz. Kaplanova Tabulka 6 dává NoptC0.73N_{\text{opt}} \propto C^{0.73} a DoptC0.27D_{\text{opt}} \propto C^{0.27}: desetkrát více compute znamená 5,4krát větší model krmený jen 1,9krát větším množstvím textu. Abstrakt je explicitní — „optimally compute-efficient training involves training very large models on a relatively modest amount of data and stopping significantly before convergence.“ Obor to přesně udělal: GPT-3 má 175 miliard parametrů na 300 miliardách tokenů,7 Gopher 280 miliard na 300 miliardách, Megatron-Turing NLG 530 miliard na 270 miliardách.2 Půl tokenu až dva tokeny na parametr, všude.

Chinchilla a co měřil sweep nahoře

Odkaz na sekci: Chinchilla a co měřil sweep nahoře

V březnu 2022 Hoffmann et al. natrénovali přes 400 modelů od 70 milionů po 16 miliard parametrů a třemi nezávislými cestami došli k opačnému závěru.2 Jejich Tabulka 2 uvádí exponent aa v NoptCaN_{\text{opt}} \propto C^{a} jako 0.50, 0.49 a 0.46 oproti Kaplanovým 0.73. Jednoduše řečeno: velikost modelu a trénovací data mají růst ve stejném poměru.

Jejich druhý přístup je ten, který reprodukuje sweep na začátku této kapitoly, v miliontinovém měřítku: zafixujte rozpočet, trénujte mnoho velikostí přesně na tomto rozpočtu, vykreslete konečný loss proti velikosti modelu.

parametryC=1013C = 10^{13}C=3.16×1013C = 3.16 \times 10^{13}C=1014C = 10^{14}
98 6245.3531 (171)4.8638 (542)
150 3205.4636 (74)
194 2085.5041 (44)4.8730 (140)4.4040 (442)
295 8085.5550 (19)4.9029 (60)4.3383 (190)
665 2805.7849 (3.8)5.1254 (12)4.4192 (38)
1 280 7685.8174 (1.0)5.1751 (3.2)4.5003 (10)
3 101 5685.4686 (0.5)4.7768 (1.7)
5 315 0725.5894 (0.2)4.8514 (0.6)
15 053 5685.3534 (0.1)

Held-out loss v natech na token, tokenů na parametr v závorkách, tučně nejlepší model při každém rozpočtu; pomlčka je bod, který neběžel, protože rozpočet vyžadoval víc textu, než korpus obsahuje, nebo velikost ležela mimo zde procházené hodnoty.

Čtěte sloupec dolů: loss klesá, dosáhne dna a zase roste. Model může být pro svůj rozpočet příliš velký stejně snadno jako příliš malý — při 101410^{14} je penalizace za volbu 665 280 parametrů místo 295 808 rovna 0.08 natu, což je na obálce fitované výše loss, kterého správně velký model dosáhne s o 18 % menším compute. Špatná volba tvaru zahodí pětinu rozpočtu. To je Chinchillina Figura 3 za jedno odpoledne na jednom GPU místo se čtyřmi sty modely.

Teď čtěte napříč. Při 101310^{13} je nejlepší model nejmenší z procházených; při 101410^{14} je to 295 808 parametrů, sevřené z obou stran. Optimum se s růstem rozpočtu posouvá doprava, což je celý obsah opravy. Fitujte třetí přístup článku — povrch L(N,D)=E+A/Nα+B/DβL(N,D) = E + A/N^{\alpha} + B/D^{\beta} přes každý běh — a minimalizujte za podmínky C=6NDC = 6ND:

TEXT
L(N, D) = 24.7 / N^0.195 + 46.8 / D^0.169       (E fits to ~0; see below)
implied   N_opt ∝ C^0.464
  compare   Chinchilla 0.46-0.50 · Besiroglu 0.513 · Kaplan 0.73

0.46, z notebooku, oproti Kaplanovým 0.73. Shoda na tři číslice z fitu na třech rozpočtech je štěstí; shoda na první není. Exponent cestuje — konstanta ne, protože poměr tokenů k parametrům v těchto optimech je 170 až 540, ne 20. Tři důvody, všechny poučné. EE se fituje k nule, protože při loss nad 4 naty není běh ani blízko entropickému dnu, které dominuje Chinchillinu fitu. Batch size a learning rate byly fixní, ne laděné pro každý bod, což znevýhodňuje běhy s nejmenším počtem kroků — a to jsou velké modely: při 101310^{13} FLOPs dostane model s 1,28 milionu parametrů celkem 159 kroků optimalizátoru, hluboko pod několika tisíci, které Kaplanův člen SminS_{\min} říká, že potřebuje každý model. Scaling law se fituje uvnitř režimu a tento leží šest řádů pod Chinchillou.

Proto abstrakt článku: „current large language models are significantly undertrained“. Chinchilla je demonstrace — 70 miliard parametrů na 1,4 bilionu tokenů, stejné celkové compute jako Gopherových 280 miliard na 300 miliardách, a přitom ho poráží v 51 z 57 úloh MMLU, 67,5 % proti 60 %.2 Čtyřikrát menší, čtyřiapůlkrát více textu, stejné peníze, lepší model.

Dvě poznámky k tomuto slavnému poměru. „Dvacet tokenů na parametr“ není věta v článku, který říká jen, že „for every doubling of model size the number of training tokens should also be doubled“; těch 20 je inference z Tabulky 3 a z vlastní Chinchilly, 70 B na 1,4 T. A jeho přesnost je horší než publikovaná: Besiroglu et al. refitovali z digitalizace Figury 4, zjistili, že původní parametry „fit the reconstructed data poorly“ s intervaly „implausibly tight given the number of data points“, a poctivé rozmezí dali na „between 4 and 40“ tokenů na parametr.8

Jeden detail Chinchilliny metody splácí slib, který Kapitola 1 dala ohledně learning-rate schedules. Cosine schedule musí odpovídat token rozpočtu. Model, který uvidí 10 milionů tokenů, musí svůj learning rate snížit na nulu při 10 milionech tokenů; dejte mu schedule dimenzovaný na 100 milionů, zastavte ho brzy, a čtete loss uprostřed sestupu při příliš vysoké hodnotě. Chinchilla trénuje každý model se čtyřmi délkami cyklu právě kvůli této kontrole; sweep výše ze stejného důvodu nastavuje schedule z rozpočtu.

Jsou nejužitečnějším empirickým výsledkem v oboru a běžně se přehánějí. Čtyři omezení.

Predikují loss, ne schopnost. Levá strana je cross-entropy na held-out textu. Nic v těchto článcích nedává oprávnění tvrdit, zda model napíše správné SQL, odmítne škodlivý požadavek nebo použije nástroj. To je znovu lekce Kapitoly 5: predikce loss není predikce chování, za které platíte.

Jsou fitované, ne odvozené. Žádná teorie neprodukuje αN=0.076\alpha_N = 0.076. Konstanty se posouvají s tokenizerem — proto je porovnání perplexity mezi dvěma tokenizery bezvýznamné, jak vysvětlila Kapitola 8 — i se směsí dat, architekturou a optimalizátorem. Každý publikovaný zákon je zákonem setupu, který ho vytvořil, a proto si Meta před Llama 3 fitovala vlastní.5

Předpokládají čerstvý token pro každý krok, což potichu předpokládá nekonečný korpus. Muennighoff et al. změřili, co se stane, když dojde: až čtyři epochy opakovaných dat nestojí skoro nic — model s 8,7 miliardy parametrů na 44 miliardách unikátních tokenů viděných čtyřikrát skončil s „only 0.5 % higher validation loss“ než stejný model na 178 miliardách unikátních tokenů — zatímco za zhruba šestnácti epochami další compute nekupuje nic.9

A nikdo už netrénuje compute-optimal. Chinchilla minimalizuje náklady trénování; nasazený model pak platí přibližně 2N2N FLOPs za každý vygenerovaný token, navždy. LLaMA 1 to řekla přímo: „given a target level of performance, the preferred model is not the fastest to train but the fastest at inference“.10 Sardana et al. to formalizovali minimalizací 6NDtrain+2NDinference6ND_{\text{train}} + 2ND_{\text{inference}} místo toho a zjistili, že kdokoli očekává miliardu požadavků, by měl trénovat „smaller and longer than Chinchilla-optimal“.11 §9.1 Llama 3 souhlasí: její malé modely se trénují „far beyond the point of compute optimal training, effectively trading training compute for inference efficiency“.5 Poměr není zastaralý; odpovídá na otázku, která už není tou, kterou se ptáme.

Emergent abilities a spor o to, zda jsou skutečné

Odkaz na sekci: Emergent abilities a spor o to, zda jsou skutečné

Loss klesá plynule. Benchmark skóre někdy ne. Wei et al. shromáždili případy, kdy úloha zůstává na náhodě přes řády trénovacího compute a pak vyskočí — tříciferná aritmetika se v GPT-3 objeví kolem 2×10222 \times 10^{22} FLOPs, MMLU roste nad hádání mezi 33 a 5×10235 \times 10^{23} — a vzor pojmenovali: „an ability is emergent if it is not present in smaller models but is present in larger models“.12 Pokud je to skutečná vlastnost, extrapolovat z levných experimentů není bezpečné, protože schopnost, kterou kupujete, nemusí existovat v žádném měřítku, které si můžete dovolit otestovat.

Schaeffer, Miranda a Koyejo tvrdili, že většina toho je artefakt měření, a mechanismus je aritmetický.13 Per-token loss klesá plynule, takže pravděpodobnost, že jeden token bude správně, exp(L)\exp(-\mathcal{L}), se zlepšuje pozvolna. Skórujte model pomocí exact string match přes odpověď dlouhou LL tokenů a zvednete tuto pravděpodobnost na mocninu LL — plynulá křivka umocněná velkou mocninou vypadá jako útes. Vyměňte ji za metriku, která počítá tokeny místo vyžadování všech najednou, na stejných výstupech, a „the family's performance smoothly, continuously and predictably improves with increasing scale“.

Jejich audit je číslo, které stojí za zapamatování — „of the 39 preferred metrics in BIG-Bench, at most 5 display emergence“, přičemž dvě nespojité metriky tvoří přes 92 % tvrzených případů — stejně jako jejich opatrnost: „nothing in this paper should be interpreted as claiming that large language models cannot display emergent abilities“. Skok v grafu je důkaz o metrice, dokud se neprokáže něco jiného. Kapitola 29 je místo, kde se to stane vaším problémem, protože volba metriky s tvrdým prahem je rozhodnutí, které učiníte, aniž byste si toho všimli.

Korpus je část pretraining běhu, ke které není připojená žádná rovnice, a místo, kde leží většina důsledných rozhodnutí. Surovinou je web crawl: archiv Common Crawl ze srpna 2026 obsahuje „2.14 billion web pages or 360 TiB of uncompressed content“, jeden měsíc, zdarma ke stažení.14 Téměř nic z toho není použitelné v původní podobě. Článek T5 říká, že crawl „largely comprises gibberish or boiler-plate text like menus, error messages, or duplicate text“, a pipeline C4, kterou zavedl, je seznam hrubých heuristik — ponechat jen řádky končící koncovou interpunkcí, zahodit stránky s méně než třemi větami, zahodit každou stránku obsahující složenou závorku nebo slovo z veřejného seznamu vulgarit — a tím proměnit dvacet terabytů měsíčního textu na asi 750 GB.15

Hrubé je to správné slovo. Dodge et al. auditovali, co tyto filtry odstraňují, a zjistili, že bloklist vulgarit maže 42 % dokumentů v afroamerické angličtině a 32 % v hispánsky zarovnané angličtině oproti 6,2 % v bělošsky zarovnané angličtině, čímž zanechává korpus z 97,8 % v poslední kategorii.16 Pravidlo bez názoru na dialekt jeden mělo.

Pak deduplication, což není úklid: Lee et al. našli v C4 větu o 61 slovech opakovanou 61 036krát a ukázali, že deduplication snižuje míru, s jakou modely „emit memorized text“, desetkrát, z 1,9 % generovaných tokenů na 0,19 %.17 Více ale neznamená lépe — tým FineWeb deduplikoval globálně přes 96 crawlů, získal 4 biliony tokenů a žádný měřitelný zisk, pak deduplikoval každý crawl zvlášť, získal 20 bilionů a dorovnal nejlepší existující korpus.18

Pak kontaminace. Llama 3 změřila vlastní a zveřejnila ji: 98 % AGIEval, 95 % BIG-Bench Hard a 85 % HellaSwag se překrývalo s trénovací sadou podle 8-gramů, a u MMLU byl překryv tak vysoký, že „it is impossible to get a good performance gain estimate“.5 §4 GPT-3 hlásí chybu filtrování, která ponechala benchmarky v datech bez cesty zpět: „because of cost considerations it was infeasible to retrain the model“.7

Provenience je nevyřešená část. The Pile dodal komponentu o velikosti 100,96 GiB nazvanou Books3 — 12 % korpusu a podle vlastní tabulky souhlasů v článku knihy ze soukromého torrent trackeru;19 v srpnu 2023 byla po stížnosti na copyright stažena offline. Právní stav k září 2026 není vyřešený a tři americká rozhodnutí citovaná jako trend si navzájem odporují. Alsup shledal trénování na zákonně získaných knihách „exceedingly transformative“, zatímco rozhodl, že knihovna postavená z pirátských kopií taková nebyla, a Anthropic tuto polovinu urovnal za $1.5 billion pokrývajících 482 460 děl, zhruba $3 000 za každé, schváleno 20. července 2026.20 Chhabria udělil Meta summary judgment, přičemž napsal, že jeho rozhodnutí „does not stand for the proposition that Meta's use of copyrighted materials to train its language models is lawful“, pouze že „these plaintiffs made the wrong arguments“.21 Bibas, rozhodující proti Ross Intelligence, poznamenal, že „only non-generative AI is before me today“.22 Žádný americký odvolací soud o této otázce nerozhodl.

Lidé dělají části, které loss neumí. TIME v lednu 2023 uvedl, že pracovníci označující toxický text pro OpenAI přes firmu Sama si odnášeli „between around $1.32 and $2 per hour“ za čtení pasáží popisujících sexuální zneužívání dětí, mučení a sebepoškozování, zatímco OpenAI platila Sama za práci $12.50 za hodinu; Sama zpochybňuje jak rozsah odměn, tak kvótu.23 To je filtrování kolem pretraining, ne pretraining sám — ale je na stejné faktuře a je to místo, kde sedí člověk.

Elektřina je skutečná a obvykle špatně citovaná. Nejpečlivější publikovaná hodnota je BLOOM: 1 082 990 GPU-hodin, 433 MWh a 24,7 tuny ekvivalentu CO₂ za běh, 50,5 při započtení výroby a idle uzlů;24 Patterson et al. odhadují GPT-3 na 1 287 MWh a 552 tun.25 Dvě upozornění. Výhodou BLOOM je francouzská jaderná síť při 57 g CO₂ na kWh, ne efektivita — spotřeboval více energie než OPT-175B. A nejcitovanější emisní číslo oboru, 626 155 lb ze Strubell et al. pro neural architecture search, bylo později ukázáno jako 88krát příliš vysoké, protože předpokládalo, že search běžel v plné velikosti modelu, když běžel na proxy.26 Rámování LBNL je obhajitelné: americká datacentra použila v roce 2024 192 TWh, 4,7 % národní elektřiny — číslo připojené k odvětví, ne k jednomu běhu.27

Spojnicí je to, co Bender et al. nazvali documentation debt: „putting ourselves in a situation where the datasets are both undocumented and too large to document post hoc“.28 Každý fakt výše existuje, protože se někdo podíval. U korpusů za modely, které většina lidí používá, nemůže nikdo.

Teď aritmetika, kterou chce každý, ze čtyř citovaných vstupů, aby bylo zřejmé, co vyměnit, až zestárnou.

Stránka NVIDIA H100 uvádí 1 979 teraFLOPS BF16 tensor-core propustnosti pod poznámkou „with sparsity“.29 Žádný pretraining běh structured sparsity nepoužívá, takže dense hodnota je polovina: 989,5 TFLOP/s.

Tabulka 4 Llama 3 uvádí 38–43 % BF16 model FLOPs utilisation. Vezměme 40 %: 395,8 TFLOP/s užitečné aritmetiky na GPU.5

On-demand cena Lambda za uzel 8×H100 SXM, přístup 2026-09-06: $3.99 za GPU-hodinu, tedy $31.92 za hodinu za uzel.30

Chinchillin poměr, D=20ND = 20N, dává C=6ND=120N2C = 6ND = 120N^2, a tedy N=C/120N = \sqrt{C/120}.

rozpočetH100-hodinyFLOPscompute-optimal parametrytokenyna jednom uzlu 8×H100GPU k dokončení za 90 dní
$100253.6e19546 M10.9 B3.1 h1
$1,0002513.6e201.73 B34.5 B31.3 h1
$10,0002,5063.6e215.46 B109 B13 dní2
$100,00025,0633.6e2217.3 B345 B131 dní12
$1,000,000250,6273.6e2354.6 B1.09 T4 roky116
$10,000,0002,506,2663.6e24173 B3.45 T36 let1,160
$100,000,00025,062,6573.6e25546 B10.9 T358 let11,603

Čtěte poslední dva sloupce společně. Za $10,000 dostanete model s 5 miliardami parametrů na jednom pronajatém uzlu za čtrnáct dní. Při $100,000,000 aritmetika říká 546 miliard parametrů — a dvanáct tisíc H100 propojených na tři měsíce, což není něco, co si pronajmete kreditní kartou. Nad zhruba $100,000 přestává být vázajícím omezením peněz a stává se jím cluster.

Než takové tabulce uvěříte, otestujte ji proti běhům, jejichž skutečné náklady jsou publikované — llm.c reprodukuje GPT-2 124M za „~90 minutes“ na uzlu 8×A100 „for about $20“ a GPT-2 1.6B za 24 hodin na uzlu 8×H100 za $672.31

TEXT
$672, against what $672 actually bought (llm.c GPT-2 1.6B, one 8xH100 node, 24 h)
  this table predicts:      168 H100-hours   N = 1.41 B params   D = 28.3 B tokens
  what was actually run:    192 H100-hours   N = 1.558 B params  D = 33.6 B tokens

Llama 3 405B, against Meta's own published GPU-hours
  from the paper's 3.8e25 FLOPs at 40 % MFU:   26.67 M H100-hours
  published in Meta's Llama 3.1 model card:    30.84 M H100-hours    ratio 0.86

Oba do zhruba 15 %, což je přibližně přesnost, kterou si takový odhad zaslouží, a výrazně lepší než přesnost, s níž se obvykle cituje.

Titulkové srovnání, s oběma definicemi na stole

Odkaz na sekci: Titulkové srovnání, s oběma definicemi na stole

Nejopakovanější číslo v tomto tématu je, že model třídy GPT-2, který v roce 2019 stál asi $43,000, lze dnes reprodukovat za pár desítek dolarů. Moderní polovina je dobře zdokumentovaná; historická polovina ne.

Dnes. README Karpathyho nanochat: „you can train your own GPT-2 capability LLM ... for only $48 (~2 hours of 8XH100 GPU node) ... On a spot instance, the total cost can be closer to ~$15.“32 „GPT-2 capability“ je zde přesné a publikované — překonání CORE skóre GPT-2 ve výši 0.256525 — na leaderboardu, jehož nejlepší záznam k 14. březnu 2026 je 1,65 hodiny. $48 předpokládá $3 za GPU-hodinu, pod ceníkovými $3.99 Lambda; podle ceníku je to blíže $64.

V roce 2019. Neexistuje primární zdroj: OpenAI nikdy nepublikovala dobu ani cenu. Řetězec vede přes The Register, únor 2019, který uvádí „256 Google TPU3 cores“ bez ceny a bez doby; pak Synced, červen 2019, který poznamenává, že hardware stál na Google Cloud $256 za hodinu, a explicitně uvádí, že „OpenAI didn't specify the training duration“. $43,008 je $256 za hodinu krát předpokládaných 168 hodin, které nikdo nikdy neozdrojoval.

Poctivý titulek tedy zní: model odpovídající publikovanému benchmark skóre GPT-2 lze dnes natrénovat za výrazně méně než $100 na pronajatém hardwaru, proti nákladům z roku 2019, které nikdy nebyly publikovány a jejichž slavný odhad stojí na neozdrojovaném odhadu délky běhu. Propad je skutečný a moderní polovinu může reprodukovat kdokoli s kreditní kartou; poměr je aritmetika na čísle, které neexistuje. To je stav publikovaných nákladů na trénování obecně. Článek GPT-3 neobsahuje žádnou částku v dolarech, jen 3.14×10233.14 \times 10^{23} FLOPs v Tabulce D.1;7 článek Llama 3 také žádnou neobsahuje.5 Každé náklady na trénování, které jste četli, jsou odhad z počtu FLOP, hardwarového předpokladu a cenového předpokladu — vždy stojí za to ptát se, čího.

Co base model ví a kdy se to přestal učit

Odkaz na sekci: Co base model ví a kdy se to přestal učit

To, co vyjde, vidělo pevný korpus sestavený v pevném okamžiku, a z toho plynou dvě vlastnosti.

První je knowledge cutoff. Po datu sběru model neví nic — ne „není si jistý“, nic — a bude plynule konfabulovat, místo aby to řekl, protože říkat to nikdy nebylo chování, na kterém byl trénován. Model card Llama 3.1 uvádí prosinec 2023;33 každý model nějaký má a je to vlastnost trénovacích dat, ne deploymentu. Obejít to je problém retrieval, což je Kapitola 19.

Druhá je, že base model doplňuje, ne odpovídá. Dejte mu „Jaké je hlavní město Francie?“ a věrohodné pokračování je další otázka, protože v korpusu se tento řetězec nejčastěji objevuje v seznamu cvičení.

Doplňovač textu není asistent. Neřídí se instrukcemi, protože mu nic v korpusu neřeklo, že požadavek se má poslechnout, a ne v něm pokračovat. Nemá pojem konverzace se dvěma účastníky. Klidně vytvoří nejpravděpodobnější pokračování škodlivého prompt, protože pravděpodobné je jediné, na co kdy byl optimalizován.

Přeměnit ho v něco, co odpovídá, vyžaduje druhou fázi stojící zlomek procenta té první a spočívající téměř celá v ukazování příkladů chování, které chcete, a následném porovnávání dvojic jeho vlastních výstupů. Z této fáze pochází instruction following, chat templates, odmítání a — to lidi překvapuje — schopnost zavolat nástroj. Kapitola 11 je tato fáze: supervised fine-tuning, RLHF, DPO a GRPO, a otázka, co znamená „aligned“ a kdo o tom rozhoduje.


Vedle této kapitoly stojí za přečtení také Karpathyho build-nanogpt a doprovodné video, které projdou úplnou reprodukci GPT-2 od začátku do konce tempem, které tato kapitola nemůže nabídnout; a Stanford CS324, Large Language Models, jehož přednášky o datech a dopadech na životní prostředí jdou hlouběji do materiálu, který tento kurz probírá jednou a deleguje.

  1. Kaplan, J., McCandlish, S., Henighan, T., Brown, T. B., Chess, B., Child, R., Gray, S., Radford, A., Wu, J. and Amodei, D. Scaling Laws for Neural Language Models. arXiv:2001.08361 (2020). Tři mocninné zákony jsou Eqs. (1.1)–(1.3) v §1.2 a úplné konstanty jsou v Appendix A, Table 5; odvození 6N6N je §2.1; exponenty alokace compute jsou Table 6. Pozor, existují dva compute zákony, αC=0.057\alpha_C = 0.057 při fixním batch size a αCmin=0.050\alpha_C^{\min} = 0.050 při optimálním batch size; článek říká, že druhý „should be used to make predictions“. 2

  2. Hoffmann, J., Borgeaud, S., Mensch, A., Buchatskaya, E., Cai, T., Rutherford, E. et al. Training Compute-Optimal Large Language Models. arXiv:2203.15556 (2022). Exponenty v Table 2, projektované rozpočty v Table 3, srovnání s Gopherem v §4, konvence počítání parametrů v Appendix F. Próza pod Table 3 nesouhlasí se samotnou Table 3 pro řádky 175 B a 280 B; citujte tabulku. 2 3 4

  3. Micikevicius, P., Narang, S., Alben, J., Diamos, G., Elsen, E., Garcia, D. et al. Mixed Precision Training. arXiv:1710.03740 (2017), ICLR 2018. FP32 master weights v §3.1, loss scaling v §3.2. 2

  4. Rajbhandari, S., Rajbhandari, S., Ruwase, O. and He, Y. ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. arXiv:1910.02054 (2019), SC20. Účetnictví 16Ψ16\Psi je §3.1; čísla zbytkových stavů pro aktivace jsou §3.2.

  5. Grattafiori, A. et al. (Llama Team, AI @ Meta). The Llama 3 Herd of Models. arXiv:2407.21783 (2024). Compute rozpočet a počet tokenů v §1, refitovaná scaling law v §3.2.1, konfigurace parallelism a MFU v Table 4, analýza kontaminace v §5.1.4, tvrzení o over-training v §9.1. Článek neobsahuje žádné dolarové částky ani emisní tabulku. 2 3 4 5 6

  6. Stanford CS336, Language Modeling from Scratch. Lecture 2 pokrývá účetnictví zdrojů, lectures 5–8 GPU, kernels a parallelism, lectures 9 a 11 scaling, lectures 13–14 data. Je to kurz, jemuž tato kapitola deleguje své inženýrství, a je veřejný.

  7. Brown, T. B. et al. Language Models are Few-Shot Learners. arXiv:2005.14165 (2020). Compute v Appendix D, Table D.1 — která má sloupec doslova nadepsaný „flops per param per token“, jehož hodnota pro každý řádek GPT-3 je 6. Analýza kontaminace v §4. 2 3

  8. Besiroglu, T., Erdil, E., Barnett, M. and You, J. Chinchilla Scaling: A replication attempt. arXiv:2404.10102 (2024). Rekonstruuje data Chinchilly digitalizací její Figure 4, refituje a hlásí opravené exponenty a mnohem širší intervaly.

  9. Muennighoff, N., Rush, A. M., Barak, B., Le Scao, T., Piktus, A., Tazi, N., Pyysalo, S., Wolf, T. and Raffel, C. Scaling Data-Constrained Language Models. arXiv:2305.16264 (2023), NeurIPS 2023. Výsledek čtyř epoch je §6; poločas šestnácti epoch je fitované RD15R_D^* \approx 15.

  10. Touvron, H., Lavril, T., Izacard, G., Martinet, X., Lachaux, M.-A., Lacroix, T. et al. LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971 (2023). §1 uvádí argument nákladů inference proti Chinchilla-optimal trénování.

  11. Sardana, N., Portes, J., Doubov, S. and Frankle, J. Beyond Chinchilla-Optimal: Accounting for Inference in Language Model Scaling Laws. arXiv:2401.00448 (2023), ICML 2024. Jejich §5 obsahuje i protiváhu: modely trénované při extrémních token poměrech se dál zlepšují, ale „more slowly than scaling laws predict“.

  12. Wei, J., Tay, Y., Bommasani, R., Raffel, C., Zoph, B., Borgeaud, S. et al. Emergent Abilities of Large Language Models. arXiv:2206.07682 (2022), TMLR. Definice v §2, příklady a prahy compute v §3–4 a Table 1.

  13. Schaeffer, R., Miranda, B. and Koyejo, S. Are Emergent Abilities of Large Language Models a Mirage? arXiv:2304.15004 (2023), NeurIPS 2023 outstanding paper. Argument s metrikou je §2, BIG-Bench metaanalýza §4, konstruovaný vision příklad §5.

  14. Common Crawl, August 2026 Crawl Archive Now Available (CC-MAIN-2026-34), publikováno 24. srpna 2026, přístup 2026-09-06. Jeho vlastní úvodní stránka tvrdí „over 300 billion pages spanning 15 years“, „totalling more than 10 petabytes“ — číslo pro celý archiv, ne pro měsíční crawl oceňovaný zde.

  15. Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W. and Liu, P. J. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683 (2019), JMLR 21(140). Filtry C4 jsou §2.2. Článek dává velikosti v bytech, ne v tokenech; hodnota 156 miliard tokenů široce připisovaná tomuto článku pochází od Dodge et al. níže.

  16. Dodge, J., Sap, M., Marasović, A., Agnew, W., Ilharco, G., Groeneveld, D., Mitchell, M. and Gardner, M. Documenting Large Webtext Corpora: A Case Study on the Colossal Clean Crawled Corpus. arXiv:2104.08758 (2021), EMNLP 2021. Míry odstranění dialektů jsou §5.3; benchmark kontaminace v C4 je §4.2.

  17. Lee, K., Ippolito, D., Nystrom, A., Zhang, C., Eck, D., Callison-Burch, C. and Carlini, N. Deduplicating Training Data Makes Language Models Better. arXiv:2107.06499 (2021), ACL 2022. 61 036 opakování je footnote 1; čísla memorisation jsou §6.2, Table 4, a jsou to procenta generovaných tokenů pod kritériem 50-token exact-match.

  18. Penedo, G., Kydlíček, H., Ben Allal, L., Lozhkov, A., Mitchell, M., Raffel, C., Von Werra, L. and Wolf, T. The FineWeb Datasets: Decanting the Web for the Finest Text Data at Scale. arXiv:2406.17557 (2024), NeurIPS 2024 Datasets and Benchmarks. Výsledek deduplication je §3.4. Vydaný dataset od té doby vyrostl za 15 bilionů tokenů uváděných v článku.

  19. Gao, L., Biderman, S., Black, S. et al. The Pile: An 800GB Dataset of Diverse Text for Language Modeling. arXiv:2101.00027 (2020). Books3 je §2.3 a Table 1; tabulka souhlasu je Table 5. Korpus má 825,18 GiB, takže i titul zaokrouhluje dolů.

  20. Bartz v. Anthropic, No. 4:24-cv-05417 (N.D. Cal.). Fair-use order 23. června 2025 (Dkt. 231); class certification 17. července 2025; final approval and judgment 20. července 2026 (Dkt. 680). Urovnání uvolňuje pouze minulé vstupy, ne výstupy a ne budoucí jednání.

  21. Kadrey v. Meta, No. 3:23-cv-03417-VC (N.D. Cal.), summary judgment 25. června 2025 (Dkt. 598). Pozor, nárok týkající se distribuce přes torrenting nebyl rozhodnut a zůstává živý.

  22. Thomson Reuters v. ROSS Intelligence, No. 1:20-cv-00613-SB (D. Del.), revised opinion 11. února 2025 (Dkt. 770), Bibas J. On interlocutory appeal to the Third Circuit (No. 25-2153), argumentováno 11. června 2026, v době psaní nerozhodnuto.

  23. Perrigo, B. Exclusive: OpenAI Used Kenyan Workers on Less Than $2 Per Hour to Make ChatGPT Less Toxic. TIME, 18. ledna 2023. $2 je strop pro seniorní reviewery, kteří splnili každý cíl; juniorní labelleři, většina, si odnášeli $1.32. Vyvrácení Sama, citované ve stejném článku, dává $1.46–$3.74 a nižší kvótu.

  24. Luccioni, A. S., Viguier, S. and Ligozat, A.-L. Estimating the Carbon Footprint of BLOOM, a 176B Parameter Language Model. arXiv:2211.02001 (2022), JMLR 24(253). Tables 1 a 3.

  25. Patterson, D., Gonzalez, J., Le, Q., Liang, C., Munguia, L.-M., Rothchild, D., So, D., Texier, M. and Dean, J. Carbon Emissions and Large Neural Network Training. arXiv:2104.10350 (2021). Čísla GPT-3 jsou Table 4; oprava odhadu NAS je §4.1.

  26. Strubell, E., Ganesh, A. and McCallum, A. Energy and Policy Considerations for Deep Learning in NLP. arXiv:1906.02243 (2019), ACL 2019. Stojí za přesné čtení právě kvůli tomu, co se stalo s jeho nejcitovanějším číslem: článek je pečlivý, uvádí svou extrapolaci, a přesto se v jediném řádku, který všichni opakovali, spletl o dva řády velikosti.

  27. Smith, S. J., Hubbard, A., Newkirk, A., Ganeshalingam, M., Holecek, B., Sartor, D., Mills, M. and Shehabi, A. United States Data Center Energy Usage Report: 2025 Update. LBNL-2001758 (18. června 2026). Toto reviduje široce citovanou zprávu z roku 2024 dolů pro historickou řadu; pokud citujete hodnotu 176 TWh pro rok 2023, citujete nahrazené vydání.

  28. Bender, E. M., Gebru, T., McMillan-Major, A. and Shmitchell, S. On the Dangers of Stochastic Parrots: Can Language Models Be Too Big? FAccT '21, pp. 610–623. DOI 10.1145/3442188.3445922. „Documentation debt“ je §4.4. Pozor, vlastní uhlíková čísla článku jsou citována ze Strubell et al. a dědí opravu výše — což je ilustrace jeho argumentu, ne jeho vyvrácení.

  29. NVIDIA. NVIDIA H100 Tensor Core GPU product page, nvidia.com/en-us/data-center/h100/ (přístup 2026-09-06). Každý tensor-core řádek na této stránce kromě FP64 nese poznámku „with sparsity“; zde použitá dense BF16 hodnota je polovina publikovaných 1 979 TFLOPS.

  30. Lambda. GPU Cloud pricing, lambda.ai/pricing (přístup 2026-09-06). On-demand, za GPU za hodinu, před daní. Ceny v této části zastarají rychleji než cokoli jiného v tomto kurzu; aritmetika kolem nich ne.

  31. Karpathy, A. karpathy/llm.c, discussion #481, Reproducing GPT-2 (124M) in llm.c in 90 minutes for $20 (28. května 2024), and discussion #677, Let's reproduce GPT-2 (1.6B): one 8XH100 node, 24 hours, $672, in llm.c (11. července 2024).

  32. Karpathy, A. karpathy/nanochat, README a leaderboard „time to GPT-2“ (přístup 2026-09-06). Částka $48 i CORE-score definice „GPT-2 capability“ jsou obě v README; vlastní speedrun.sh repozitáře říká „approximately 1.5 hours“, takže dvouhodinový údaj berte jako zaokrouhlený.

  33. Meta. Llama 3.1 model card, models/llama3_1/MODEL_CARD.md in meta-llama/llama-models (přístup 2026-09-06). Zdroj 30,84 M H100-hodin pro model 405 B, celkových 39,3 M, lokální hodnoty 11 390 tCO2eq a datového cutoff prosinec 2023.

Necháte výběr modelu na LIA?

Tvořte se všemi modely AI na jednom místě – začněte ještě dnes zdarma.