Nytt inlägg: nanochat miniserie v1 Det korrekta sättet att tänka på LLM:er är att du inte optimerar för en specifik modell utan för en familjemodell som styrs av en enda ratt (den beräkning du vill använda) för att uppnå monotont bättre resultat. Detta gör att du kan göra noggrann vetenskap om skalningslagar och i slutändan är det detta som ger dig förtroendet att när du betalar för "den stora perioden" kommer extrapolationen att fungera och dina pengar kommer att vara väl investerade. För den första publika versionen av nanochat fokuserade jag på en end-to-end pipeline som kör hela LLM-pipelinen med alla dess steg. Nu, efter att ha YOLO:at några gånger tidigare, kommer jag tillbaka för att utveckla några av de delar jag snabbt gick igenom, med början förstås med förträning, som både är beräkningstung och avgörande som grunden för intelligens och kunskap i dessa modeller. Efter att ha finjusterat några av hyperparametrarna lokalt, rensade jag ut ett antal modeller som fixade FLOP-budgeten. (För varje FLOP-mål kan du träna en liten modell under lång tid, eller en stor modell under en kort tid.) Det visar sig att nanochat följer mycket fina skalningslagar, vilket i princip återger Chinchilla-pappersdiagrammen: Vilket bara är en babyversion av denna handling från Chinchilla: Mycket viktigt och uppmuntrande är att exponenten på N (parametrar) och D (tokens) är lika vid ~=0,5, så precis som Chinchilla får vi en enda (beräkningsoberoende) konstant som relaterar modellstorleken till tokens träningshorisonter. I Chinchilla mättes detta till 20. I nanochat verkar det vara 8! När vi kan träna optimala beräkningsmodeller svepte jag ut en miniserie från d10 till d20, vilket är nanochat-storlekar som kan göra 2**19 ~= 0,5 miljoner batchstorlekar på 8XH100-noder utan gradientackumulering. Vi får snygga, icke-iterekterande träningsdiagram för varje modellstorlek. Sedan är det roliga att relatera denna miniserie v1 till GPT-2 och GPT-3 miniserierna så att vi vet att vi är på rätt spår. Valideringsförlust har många problem och går inte att jämföra, så istället använder jag CORE-poängen (från DCLM-papper). Jag räknade ut det för GPT-2 och uppskattade det för GPT-3, vilket gör att vi äntligen kan placera nanochat snyggt och på samma skala: Den totala kostnaden för denna miniserie är endast ~100 dollar (~4 timmar på 8XH100). Dessa experiment ger oss förtroende för att allt fungerar ganska bra och att om vi betalar mer (vrider på ratten) får vi allt bättre modeller. Sammanfattning: vi kan träna beräkna optimala miniserier och relatera dem till GPT-2/3 via objektiva CORE-poäng, men ytterligare förbättringar är önskvärda och behövs. Till exempel kräver matchning av GPT-2 för närvarande ~500 dollar, men enligt mig borde det vara möjligt att göra <100 dollar med mer arbete. Hela inlägget med mycket mer detaljer finns här: Och all tuning och kod pushas till master och folk kan återskapa dessa med scaling_laws .sh och miniseries .sh bash-skript.