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:
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 computeDesetkrá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 je token na 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: 6NDNež se cokoli z toho dá rozpočtovat, musí se to spočítat, a obor to počítá jedním vzorcem:
kde je počet parametrů, počet trénovacích tokenů a 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 .
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ěť:
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))| konfigurace | bez embeddings | celkem | měřeno, fwd+bwd | ÷ (celkem ) | ÷ (bez emb.) | fwd+bwd ÷ fwd |
|---|---|---|---|---|---|---|
| 128, 4 vrstvy, 256 | 788 736 | 7 254 400 | 4.60e10 | 1.031 | 9.485 | 3.000 |
| 512, 8 vrstev, 256 | 25 183 232 | 51 045 888 | 3.26e11 | 1.038 | 2.104 | 3.000 |
| 768, 12 vrstev, 1024 | 84 973 056 | 124 356 864 | 1.75e12 | 1.145 | 1.676 | 3.000 |
| 1600, 48 vrstev, 1024 | 1 474 870 400 | 1 556 920 000 | 2.10e13 | 1.100 | 1.161 | 3.000 |
| 4096, 32 vrstev, 2048 | 6 442 983 424 | 6 582 444 032 | 8.74e13 | 1.080 | 1.104 | 3.000 |
| 8192, 80 vrstev, 8192 | 64 427 147 264 | 65 544 929 280 | 3.75e15 | 1.163 | 1.183 | 3.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 , jakmile započítá matice embedding — a na této větě záleží, protože dva zakládající články počítají 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 záměrně vynechává: attention skóre. Kaplanova Eq. (2.2) zapisuje forward náklad jako a druhý člen zahazuje, protože — bezpečné v roce 2020, méně bezpečné dnes, a důvod, proč poměr roste s tím, jak roste — proto tu dva řádky sdílejí rovné 1 024 a poměr klesá, z 1.145 na 1.100, když přejde ze 768 na 1 600. Je to náklad , 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ítCompute 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 a rozptyl — 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:
| model | slovník | batch | predikce | rezidentně měřeno | špička v kroku | rozdíl | |
|---|---|---|---|---|---|---|---|
| 512, 8 vrstev | 50 257 | 8 | 51 045 888 | 779 MB | 801 MB | 2 500 MB | 1 699 MB |
| 512, 8 vrstev | 4 096 | 8 | 27 411 456 | 418 MB | 426 MB | 1 043 MB | 617 MB |
| 256, 6 vrstev | 4 096 | 8 | 5 839 360 | 89 MB | 89 MB | 382 MB | 293 MB |
| 256, 6 vrstev | 4 096 | 32 | 5 839 360 | 89 MB | 89 MB | 1 259 MB | 1 170 MB |
| 256, 6 vrstev | 4 096 | 128 | 5 839 360 | 89 MB | 89 MB | 4 771 MB | 4 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 — pro fp16 váhy, pro fp16 gradienty, 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é delegaciNic 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 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é 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řeloV 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:
s doprovody pro data a pro optimálně alokované compute. Konstanty nejsou univerzální a článek to říká: „the precise numerical values of , and 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 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á a : 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řeV 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 v 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.
| parametry | |||
|---|---|---|---|
| 98 624 | 5.3531 (171) | 4.8638 (542) | — |
| 150 320 | 5.4636 (74) | — | — |
| 194 208 | 5.5041 (44) | 4.8730 (140) | 4.4040 (442) |
| 295 808 | 5.5550 (19) | 4.9029 (60) | 4.3383 (190) |
| 665 280 | 5.7849 (3.8) | 5.1254 (12) | 4.4192 (38) |
| 1 280 768 | 5.8174 (1.0) | 5.1751 (3.2) | 4.5003 (10) |
| 3 101 568 | — | 5.4686 (0.5) | 4.7768 (1.7) |
| 5 315 072 | — | 5.5894 (0.2) | 4.8514 (0.6) |
| 15 053 568 | — | — | 5.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 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 je nejlepší model nejmenší z procházených; při 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 přes každý běh — a minimalizujte za podmínky :
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.730.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é. 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 FLOPs dostane model s 1,28 milionu parametrů celkem 159 kroků optimalizátoru, hluboko pod několika tisíci, které Kaplanův člen ří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.
Co scaling laws neslibují
Odkaz na sekci: Co scaling laws neslibují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 . 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ě 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í 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 FLOPs, MMLU roste nad hádání mezi a — 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ě, , se zlepšuje pozvolna. Skórujte model pomocí exact string match přes odpověď dlouhou tokenů a zvednete tuto pravděpodobnost na mocninu — 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.
Odkud pocházejí data
Odkaz na sekci: Odkud pocházejí dataKorpus 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.
Kolik to doopravdy stojí
Odkaz na sekci: Kolik to doopravdy stojíTeď aritmetika, kterou chce každý, ze čtyř citovaných vstupů, aby bylo zřejmé, co vyměnit, až zestárnou.
Špičková propustnost
Odkaz na sekci: Špičková propustnostStrá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.
Utilisation
Odkaz na sekci: UtilisationTabulka 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ává , a tedy .
| rozpočet | H100-hodiny | FLOPs | compute-optimal parametry | tokeny | na jednom uzlu 8×H100 | GPU k dokončení za 90 dní |
|---|---|---|---|---|---|---|
| $100 | 25 | 3.6e19 | 546 M | 10.9 B | 3.1 h | 1 |
| $1,000 | 251 | 3.6e20 | 1.73 B | 34.5 B | 31.3 h | 1 |
| $10,000 | 2,506 | 3.6e21 | 5.46 B | 109 B | 13 dní | 2 |
| $100,000 | 25,063 | 3.6e22 | 17.3 B | 345 B | 131 dní | 12 |
| $1,000,000 | 250,627 | 3.6e23 | 54.6 B | 1.09 T | 4 roky | 116 |
| $10,000,000 | 2,506,266 | 3.6e24 | 173 B | 3.45 T | 36 let | 1,160 |
| $100,000,000 | 25,062,657 | 3.6e25 | 546 B | 10.9 T | 358 let | 11,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
$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.86Oba 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 stoleNejopakovaně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 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čitTo, 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í.
Kam to vede dál
Odkaz na sekci: Kam to vede dálDoplň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.
Zdroje a metoda
Odkaz na sekci: Zdroje a metodaVedle 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.
Reference
Odkaz na sekci: Reference-
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í je §2.1; exponenty alokace compute jsou Table 6. Pozor, existují dva compute zákony, při fixním batch size a při optimálním batch size; článek říká, že druhý „should be used to make predictions“. ↩ ↩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
-
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
-
Rajbhandari, S., Rajbhandari, S., Ruwase, O. and He, Y. ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. arXiv:1910.02054 (2019), SC20. Účetnictví je §3.1; čísla zbytkových stavů pro aktivace jsou §3.2. ↩
-
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
-
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ý. ↩
-
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
-
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. ↩
-
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é . ↩
-
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í. ↩
-
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“. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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ů. ↩
-
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í. ↩
-
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ý. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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í. ↩
-
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í. ↩
-
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. ↩ -
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. ↩ -
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). ↩ -
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.shrepozitáře říká „approximately 1.5 hours“, takže dvouhodinový údaj berte jako zaokrouhlený. ↩ -
Meta. Llama 3.1 model card,
models/llama3_1/MODEL_CARD.mdinmeta-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. ↩