# Hvorfor det er så vanskelig å trene MoEs Nylig har jeg funnet ut at jeg ønsker et lite, forskningsfokusert opplæringsrepo Som jeg kan gjøre små eksperimenter på raskt og enkelt. Disse eksperimentene varierer fra å prøve ut nye Attention-arkitekturer (MLA, SWA, NSA, KDA – alle pluggbare) til multipresisjonstrening til de fleste Nylig multioptimalisatoroppsett med 'nye' optimalisatorer. Jeg prøvde de tre store utfordrere (Nemo, Megatron og Torchtitan), men av mange og ulike grunner har de Det passet absolutt ikke for mine formål, og var alle ganske smertefulle å gjøre Sett opp, bruk og få i gang stabilt. Jeg savnet nok en gang verktøyene mine fra Google og omskrive produksjonstreningsstakken min for dette formålet (som er skreddersydd laget for stor infrastruktur, overvåking og stabilitet) føltes også som en fattig Bruk av tid og vil gjøre både det gamle og det nye repoet dårligere på grunn av det. Dette fikk meg imidlertid til å tenke: hvorfor var trening av grensekvalitet 'litt lite'? MoEs (si under 20 milliarder params totalt) så vanskelig? Hvorfor gjorde ikke Repo / Lib I ønsket allerede eksisterer? Etter å ha tenkt på det en stund, har det meste av Utfordringene jeg kunne komme opp med, handlet om tre forskjellige ting: - flops / flop-effektivitet - lastbalansering / ruterstabilitet - datakvalitet og -kvantitet Flops Å trene tette modeller er ganske enkelt nå til dags. Treningen Dynamikken er stort sett koblet, og hvis du har nok parametere i arkitekturen, Modellen vil stort sett lære til tross for dine mange feil (dette har bitt meg fast rumpa mer enn én gang). [DeepSeek-stil ultra-tynt]( MoEs er annerledes fordi treningsdynamikken din er annerledes noe frakoblet. Bare en del av MLP-ene dine er aktive for en gitt token, Og etter hvert som opplæringen pågår, endrer og utvikler de aktive ekspertene seg over tid. Dette er hva gjør multi-epoketrening og dataomformulering så effektiv for MoE-er (spesielt større). Du får store inferens-effektivitetsgevinster og små...