Popularne tematy
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
To jest to, na co czekaliśmy przez ostatnie 9 miesięcy: sprawić, aby trening MoE był ~2x szybszy i ~2x mniej pamięciożerny! Najważniejsze punkty:
- MoE zazwyczaj zajmuje najwięcej czasu i pamięci w nowoczesnych modelach. Okazuje się, że można matematycznie przekształcić wsteczny przebieg MoE, aby zmniejszyć pamięć aktywacji, którą trzeba przechowywać w przebiegu do ~2x, co skutkuje tymi samymi gradientami bez dodatkowej rekalkulacji matmul. Naprawdę podoba mi się ten wynik, ponieważ łączy zarówno wnioski algorytmiczne, jak i systemowe.
- Analiza wąskich gardeł w warstwie MoE prowadzi do naturalnej strategii optymalizacji: zredukować odczyty/zapisy pamięci tak bardzo, jak to możliwe! Zbieranie danych wejściowych do przebiegu i gradientu wyjściowego do wstecznego przebiegu może czasami zajmować tyle samo czasu, co grupowe GEMM. Łączymy zbieranie z grupowym GEMM + nakładamy dostęp do pamięci i obliczenia, aby cała warstwa działała ~2x szybciej.
- Obliczanie top-k dla routingu ekspertów może zająć zaskakująco dużo czasu, ~15-20% całej warstwy MoE! Standardowa implementacja top-k używa algorytmu radix top-k, świetnego dla dużego k, ale suboptymalnego dla małego k. Przepisaliśmy top-k używając algorytmu bitonic top-k, i czasami jest on 20-30x szybszy niż top-k w pytorch!
Wszystkie główne jądra są napisane w Cute-DSL, więc powinny być łatwe do rozszerzenia (i zainstalowania :D). Jądra Hopper są już dostępne, jądra Blackwell są prawie gotowe. Modele MoE były 2x mniej wydajne sprzętowo w treningu, miejmy nadzieję, że Sonic-MOE to zmieni.
Najlepsze
Ranking
Ulubione
