Raportul tehnic al @Meituan_LongCat LongCat-Flash este nebunesc de bun și plin de noutate. Modelul este un MoE activ de 560B pasiv ~27B cu număr adaptiv de parametri activi în funcție de context datorită expertului Zero-Computational. 1) Arhitectură nouă > straturi au 2 blocuri de atenție și atât FFN, cât și MoE, astfel puteți suprapune cele 2 comunicații all-to-all. (De asemenea, sunt doar 28 de straturi, dar trebuie sa tineti cont de cele 2 blocuri de atentie). > Ei adaugă expertul în zero calcul pe care jetoanele îl pot alege și nu pot face nimic, un fel de "chiuvetă" pentru jetoane ușoare. > Pentru echilibrarea încărcării, au o pierdere auxiliară de tip dsv3 liberă pentru a seta expertul mediu real/fals pe token. Ei aplică un program de decădere la această actualizare a părtinirii. De asemenea, fac controlul echilibrului pierderilor. 2) Scalare > Au făcut modificări la MLA/MoE pentru a avea alinierea varianței la init. Câștigurile sunt destul de impresionante în Figura 5, dar nu știu în ce măsură acest lucru are impact mai târziu. > Model growth init este destul de tare, mai întâi antrenează un model de 2 ori mai mic și apoi "când este suficient de antrenat" (puțin neclar aici câte jetoane B) inițiază modelul final doar stivuind straturile modelului mai mic. > Au folosit hârtie @_katieeverett @Locchiu și altele pentru a avea transfer de hiperparametri cu SP în loc de muP pentru modelul de 2 ori mai mic ig. 3) Stabilitate > Ei urmăresc raportul normei gradientului și similitudinea cosinusului între experți pentru a ajusta greutatea pierderii de echilibrare a sarcinii (recomandă raportul normei gradientului <0,1). > Pentru a evita activările mari, aplică o pierdere z la starea ascunsă, cu un coef destul de mic (o altă alternativă la qk-clip/normă). > Au setat Adam epsilon la 1e-16 și arată că doriți să fie mai mic decât intervalul RMS al gradientului. 4) Altele > Se antrenează pe jetoane de 20T pentru faza 1, "multiple T de jetoane" pentru antrenament mediu pe date STEM/cod (70% din amestec), 100B pentru extensie de context lung fără fire (80B pentru 32k, 20B pentru 128k). Documentele cu context lung reprezintă 25% din amestec (nu sunt sigur dacă este % de documente sau jetoane, ceea ce se schimbă mult aici). > Conducta de date pre-antrenament este extragerea contextului, filtrarea calității, deduplicarea. > Nice appendix unde arată că compară top_k este necesar pentru diferite benchmark-uri (MMLU mai mare cu 8.32, GSM8K mai mic cu 7.46). De asemenea, compară alocarea token-urilor în straturi adânci/superficiale. > Lansează două noi repere: Meeseek (multi-turn IF) și VitaBench (scenariu de afaceri din lumea reală). > O mulțime de detalii în infra/inferență cu informații despre acceptarea decodării speculative, cuantizarea, implementarea, optimizarea nucleului, suprapunerea com-urilor etc. > Lista diferitelor lucrări relevante în fir 🧵
54,83K