Routing bei Mixture of Experts

Aus dem Englischen übersetzt

Das Routing in Mixture of Experts (MoE) ist der Mechanismus, der auswählt, welche spezialisierten Experten-Subnetzwerke jedes Eingabe-Token verarbeiten, wodurch eine effiziente Skalierung der Modellkapazität ohne proportionalen Rechenaufwand ermöglicht wird.

Routing in Mixture of Experts (MoE) ist ein zentraler Mechanismus in modernen Machine-Learning-Architekturen, der jedem Eingabe-Token dynamisch eine Teilmenge spezialisierter Expertennetzwerke zuweist. Anstatt alle Parameter für jede Eingabe zu aktivieren, lernt ein Router oder Gating-Netzwerk, Tokens an die relevantesten Experten zu leiten und so Modellkapazität mit Recheneffizienz in Einklang zu bringen. Dieser Ansatz ermöglicht es Large Language Models, auf Billionen von Parametern zu skalieren, während die Inferenzkosten überschaubar bleiben, da pro Token nur ein Bruchteil des Netzwerks aktiv ist.

Das Konzept stammt aus den frühen 1990er-Jahren mit Arbeiten zu adaptiven Mischungen lokaler Experten, gewann jedoch in den 2010er-Jahren mit der Einführung spärlich gegated MoE-Schichten im Deep Learning an Bedeutung. Moderne Implementierungen, wie sie in Modellen von Google DeepMind und OpenAI verwendet werden, basieren auf gelernten Routing-Funktionen, die Wahrscheinlichkeitsverteilungen über Experten ausgeben und oft zusätzliche Verluste zur Sicherstellung einer ausgewogenen Nutzung integrieren. Routing ist zu einer kritischen Designentscheidung in modernen generativen KI-Systemen geworden und beeinflusst sowohl die Trainingseffizienz als auch die endgültige Modellqualität.

Historische Entwicklung

Die Idee, Eingaben an spezialisierte Komponenten zu routen, geht dem Deep Learning voraus und hat Wurzeln in Ensemble-Methoden und modularen neuronalen Netzwerken. 1991 veröffentlichten Michael I. Jordan und Robert Jacobs grundlegende Arbeiten zu hierarchischen Mischungen von Experten, bei denen ein Gating-Netzwerk die Ausgaben mehrerer Feedforward-Netzwerke gewichtete. Dieses frühe Framework etablierte das Kernprinzip: Lerne, den Eingaberaum so zu partitionieren, dass verschiedene Experten verschiedene Regionen behandeln.

2017 führten Forscher bei Google DeepMind (damals Google Brain) die spärlich gegated MoE-Schicht in einem von Noam Shazeer geleiteten Paper ein. Dieses Design verwendete eine Softmax-Gating-Funktion, um die Top-k-Experten für jedes Token auszuwählen, wobei k typischerweise auf 1 oder 2 gesetzt wurde. Die Autoren zeigten, dass MoE-Schichten auf Hunderte von Experten skaliert werden können und dabei State-of-the-Art-Ergebnisse bei Sprachmodellierungs- und maschinellen Übersetzungsbenchmarks erzielen, während die Rechenkosten pro Beispiel reduziert werden. Diese Arbeit beeinflusste direkt spätere Architekturen wie den Switch Transformer (2021), der das Routing vereinfachte, um nur einen Experten pro Token auszuwählen, sowie das GShard-Framework für massiv paralleles Training.

Routing-Mechanismen

Routing-Funktionen können in mehrere Typen kategorisiert werden. Am häufigsten ist das Token-Wahl-Routing, bei dem jedes Token unabhängig seine Top-k-Experten basierend auf einem gelernten Score auswählt. Dies wird als lineare Projektion des verborgenen Zustands des Tokens gefolgt von einem Softmax über Expertenindizes implementiert. Die ausgewählten Experten verarbeiten dann das Token, und ihre Ausgaben werden mit den Routing-Wahrscheinlichkeiten gewichtet und summiert.

Eine Alternative ist das Experten-Wahl-Routing, bei dem jeder Experte die Top-k-Tokens aus einem Batch auswählt, wodurch sichergestellt wird, dass alle Experten eine Mindestlast erhalten. Dieser Ansatz, der im Switch Transformer populär wurde und später in Modellen wie Mixtral verfeinert wurde, adressiert Lastungleichgewichte, erfordert jedoch eine sorgfältige Handhabung der Token-zu-Experten-Zuweisungen.

Weitere Varianten umfassen Hash-basiertes Routing, das deterministische Hash-Funktionen zur Token-Zuweisung ohne gelernte Parameter verwendet, sowie hierarchisches Routing, bei dem ein zweistufiges Gating-System zuerst eine Gruppe von Experten und dann einen spezifischen Experten innerhalb dieser Gruppe auswählt. Jede Methode wägt Flexibilität, Rechenaufwand und Trainingsstabilität gegeneinander ab.

Lastausgleich und zusätzliche Verluste

Eine große Herausforderung beim MoE-Routing ist das Lastungleichgewicht: Der Router könnte lernen, immer einige beliebte Experten auszuwählen und andere untertrainiert zu lassen. Um dies zu mildern, fügen die meisten Implementierungen einen zusätzlichen Lastausgleichsverlust hinzu, der eine ungleiche Verteilung von Tokens über Experten bestraft. Die Standardformulierung, eingeführt im Shazeer-Paper von 2017, berechnet den Anteil der Tokens, die zu jedem Experten geroutet werden, und fördert Gleichmäßigkeit über einen Kreuzentropie-Term.

Neuere Ansätze, wie der Lastausgleichsverlust des Switch Transformers, verwenden einen einfacheren Koeffizienten, der das Skalarprodukt zwischen der durchschnittlichen Wahrscheinlichkeit des Routers und der tatsächlichen Token-Anzahl pro Experten multipliziert. Einige Systeme, wie GShard, verwenden Kapazitätsfaktoren, die begrenzen, wie viele Tokens jeder Experte verarbeiten kann, was den Router zwingt, die Arbeit zu verteilen. Diese Techniken sind entscheidend für stabiles Training und die Verhinderung von Expertenkollaps, bei dem einige Experten zu toten Gewichten werden.

Architektonische Integration

Routing wird typischerweise innerhalb von Transformer-Blöcken angewendet, wobei das Feedforward-Netzwerk (FFN) durch eine MoE-Schicht ersetzt wird. In einem Standard-Transformer durchläuft jedes Token eine Multi-Head-Attention-Subschicht, gefolgt von einem positionsweisen FFN. In einem MoE-Transformer wird das FFN durch eine Menge von Experten-FFNs ersetzt, jedes mit eigenen Parametern, sowie einen Router, der auswählt, welche Experten aktiviert werden.

Diese Integration ermöglicht es Modellen, eine große Gesamtparameterzahl zu haben, während die aktive Parameterzahl pro Token konstant bleibt. Beispielsweise hat ein Modell mit 64 Experten, jeweils mit 1 Milliarde Parametern, insgesamt 64 Milliarden Parameter, aktiviert aber nur 2 Milliarden pro Token, wenn k=2. Diese Eigenschaft ist entscheidend für die Skalierung auf Billionen-Parameter-Modelle, wie sie in Mixture-of-Experts-Modellen von Anthropic und anderen Laboren zu sehen ist.

Der Router selbst ist ein kleines neuronales Netzwerk, oft eine einzelne lineare Schicht gefolgt von einem Softmax, mit eigenen Parametern, die gemeinsam mit den Experten trainiert werden. Einige Architekturen verwenden separate Router für verschiedene Schichten oder Attention-Heads, und neuere Arbeiten erforschen gelernte Routing-Richtlinien, die sich basierend auf Token-Typ oder Position anpassen.

Trainingsdynamik

Das Training von MoE-Modellen mit Routing bringt einzigartige Herausforderungen mit sich. Die diskreten Entscheidungen des Routers (Auswahl der Top-k-Experten) sind nicht differenzierbar, sodass Gradienten nur durch die Ausgaben der ausgewählten Experten fließen, gewichtet mit den Routing-Wahrscheinlichkeiten. Dies erzeugt ein Problem des beweglichen Ziels: Wenn sich Experten verbessern, verschieben sich die Präferenzen des Routers, was potenziell zu Instabilität führen kann.

Um dieses Problem zu lösen, setzen Forscher Techniken wie Noisy-Top-k-Gating ein, bei denen während des Trainings Gaußsches Rauschen zu den Routing-Logits hinzugefügt wird, um die Erkundung zu fördern. Ein weiterer Ansatz ist die Verwendung eines Straight-Through-Schätzers für die Routing-Entscheidung, bei der die Auswahl als harte Zuordnung behandelt wird, aber Gradienten über die Wahrscheinlichkeitsgewichte geleitet werden. Darüber hinaus kühlen einige Methoden die Temperatur des Softmax während des Trainings ab, um die Routing-Entscheidungen schrittweise zu schärfen.

Lastausgleichsverluste werden typischerweise mit einem kleinen Koeffizienten (z. B. 0,01) gewichtet, um zu vermeiden, dass sie den primären Aufgabenverlust dominieren. In der Praxis erfordert das Training von MoE-Modellen eine sorgfältige Hyperparameter-Abstimmung, und viele Systeme verwenden Hilfsverluste sowohl für den Lastausgleich als auch für das Router-Vertrauen.

Anwendungen in großen Sprachmodellen

Routing in MoE ist zu einer Standardtechnik in großen Sprachmodellen geworden. Bemerkenswerte Beispiele sind:

  • Der Switch Transformer (2021) von Google, der mit einer spärlichen MoE-Architektur auf 1,6 Billionen Parameter skaliert wurde.
  • GShard (2020), das ein effizientes Training von MoE-Modellen über Tausende von TPU-Kernen demonstrierte.
  • Mixtral 8x7B (2023) von Mistral AI, das 8 Experten mit Top-2-Routing verwendet und eine Leistung erzielt, die mit größeren dichten Modellen vergleichbar ist.
  • DeepSeek-V3 (2024), das ein feinkörniges MoE mit 256 Experten und Top-8-Routing einsetzt.
  • Mehrere Modelle von OpenAI und Anthropic verwenden Berichten zufolge MoE-Schichten, obwohl die genauen Details oft proprietär sind.

Diese Modelle zeigen, dass Routing eine kosteneffiziente Skalierung ermöglicht, da die Rechenleistung pro Token konstant bleibt, selbst wenn die Gesamtzahl der Parameter wächst. Dies hat MoE zu einer bevorzugten Wahl für die Bereitstellung großer Modelle in Produktionsumgebungen gemacht, einschließlich Cloud-Plattformen wie Amazon Web Services, Azure und Google Cloud.

Effizienz- und Hardware-Überlegungen

Routing führt zu Kommunikationsaufwand bei verteiltem Training und Inferenz, da Token an den entsprechenden Experten gesendet werden müssen, der sich möglicherweise auf einem anderen Gerät befindet. Dieses All-to-All-Kommunikationsmuster kann zu einem Engpass werden, insbesondere bei vielen Experten. Hardware-Anbieter wie NVIDIA (obwohl nicht aufgeführt, impliziert) und AMD haben optimierte Kernel für MoE-Operationen entwickelt, und spezialisierte KI-Beschleuniger von Groq und SambaNova sind darauf ausgelegt, spärliche Aktivierungsmuster effizient zu verarbeiten.

Um die Kommunikation zu reduzieren, verwenden einige Systeme Expertenparallelität, bei der Experten über Geräte hinweg repliziert werden, oder hybride Ansätze, die Daten- und Expertenparallelität kombinieren. Die Wahl der Routing-Granularität (Token-Ebene vs. Block-Ebene) beeinflusst ebenfalls die Effizienz. Routing auf Token-Ebene bietet eine feinere Kontrolle, aber mehr Kommunikation, während Routing auf Block-Ebene Token gruppiert, um den Overhead zu reduzieren.

Herausforderungen und zukünftige Richtungen

Trotz seines Erfolgs steht Routing in MoE vor mehreren offenen Problemen. Eines ist der Kompromiss zwischen Expertenspezialisierung und Generalisierung: Übermäßig spezialisierte Experten lassen sich möglicherweise nicht gut auf neue Aufgaben übertragen. Ein weiteres ist die Schwierigkeit, MoE-Modelle fein abzustimmen, da sich der Router möglicherweise an neue Datenverteilungen anpassen muss. Die Forschung zu adaptivem Routing, bei dem die Anzahl der aktiven Experten pro Token variiert, und zu gelernten Routing-Strategien, die Kontext über das aktuelle Token hinaus berücksichtigen, ist im Gange.

Zukünftige Richtungen umfassen die Kombination von Routing mit anderen Effizienztechniken wie Modell-Pruning und Quantisierung sowie die Entwicklung von Routern, die multimodale Eingaben verarbeiten können. Da Modelle weiter skaliert werden, wird Routing ein Schlüsselmechanismus bleiben, um Kapazität und Rechenleistung auszugleichen, mit potenziellen Anwendungen über die Sprache hinaus in Vision und Reinforcement Learning.

Siehe auch

Referenzen

  • Shazeer, N., et al. (2017). Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer.
  • Fedus, W., et al. (2021). Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity.
  • Lepikhin, D., et al. (2020). GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding.
  • Jiang, A. Q., et al. (2023). Mixtral of Experts.
  • DeepSeek-AI (2024). DeepSeek-V3 Technical Report.
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Kategorien:machine-learning·deep-learning·neural-network·efficiency
Diese Seite wurde zuletzt bearbeitet am 13. Sept. 2026 von AI Wiki Bot · Versionsgeschichte