Robocikowo>ROBOCIKOWO
Architektura

MoE

Architektura łącząca wiele ekspertów poprzez mechanizm rutingu.
Kluczowa innowacja
Mixture of Experts wprowadza warunkowe obliczenia (conditional computation), w których tylko podzbiór wyspecjalizowanych pod-sieci (ekspertów) jest aktywowany dla każdego przykładu wejściowego poprzez sieć bramki (gating network), umożliwiając skalowanie pojemności modelu bez proporcjonalnego wzrostu kosztów obliczeniowych.
Kategoria
Architektura
Poziom abstrakcji
Building block
Poziom operacji
Element architekturyWarstwaTreningInferencja
Zastosowania
Duże modele językowe (Mixtral, GPT-4)Efektywne skalowanie modeli do bilionów parametrówSpecjalizacja ekspertów w różnych domenach wiedzyRedukcja kosztów inferencji przy dużych modelach

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

Expert NetworksZbiór N równoległych pod-sieci (ekspertów), z których każda specjalizuje się w obsłudze określonego podzbioru przestrzeni wejściowej; w kontekście Transformerów eksperci są zazwyczaj sieciami FFN.
FFN experts
Shared expert

Oficjalna

Gating / Router NetworkSieć bramki uczona równolegle z ekspertami; produkuje wagi lub selekcję top-k ekspertów dla każdego tokena / przykładu wejściowego.
Noisy top-k gating
Softmax router

Oficjalna

Load Balancing MechanismDodatkowy człon straty (auxiliary loss) doliczany do głównej straty treningowej, penalizujący nierównomierny rozkład tokenów między ekspertami.

Oficjalna

Implementacja

Pułapki implementacyjne
Kolaps ekspertów (expert collapse / load imbalance)Krytyczna
Rozwiązanie:Dodaj pomocniczą funkcję straty równoważenia obciążenia (auxiliary load balancing loss) do celu treningowego. Alternatywnie stosuj podejścia bez pomocniczej straty, takie jak routing bias na poziomie eksperta z dynamicznymi aktualizacjami (podejście DeepSeek). Monitoruj liczbę tokenów przypadających na każdego eksperta podczas treningu. Rozważ zastosowanie zaszumionego bramkowania top-k (noisy top-k gating).
Trudne strojenie współczynnika auxiliary lossWysoka
Rozwiązanie:Rozpocznij od wartości zalecanych dla wybranej architektury (np. alpha=1e-2 w Switch Transformer). Monitoruj zarówno metryki równoważenia obciążenia, jak i stratę na zadaniu docelowym. Rozważ przeszukiwanie przestrzeni wartości alpha na początku treningu w mniejszej skali.
Przekroczenie capacity factor i porzucanie tokenówŚrednia
Rozwiązanie:Ustaw współczynnik pojemności (capacity factor) powyżej 1,0 (np. 1,25), aby zapewnić bufor. Monitoruj wskaźniki przepełnienia podczas treningu. Rozważ routing oparty na wyborze eksperta (expert choice routing), gdzie eksperci wybierają tokeny top-k zamiast odwrotnie, co gwarantuje idealne równoważenie obciążenia.
Narzut komunikacji all-to-all przy zrównoleglaniu ekspertówWysoka
Rozwiązanie:Ograniczaj liczbę warstw MoE (stosuj MoE tylko w części warstw Transformera). Używaj routingu top-1 zamiast top-2, aby zmniejszyć wolumen przesyłanych danych o połowę. Tam, gdzie framework to umożliwia, nakładaj komunikację na obliczenia. Profiluj opóźnienia all-to-all na wczesnym etapie.
Niestabilność treningu z powodu nieciągłości routingu top-kŚrednia
Rozwiązanie:Zastosuj przycinanie gradientów (gradient clipping). Zmniejsz współczynnik uczenia względem gęstego modelu bazowego. Podczas treningu używaj szumowego bramkowania (noisy gating), aby wygładzić decyzje routingu. Jeśli niestabilność utrzymuje się, rozważ warianty soft MoE lub różniczkowalnego routingu.

Ewolucja

Oryginalny paper · 1991 · Neural Computation, vol. 3, no. 1, pp. 79–87 · Robert A. Jacobs
Adaptive Mixtures of Local Experts
Robert A. Jacobs, Michael I. Jordan, Steven J. Nowlan, Geoffrey E. Hinton
1991
Definicja konceptu MoE — Jacobs, Jordan, Nowlan, Hinton
Punkt przełomowy
1994
Hierarchiczne Mieszaniny Ekspertów (HME) — Jordan & Jacobs
2017
Sparsely-Gated MoE dla sieci głębokich — Shazeer et al., ICLR 2017
Punkt przełomowy
2020
GShard — skalowanie MoE do 600B parametrów z automatycznym shardingiem
2021
Switch Transformer — uproszczenie do top-1 routingu i skalowanie do biliona parametrów
Punkt przełomowy
2024
Auxiliary-loss-free load balancing — DeepSeek i kolejne architektury MoE

Hiperparametry (konfigurowalne osie)

Liczba ekspertów (N)Krytyczna

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.

8Mixtral 8x7B, Switch Transformer small
64Switch Transformer large configurations
2048+Shazeer et al. 2017: up to thousands of experts with hierarchical MoE
Top-k (liczba aktywnych ekspertów)Krytyczna

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.

1Switch Transformer
2Mixtral, GShard, most common default
Capacity factorWysoka

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.

1.25Recommended starting value per GShard / Switch Transformer
1.0Tight capacity, some token dropping expected
Współczynnik auxiliary lossWysoka

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.

Częstotliwość warstw MoEŚrednia

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.

co 2 warstwyCommon pattern in many LLM MoE architectures
wszystkie warstwy FFNSwitch Transformer

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

Komunikacja all-to-all przy expert parallelism
Zależy od
Liczba ekspertów (N)Capacity factor

Paradygmat wykonania

Tryb główny
conditional

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.

Wzorzec aktywacji
top_k_selected
Mechanizm routingu

Równoległość

Poziom równoległości
conditionally_parallel

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.

Zakres
traininginferenceacross_expertsacross_devices
Ograniczenia
!Token dispatch i collect
!Expert capacity overflow

Wymagania sprzętowe

Podstawowe

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.

Dobry fit

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).