MoE
Jak działa
Model składa się z wielu podsieci (ekspertów). Mechanizm routingu (brama) dla każdego tokenu wybiera podzbiór ekspertów (np. top-2). Tylko wybrani eksperci są aktywowani podczas obliczeń, pozostałe parametry są pomijane.
Rozwiązany problem
Skalowanie gęstych sieci neuronowych jest kosztowne obliczeniowo — każdy token aktywuje wszystkie parametry. MoE umożliwia skalowanie liczby parametrów bez proporcjonalnego wzrostu kosztów obliczeniowych.
Komponenty
Oficjalna
Oficjalna
Oficjalna
Implementacja
Ewolucja
Hiperparametry (konfigurowalne osie)
Całkowita liczba podsieci eksperckich. Określa liczbę parametrów warstwy MoE. Zwiększanie N skaluje pojemność modelu bez wzrostu liczby operacji zmiennoprzecinkowych (FLOPs) przypadających na token. Typowe wartości mieszczą się w przedziale od 8 do kilku tysięcy.
Liczba ekspertów aktywowanych na token w każdej warstwie MoE. k=1 (Switch Transformer) minimalizuje nakład obliczeniowy; k=2 to wartość najczęściej stosowana w praktyce. Wyższe k poprawia stabilność routingu, lecz zwiększa liczbę operacji zmiennoprzecinkowych (FLOPs) przypadających na token.
Mnożnik średniej liczby tokenów przypadających na eksperta w danej partii (batch). Określa maksymalny bufor tokenów na eksperta. Wartości powyżej 1,0 zmniejszają liczbę pomijanych tokenów (token dropping) kosztem większego zużycia pamięci. Wartości poniżej 1,0 zwiększają token dropping.
Współczynnik skalowania (alpha) dla pomocniczej straty równoważenia obciążenia (load balancing auxiliary loss) dodawanej do funkcji celu podczas treningu. Zbyt wysoka wartość powoduje niestabilność i obniża jakość modelu; zbyt niska prowadzi do zjawiska kolapsowania ekspertów (expert collapse). Wymaga starannego dostrojenia dla każdej skali modelu.
W modelach MoE opartych na Transformerze nie każda warstwa FFN jest zastępowana warstwą MoE. Wzorzec przeplotu (np. co druga warstwa, co czwarta warstwa) kontroluje kompromis między pojemnością ekspertów a narzutem komunikacyjnym.
Złożoność obliczeniowa
Złożoność czasowa: O(k · C_expert) per token per MoE layer. Złożoność przestrzenna: O(N · P_expert) total parameters.
Wąskie gardło obliczeniowe
Paradygmat wykonania
W oryginalnym sformułowaniu soft MoE (Jacobs et al. 1991) wszystkie eksperci są ważeni i sumowani (all_paths_active). Rzadki wariant top-k (Shazeer et al. 2017) dominuje we współczesnych zastosowaniach LLM.
Równoległość
W obrębie pojedynczego urządzenia obliczenia ekspertów są w pełni równoległe dla tokenów przypisanych do danego eksperta. Na poziomie wielu urządzeń stosuje się równoległość ekspertów (expert parallelism): każde urządzenie przechowuje podzbiór ekspertów i przetwarza wyłącznie tokeny do niego skierowane.
Wymagania sprzętowe
Trenowanie i wnioskowanie rzadkich modeli MoE na dużą skalę wymaga klastrów GPU z szybkimi połączeniami (NVLink, InfiniBand) zapewniającymi efektywną komunikację all-to-all w ramach równoległości ekspertów. Obliczenia FFN poszczególnych ekspertów to gęste mnożenia macierzowe, które korzystają z akceleracji Tensor Core.
GShard i Switch Transformer od Google były trenowane na klastrach TPU z wykorzystaniem XLA SPMD do automatycznego shardingu. Łącze ICI w TPU zapewnia wysoką przepustowość komunikacji all-to-all, co dobrze sprawdza się w równoległości ekspertów (expert parallelism).