# Varför det är så svårt att träna MoEs Nyligen har jag märkt att jag vill ha ett litet, forskningsfokuserat träningsrepo Som jag snabbt och enkelt kan göra små experiment på. Dessa experiment är av hela området från att prova nya uppmärksamhetsarkitekturer (MLA, SWA, NSA, KDA – alla pluggbara) till multiprecisionsträning för de flesta Nyligen har flera optimerare installerats med 'nya' optimerare. Jag testade de tre stora utmanare (Nemo, Megatron och Torchtitan) men av många och olika anledningar är de Det passade verkligen inte mina behov och var alla ganska smärtsamma att göra Ställ upp, använd och få igång stabilt. Jag missade återigen mina verktyg från Google och skriver om min produktionsutbildningsstack för detta ändamål (som är skräddarsydd gjord för stor infrastrukturövervakning och stabilitet) kändes också som en fattig Användning av tid och skulle göra både det gamla och det nya repoet sämre för det. Detta fick mig dock att fundera på varför utbildning av frontier-kvalitet var 'ganska liten' MoEs (säg under 20 miljarder params totalt) så svårt? Varför gjorde inte repoet / lib i vill redan existera? Efter att ha tänkt på det ett tag, de flesta av Utmaningar jag kunde komma på handlade om tre olika saker: - flops / flop-effektivitet - lastbalansering / routerstabilitet - datakvalitet och kvantitet Flops Att träna täta modeller är ganska enkelt nuförtiden. Utbildningen Dynamiken är mestadels kopplad, och om du har tillräckligt med parametrar i arkitekturen, Modellen lär sig i princip trots dina många misstag (detta har bitit mig i det rumpan mer än en gång). [DeepSeek-stil ultra-gles]( MoEs är annorlunda eftersom dina träningsdynamiker är något frikopplade. Endast en del av dina MLP:er är aktiva för en given token, Och när utbildningen fortskrider förändras och utvecklas de aktiva experterna över tid. Det här är vad gör multi-epokträning och dataomformulering så effektiv för MoEs (särskilt större). Du får stora vinster i inferenseffektivitet och små...