Mixture of Experts (MoE)
Mixture of Experts (MoE) leitet jedes Token an einige Experten-Subnetzwerke weiter. Dadurch wächst die Gesamtzahl der Parameter eines Modells deutlich schneller als der Rechenaufwand pro Token.
Mixture of Experts (MoE) ist eine Architektur für neuronale Netze, die einen Teil eines Modells in viele parallele Teilnetze aufteilt, sogenannte Experten. Ein kleiner, trainierter Router leitet jede Eingabe nur an einige davon weiter. Da jedes Token oder jedes Bildsegment nur einen Teil der Experten durchläuft, kann die Gesamtzahl der Parameter viel schneller wachsen als der Rechenaufwand pro Eingabe. Mixtral 8x7B hat 47 Milliarden Parameter, verwendet aber 13 Milliarden pro Token. DeepSeek-V3 aktiviert 37 Milliarden seiner 671 Milliarden Parameter. Die routergesteuerte, dünn besetzte MoE-Schicht, die heute in großen Sprachmodellen (LLMs) verwendet wird, baut auf Googles dünn besetzter, gesteuerter MoE-Schicht von 2017 auf, die zwischen gestapelten LSTM-Schichten 137 Milliarden Parameter erreichte.
So funktioniert eine MoE-Schicht#
In einem Transformer ersetzt eine MoE-Schicht üblicherweise das Feedforward-Netzwerk (FFN), das auf jeden Self-Attention-Block folgt. Die Schicht enthält N Experten-FFNs gleicher Form sowie einen Router – eine einzelne lineare Schicht, die für jedes Token jeden Experten bewertet. Das Token wird an die k Experten mit der höchsten Bewertung geleitet. Ihre Ausgaben werden mit den normalisierten Bewertungen des Routers gewichtet und summiert; die übrigen Experten verarbeiten dieses Token nicht. Mixtral wählt in jeder Schicht 2 von 8 Experten aus, während DeepSeek-V3 8 von 256 kleineren, gerouteten Experten auswählt und jedes Token außerdem durch einen gemeinsam genutzten Experten leitet. Da das Routing in jeder Schicht unabhängig erfolgt, kann ein Token auf verschiedenen Tiefen unterschiedliche Experten nutzen, und zwei Tokens im selben Satz können in derselben Schicht unterschiedliche Wege nehmen:
Die Experten in Mixtral spezialisierten sich nicht nach Themen. Die Autorinnen und Autoren fanden keine eindeutige Zuordnung von Experten zu Themen wie Biologie oder Philosophie. Stattdessen folgte das Routing der Syntax, sodass Tokens wie self in Python-Code und Einrückungs-Tokens tendenziell dieselben Experten erreichten.
Lastverteilung und Expertenkapazität#
Ein frisch initialisierter Router bevorzugt oft einige wenige Experten. Diese trainieren dann schneller und ziehen noch mehr Tokens an, während die übrigen untätig bleiben. Das folgende Beispiel mit sechs Tokens leitet die Tokens durch eine Top-2-Schicht mit acht Experten und zählt, wie viele Tokens jeder Experte erhält:
import torch
torch.manual_seed(0)
dim, num_experts, top_k = 32, 8, 2
experts = torch.nn.ModuleList(
torch.nn.Sequential(torch.nn.Linear(dim, 4 * dim), torch.nn.GELU(), torch.nn.Linear(4 * dim, dim))
for _ in range(num_experts)
)
router = torch.nn.Linear(dim, num_experts, bias=False)
tokens = torch.randn(6, dim)
# Der Router behält für jedes Token die Bewertungen der beiden besten Experten bei und wendet Softmax darauf an, um Mischgewichte zu berechnen
scores, chosen = router(tokens).topk(top_k, dim=-1)
weights = scores.softmax(dim=-1)
out = torch.zeros_like(tokens)
for e, expert in enumerate(experts):
token_idx, slot = (chosen == e).nonzero(as_tuple=True) # Tokens, die Experte e ausgewählt haben
out[token_idx] += weights[token_idx, slot, None] * expert(tokens[token_idx])
print("Experts per token:", chosen.tolist())
print("Tokens per expert:", torch.bincount(chosen.flatten(), minlength=num_experts).tolist())Es gibt die Expertenpaare [[3, 6], [7, 6], [0, 7], [3, 1], [6, 1], [2, 3]] und die Zählwerte pro Experte [1, 2, 1, 3, 0, 0, 3, 2] aus: Die Experten 3 und 6 verarbeiten jeweils drei Tokens, während die Experten 4 und 5 keines erhalten. Jedes Token durchläuft nur 2 der 8 Expertennetzwerke. Der Switch Transformer leitete jedes Token an einen einzelnen Experten weiter und ließ sich auf 1,6 Billionen Parameter skalieren. Er ergänzte einen Hilfsterm für den Verlust, der am kleinsten ist, wenn Tokens und Router-Wahrscheinlichkeiten gleichmäßig auf die Experten verteilt sind. Viele spätere MoE-Modelle verwenden einen ähnlichen Term. DeepSeek-V3 verzichtet auf den Hilfsverlust und verändert stattdessen während des Trainings einen Bias pro Experte in den Routing-Bewertungen. Trainingssysteme begrenzen außerdem die Zahl der Tokens, die ein Experte pro Batch annimmt – seine Kapazität. Tokens oberhalb dieser Grenze überspringen die Experten dieser Schicht und laufen über die Residualverbindung weiter.
MoE im Vergleich zu verwandten Konzepten#
- Modellensemble: Mehrere vollständige Modelle verarbeiten jeweils jede Eingabe. Ihre Vorhersagen werden gemittelt oder durch Abstimmung zusammengeführt, sodass der Rechenaufwand mit jedem hinzugefügten Modell steigt. Ein MoE ist ein einzelnes, durchgängig trainiertes Netzwerk, dessen Router für jedes Token einen anderen Pfad auswählt.
- Modellrouting: Ein Router wählt für jede Anfrage ein vollständiges Modell aus, etwa ein kleines Modell für einfache und ein großes für schwierige Fragen. Beim MoE-Routing erfolgt die Auswahl für jedes Token innerhalb jeder MoE-Schicht eines einzelnen Modells.
- Mixture of Depths (MoD): Ein Router lässt einige Tokens einen ganzen Block überspringen, sodass der Rechenaufwand je Token variiert. MoD wird oft mit MoE kombiniert.
- Mixture of Agents (MoA): Mehrere separate LLMs beantworten einen Prompt. Spätere LLM-Schichten verfeinern ihre zusammengeführten Antworten. Es handelt sich um eine Prompt-Pipeline ohne gemeinsam genutzte Gewichte.
MoE in Sprach- und Bildmodellen#
Viele der größten LLMs mit offenen Gewichten verwenden MoE-Schichten, darunter DeepSeek-V3, Llama 4, die MoE-Versionen von Qwen3 und OpenAIs gpt-oss. In der Computer Vision ersetzte Vision MoE (V-MoE) einige FFN-Schichten eines Vision Transformer (ViT) durch Experten und leitete einzelne Bildsegmente weiter. Damit erreichte das Modell mit nur halb so viel Rechenaufwand bei der Inferenz eine Genauigkeit auf dem neuesten Stand der Technik. Die Version mit 15 Milliarden Parametern erreichte eine Top-1-Genauigkeit von 90,35 % auf ImageNet.
Speicherbedarf und Bereitstellung#
MoE spart Rechenaufwand, nicht Speicher: Jeder Experte muss geladen werden, auch wenn jedes Token nur wenige davon nutzt. Mixtral benötigt daher so viel Speicher wie ein Modell mit 47 Milliarden Parametern, verarbeitet aber jedes Token mit dem Rechenaufwand eines Modells mit 13 Milliarden Parametern. Große MoE-Modelle werden deshalb mit Expertenparallelisierung über mehrere GPUs verteilt. Jede GPU enthält eine Teilmenge der Experten, und ein Austausch zwischen allen Geräten leitet jedes Token an die Geräte mit den ausgewählten Experten und wieder zurück. Frameworks wie DeepSpeed-MoE kombinieren Expertenparallelisierung beim Training mit Daten- und Tensorparallelisierung. Edge-Vision-Modelle verwenden den dichten Ansatz: YOLO26 führt jede Schicht für jedes Bild aus. Daher sind Speicherbedarf und Rechenaufwand pro Bild bei jeder Eingabe gleich.










