Aktiverte fp8-trening for +4,3 % forbedring til «tid til GPT-2», ned til 2,91 timer nå. Det er også verdt å merke seg at hvis du bruker 8XH100 spot-instanspriser, koster denne GPT-2-reproen egentlig bare ~20 dollar. Så dette er spennende – GPT-2 (for 7 år siden): for farlig å slippe ut. GPT-2 (i dag): ny MNIST! :) Dette kan vel gå godt under 1 time. Noen få ord til på fp8, det var litt mer vanskelig enn jeg hadde forventet, og det tok meg en stund å finne det, og selv nå er jeg ikke 100 % sikker på om det er en god idé på grunn av mindre generell støtte for det. På papiret er fp8 på H100 dobbelt så mye som FLOPS, men i praksis er det mye mindre. Vi er ikke 100 % beregningsbundet i selve treningskjøringen, det er ekstra overhead fra omregninger i ekstra skala, GEMM-ene er ikke store nok på GPT-2-skala til at overheaden tydeligvis er verdt det, og selvfølgelig – ved lavere presisjon er kvaliteten på hvert steg mindre. For oppskriften for radvis skalering var tapkurvene mellom fp8 og bf16 ganske like, men det gikk saktere inn i stegnet. For tensormessig skalering er tapkurvene mer adskilt (dvs. hvert steg er av dårligere kvalitet), men vi får nå i det minste en hastighetsøkning (~7,3%). Du kan naivt gjenopprette prestasjonen ved å øke treningshorisonten (du trener for flere steg, men hvert steg går raskere) og håpe at du på topp kommer ut foran. I dette tilfellet, og generelt, etter å ha lekt litt med disse oppskriftene og treningshorisontene, har jeg så langt endt opp med ~5 % hastighetsøkning. Torchao rapporterer i artikkelen sin at Llama3-8B FP8-treningshastighet er 25 % (mot mine ~7,3 % uten å ta hensyn til kapasitet), noe som er nærmere det jeg håpet på i utgangspunktet, selv om Llama3-8B er en mye større modell. Dette er sannsynligvis ikke slutten på FP8-sagaen. Det bør være mulig å forbedre ting ved å velge og vrake nøyaktig hvilke lag man skal bruke det på, og være mer forsiktig med numerikkene på tvers av nettverket.