Mixture of Experts (MoE) ist ein Ansatz des maschinellen Lernens, der ein Modell der künstlichen Intelligenz (KI) in separate Teilnetze (oder „Experten“) aufteilt, die jeweils auf eine Teilmenge der Eingabedaten spezialisiert sind, um gemeinsam eine Aufgabe auszuführen.
Mixture of Experts-Architekturen ermöglichen es groß angelegten Modellen, selbst solchen mit vielen Milliarden von Parametern, die Rechenkosten während des Vortrainings erheblich zu senken und während der Inferenzzeit eine schnellere Leistung zu erzielen. Im Großen und Ganzen wird diese Effizienz erreicht, indem selektiv nur die spezifischen Experten aktiviert werden, die für eine bestimmte Aufgabe benötigt werden, anstatt das gesamte neuronale Netzwerk für jede Aufgabe zu aktivieren.
Obwohl ein Großteil der modernen Implementierungen von Mixture of Experts in den letzten zehn Jahren entwickelt wurde, geht der Kerngedanke der MoE-Modelle auf den Artikel „Adaptive Mixture of Local Experts“ von 1991 zurück. Der Artikel schlug vor, ein KI-System zu trainieren, das aus separaten Netzwerken besteht, die jeweils auf eine andere Teilmenge von Trainingsfällen spezialisiert sind. Dazu mussten sowohl die „Expertennetzwerke“ selbst als auch ein Gating-Netzwerk trainiert werden, das bestimmt, welcher Experte für jede Teilaufgabe verwendet werden sollte. Im Vergleich zu einem analogen konventionellen Modell stellten die Autoren fest, dass ihr experimentelles Modell deutlich schneller zu trainieren war: Es erreichte die Zielgenauigkeitsschwelle in halb so vielen Trainingsepochen wie das konventionelle Modell.1
In den letzten Jahren, da die führenden Deep-Learning-Modelle, die für generative KI verwendet werden, immer größer und rechenintensiver geworden sind, bietet die Mixture of Experts ein Mittel, um einen Kompromiss zwischen der höheren Kapazität größerer Modelle und der höherer Effizienz kleinerer Modelle zu schließen. Dies wurde vor allem im Bereich der Verarbeitung natürlicher Sprache (NLP) untersucht: Einige führende große Sprachmodelle (LLMs) wie Mixtral 8x7B von Mistral und (einigen Berichten zufolge) GPT-4,2 von OpenAI haben eine MoE-Architektur verwendet.
Moderne Deep-Learning-Modelle basieren auf künstlichen neuronalen Netzen, die aus mehreren Schichten miteinander verbundener Knoten (oder „Neuronen“) bestehen. Jedes Neuron verfügt über eine Aktivierungsfunktion: eine mathematische Operation, die mit den von der vorherigen Schicht empfangenen Daten durchgeführt wird und deren Output den Input für die folgende Schicht bestimmt. Klassische Feed-Forward Neural Networks (FFNs) verarbeiten Informationen, indem sie nach und nach Eingabedaten von Neuronen in einer Schicht an Neuronen in der folgenden Schicht weitergeben, bis sie eine äußere Schicht erreichen, in der endgültige Vorhersagen getroffen werden. Einige neuronale Netzwerkarchitekturen enthalten zusätzliche Elemente, wie die Selbstaufmerksamkeitsmechanismen von Transformer-Modellen, die zusätzliche Muster und Abhängigkeiten in den Eingabedaten erfassen.
Die Verbindungen zwischen den verschiedenen Schichten und Neuronen werden durch erlernbare Modellparameter vermittelt: variable Gewichtungen (und Verzerrungen), die den Einfluss eines bestimmten Teils des Outputs des Netzwerks auf andere Teile des Netzwerks verstärken oder abschwächen. Ein Deep-Learning-Modell „lernt“, indem es diese Parameter mithilfe von Optimierungsalgorithmen wie dem Gradientenabstieg so anpasst, dass die Genauigkeit seiner Vorhersagen steigt.
Eine größere Anzahl von Parametern erhöht zwar die Kapazität des Modells, d. h. seine Fähigkeit, Informationen und Muster aufzunehmen, aber sie erhöht auch die für das Training und den Betrieb des Modells erforderlichen Rechenressourcen. In einem typischen Deep-Learning-Modell – das in diesem Kontext als dichtes Modell bezeichnet wird – wird das gesamte Netzwerk ausgeführt, um alle Eingaben zu verarbeiten. Dies führt zu einem Kompromiss zwischen Modellkapazität und Praktikabilität.
Im Gegensatz zu herkömmlichen dichten Modellen verwendet die Mischung von Experten bedingte Berechnungen, um Sparsity (Sparsamkeit) zu erzwingen: Anstatt das gesamte Netzwerk für jede Eingabe zu verwenden, lernen MoE-Modelle eine rechnerisch kostengünstige Zuordnungsfunktion, die bestimmt, welche Teile des Netzwerks – mit anderen Worten, welche Experten – am effektivsten sind, um eine bestimmte Eingabe zu verarbeiten, wie ein einzelnes Token, das zur Darstellung eines Wortes oder Wortfragments in NLP-Aufgaben verwendet wird.
Dadurch kann die Kapazität des Modells erhöht werden (durch Erweiterung der Gesamtzahl der Parameter), ohne dass der Rechenaufwand für das Trainieren und Ausführen des Modells entsprechend zunimmt (da nicht unbedingt alle dieser Parameter zu einem bestimmten Zeitpunkt verwendet werden).
MoE-Modelle verarbeiten Daten, indem sie eine Reihe von „Experten“ benennen, von denen jeder sein eigenes Subnetz innerhalb eines größeren neuronalen Netzes hat, und ein Gating-Netz (oder einen Router) trainieren, um nur die spezifischen Experten zu aktivieren, die für eine bestimmte Eingabe am besten geeignet sind.
Der Hauptvorteil des MoE-Ansatzes liegt darin, dass durch die Durchsetzung von Sparsität die Modellkapazität gesteigert werden kann, ohne das gesamte neuronale Netz für jedes Eingabeelement zu aktivieren, während im Wesentlichen die Rechenkosten konstant gehalten werden.
Auf architektonischer Ebene wird dies erreicht, indem traditionelle, dichte Feed-Forward-Netzschichten (FFN) durch dünn besetzte MoE-Schichten (oder Blöcke) ersetzt werden. Im Sprachgebrauch der neuronalen Netze bezieht sich der Begriff „Block“ auf ein wiederkehrendes Strukturelement, das eine bestimmte Funktion ausführt. In einem dünn besetzten MoE-Modell (SMoE) können diese Expertenblöcke einzelne Schichten, eigenständige FFNs oder sogar verschachtelte MoEs für sich sein.
Im Sprachmodell Mixtral 8x7B von Mistral besteht beispielsweise jede Schicht aus 8 Feedforward-Blöcken – also Experten –, von denen jeder 7 Milliarden Parameter hat. Für jedes Token wählt ein Router-Netzwerk auf jeder Schicht zwei dieser acht Experten aus, um die Daten zu verarbeiten. Anschließend kombiniert es die Outputs dieser beiden Experten und gibt das Ergebnis an die nächste Schicht weiter. Die spezifischen Experten, die vom Router in einer bestimmten Schicht ausgewählt werden, können andere Experten sein als diejenigen, die in der vorherigen oder nächsten Schicht ausgewählt wurden.3
Ein SMoE (Sparse Mixture of Experts) kann vollständig aus dünn besetzten MoE-Schichten bestehen, aber viele MoE-Modellarchitekturen beinhalten sowohl dünn besetzte als auch dichte Blöcke. Dies gilt auch für Mixtral, bei dem die Blöcke, die für den Self-Attention-Mechanismus des Modells verantwortlich sind, von allen 8 Experten gemeinsam genutzt werden. In der Praxis macht das Bezeichnungen wie „8x7B“ potenziell irreführend: Da viele Parameter des Modells von jedem Experten-Subnetzwerk mit 7 Milliarden Parametern gemeinsam genutzt werden, hat Mixtral insgesamt etwa 47 Milliarden Parameter — nicht 56 Milliarden, wie man durch einfache Multiplikation annehmen könnte.
Diese Gesamtparameteranzahl wird üblicherweise als dünn besetzte Parameteranzahl bezeichnet und kann im Allgemeinen als Maß für die Modellkapazität verstanden werden. Die Anzahl der Parameter, die tatsächlich zur Verarbeitung eines einzelnen Tokens verwendet werden (während er einige Expertenblöcke durchläuft und andere umgeht), wird als aktive Parameteranzahl bezeichnet und kann als Maß für die Rechenkosten des Modells verstanden werden. Obwohl jeder in Mixtral eingegebene Token Zugriff auf 46,7 Milliarden Parameter hat, werden nur 12,9 Milliarden aktive Parameter zur Verarbeitung eines bestimmten Beispiels verwendet.
Das Verständnis dieser optimalen Nutzung der Parameteranzahl ist der Schlüssel zum Verständnis der Vorteile von MoE-Modellen. Zum Beispiel übertrifft Mixtral die 70-Milliarden-Parameter-Variante von Metas LLaMA 2 in den meisten Benchmarks – mit viel höherer Geschwindigkeit – obwohl es insgesamt ein Drittel weniger Parameter hat und zur Inferenzzeit weniger als 20 % so viele aktive Parameter verwendet.3
Es ist jedoch erwähnenswert, dass die Gesamtparameteranzahl eines MoE mit geringer Dichte für die Rechenanforderungen nicht völlig irrelevant ist. Obwohl während der Inferenz nur eine Teilmenge der Parameter verwendet wird, müssen alle Parameter des Modells in den Speicher geladen werden. Dies bedeutet, dass die Recheneffizienz, über die SMoEs in den meisten Fällen verfügen, nicht für ihre RAM/VRAM-Anforderungen gilt.
Der Schlüssel zum Konzept (und zur Effizienz) von MoEs besteht darin, dass nur einige der Experten (und damit die Parameter) in einer dünn besetzten Schicht zu einem bestimmten Zeitpunkt aktiviert werden, wodurch die aktiven Rechenanforderungen reduziert werden.
Obwohl die konditionale Berechnung schon lange als theoretisches Mittel vorgeschlagen wurde, um die Rechenanforderungen von der erhöhten Modellkapazität zu entkoppeln, konnten die algorithmischen und leistungsbezogenen Herausforderungen ihrer erfolgreichen Umsetzung erst durch die Arbeit von Shazeer et al. von 2017 „Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer“ überwunden werden.4
Die Vorteile von dünn besetzten Schichten gegenüber dichten Schichten werden am deutlichsten, wenn es um hochdimensionale Daten geht, bei denen Muster und Abhängigkeiten oft komplex und nichtlinear sind: Bei NLP-Aufgaben, bei denen ein Modell eine lange Textsequenz verarbeiten muss, ist beispielsweise jedes Wort in der Regel nur mit einer kleinen Teilmenge anderer Wörter in dieser Sequenz verbunden. Dies macht SMoEs zu einem Bereich mit enormem Potenzial im Bereich der LLMs, in dem gut kalibrierte MoE-Modelle die Vorteile der Sparsamkeit nutzen können, ohne an Leistung einzubüßen. Dünn besetzte MoE-Modelle (Sparsely-Gated Mixture-of-Experts) wurden auch erfolgreich auf Aufgaben der Computer Vision angewendet5 6 und bleiben ein aktives Forschungsfeld in diesem Bereich.
Diese Sparsity wird durch bedingte Berechnungen erreicht: die dynamische Aktivierung bestimmter Parameter als Reaktion auf bestimmte Eingaben. Das effektive Design des Gating-Netzes (oder „Routers“), das diese bedingte Berechnung erzwingt, ist daher für den Erfolg von MoE-Modellen von entscheidender Bedeutung.
Eine Reihe von Kontrollmechanismen kann verwendet werden, um auszuwählen, welche Experten in einer bestimmten Situation eingesetzt werden. Die Wahl der richtigen Gating-Funktion ist entscheidend für die Leistung des Modells, denn eine schlechte Routing-Strategie kann dazu führen, dass einige Experten zu wenig trainiert oder zu sehr spezialisiert sind, wodurch die Effizienz des gesamten Netzwerks verringert wird.
Ein typischer Gating-Mechanismus in einem traditionellen MoE-Setup, der in Shazeers bahnbrechender Arbeit vorgestellt wurde, verwendet die Softmax-Funktion: Für jeden der Experten sagt der Router pro Beispiel einen Wahrscheinlichkeitswert (basierend auf der Gewichtung der Verbindungen dieses Experten zum aktuellen Parameter) voraus, dass dieser Experte die beste Ausgabe für eine bestimmte Eingabe liefert. Anstatt die Ausgabe aller Experten zu berechnen, berechnet der Router nur die Ausgabe der besten k Experten für dieses Beispiel. Wie bereits beschrieben, verwendet Mixtral diese klassische Top-k-Routing-Strategie: Insbesondere verwendet es ein Top-2-Routing – also k=2 – und wählt die besten 2 (von insgesamt 8) Experten aus.
In ihrem einflussreichen Artikel von 2021, „Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity“, brachten Fedus et al. das Top-k-Routing auf die Spitze: Bei der Arbeit mit Googles T5 LLM ersetzten sie die FFN-Schichten des Modells durch 128 Experten und implementierten k=1, auch als „hartes Routing“ bezeichnet. Selbst bei einer Skalierung des Modells auf eine Billion Parameter verbesserte diese Konfiguration die Vortraining-Geschwindigkeiten um 400 %.6
Trotz ihrer vielen Vorteile erhöhen MOEs die Komplexität des Trainingsprozesses erheblich. Ein wichtiger Nachteil der „Vanilla“ Top-K-Routing-Strategie ist das Potenzial, dass das Gating-Netz so zusammenläuft, dass nur noch wenige Experten aktiviert werden. Das ist ein sich selbst verstärkendes Problem: Wenn eine Handvoll Experten zu einem frühen Zeitpunkt unverhältnismäßig oft ausgewählt werden, werden diese Experten schneller trainiert und dann immer häufiger ausgewählt, da sie jetzt zuverlässigere Prognosen abgeben als die anderen, weniger trainierten Experten. Diese unausgewogene Verteilung bedeutet, dass andere Experten letztlich – im übertragenen wie im wörtlichen Sinne – als tote Last(en) enden.
Um dies abzumildern, haben Shazeer et al. ein verrauschtes Top-k-Gating eingeführt: Zu den Wahrscheinlichkeitswerten, die für jeden Experten vorhergesagt werden, wird ein gewisses Gaußsches Rauschen hinzugefügt, um eine gewisse Zufälligkeit einzuführen, die eine gleichmäßigere Aktivierung der Experten besser fördert. Sie fügten außerdem zwei trainierbare Regularisierungsbedingungen zur Expertenauswahl hinzu: Die Minimierung des Lastausgleichsverlusts bestraft ein übermäßiges Vertrauen in einen einzelnen Experten, während die Minimierung des Verlusts der Expertenvielfalt die gleichmäßige Nutzung aller Experten belohnt.
Googles Veröffentlichung von 2020, „GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding“, stellte zwei zusätzliche Methoden zum Lastenausgleich vor:
Zufälliges Routing: Während der „Top-Experte“ in ihrem Top-2-Setup mit der Standard-Softmax-Funktion ausgewählt wird, wird der zweite Experte halbzufällig ausgewählt (wobei die Wahrscheinlichkeit, dass ein Experte ausgewählt wird, proportional zum Gewicht seiner Verbindung ist). Der zweithöchste Experte wird somit am wahrscheinlichsten ausgewählt, aber nicht mehr garantiert.
Expertenkapazität: Die Autoren legen einen Schwellenwert fest, der die maximale Anzahl von Token definiert, die von einem einzelnen Experten verarbeitet werden können. Wenn einer der beiden ausgewählten Top-2-Experten an der Kapazitätsgrenze ist, gilt das Token als „übergelaufen“ und wird an die nächste Schicht des Netzwerks weitergeleitet.7
Wie bereits erwähnt, werden die Vorteile von dünn besetzten Modellen mitunter durch ihre zusätzliche Komplexität abgeschwächt. Die Herausforderungen bei der Implementierung von MoEs werden besonders bei der Feinabstimmung deutlich. Dünn besetzte Modelle sind anfälliger für eine Überanpassung als traditionelle dichte Modelle, und das Vorhandensein von dünn besetzten MoE-Schichten und dichten FFN-Schichten erschwert einen einheitlichen Ansatz.
Es wurden verschiedene Beobachtungen und Ansätzen vorgeschlagen, um die Instabilität bei der Feinabstimmung von MoEs zu reduzieren. Die Autoren des Switch Transformers-Artikels beobachteten, dass Varianten mit weniger Experten von einer erfolgreicheren Feinabstimmung profitierten, was darauf hindeutet, dass die Vorteile einer größeren Anzahl von Experten beim Vortraining durch die Behinderung der Spezialisierung auf nachgelagerte Aufgaben zunichte gemacht werden könnten.
Im Artikel von 2022 mit dem Titel „ST-MoE: Designing Stable and Transferable Sparse Expert Models“ verglichen Zoph et al. die Ergebnisse von 5 verschiedenen Ansätzen: Feinabstimmung aller Parameter („All“), nur der Nicht-MoE-Parameter („Non MoE“), nur der MoE-Parameter („MoE“), nur der Self-Attention- und Encoder-Decoder-Attention-Parameter („Attention“) und nur der nicht-MoE-FFN-Parameter („FFN“).
Es wurde fast kein Unterschied zwischen „Alle“ und „Nicht-MoE“ festgestellt
Wenn man nur die Aufmerksamkeitsparameter anpasst, verringert sich die Leistung nur geringfügig.
Die Aktualisierung nur der MoE-Parameter verschlechterte die Modellleistung erheblich, obwohl sich etwa 80 % der Modellparameter in den dünn besetzten MoE-Schichten befanden.
FFN war der einzige Ansatz, der die Leistung im Vergleich zum Ausgangswert „Alle“ verbesserte.
Die Autoren stellten die Hypothese auf, dass die Isolierung von MoE-Parametern zu weniger umfassenden Gewichtungsaktualisierungen (und damit zu einem größeren Overfitting und Trainingsverlust) führt, da die Expertenschichten nur ein Viertel der gesamten Schichten ihres Modells ausmachen und ein Token höchstens zwei Experten pro Schicht sieht.8
Ein Bericht vom Juli 2023, „Mixture-of-Experts Meets Instruction Tuning“, untersucht die Auswirkungen der Anweisungsoptimierung auf MoE-Modelle anhand von Äquivalenten von Googles T5 und Flan-T5 – einer Version von T5-Anweisungen, die mit Googles Flan-Protokoll abgestimmt wurden – mit LLMs als Ausgangsbasis. Ihr Experiment verglich vier Setups: Feinabstimmung eines dichten T5-Modells, Feinabstimmung eines dichten Flan-T5-Modells, Feinabstimmung eines MoE-Modells und Feinabstimmung eines anweisungsoptimierten Flan-MoE-Modells.
Wie erwartet übertraf das dichte T5-Äquivalent das MoE nach der Feinabstimmung. Umgekehrt übertraf jedoch das feinabgestimmte Flan-MoE-Modell das feinabgestimmten Flan-T5-Modell erheblich. Außerdem war die Verbesserung von Flan-MoE im Vergleich zum MoE sogar größer als die Verbesserung von Flan-T5 gegenüber dem ursprünglichen T5.9
Ermutigend ist, dass dies darauf hindeutet, dass MoE-Modelle trotz ihrer Schwierigkeiten mit der standardmäßigen Feinabstimmung tatsächlich mehr von der Anweisungsoptimierung profitieren als ihre dichten Gegenstücke. Diese Erkenntnis wurde mit der gefeierten Veröffentlichung von Mixtral 8x7B Instruct realisiert, einer anweisungsoptimierten Variante von Mixtral, die als Foundation Model in IBM watsonx.ai angeboten wird.
Entdecken Sie IBM Granite, unsere Familie offener, leistungsfähiger und vertrauenswürdiger KI-Modelle, die auf Unternehmen zugeschnitten und für die Skalierung Ihrer KI-Anwendungen optimiert sind. Entdecken Sie die Optionen zu Sprache, Code, Zeitreihen und Guardrails.
Erfahren Sie, wie Sie das für Ihren Anwendungsfall am besten geeignete KI Foundation Model auswählen.
Lesen Sie Artikel, Blogs und Tutorials von IBM Developer, um Ihr Wissen über LLMs zu vertiefen.
Erfahren Sie, wie Sie Teams durch den Einsatz neuester KI- Technologien und -Infrastrukturen zur kontinuierlichen Verbesserung der Modell-Leistung und Steigerung des Wettbewerbsvorsprungs motivieren können.
Erkunden Sie die Foundation-Model-Bibliothek im watsonx-Portfolio von IBM zur zuverlässigen Skalierung generativer KI für Ihr Unternehmen.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.
HINWEIS: Alle Links befinden sich außerhalb von ibm.com
1 „Adaptive Mixtures of Local Experts“, University of Toronto, März 1991
2 „AI Expert Speculates on GPT-4 Architecture“, Weathers and Biases, 21. Juni 2023
3 „Mixtral of Experts“, Mistral AI, 11. Dezember 2023
4 „Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer“, arXiv, 23. Januar 2017
5 „Scaling Vision with Sparse Mixture of Experts“, arXiv, 10. Juni 2021; „MoCaE: Mixture of Calibrated Experts Significantly Improves Object Detection“, Papers with Code, 26. September 2023
6 „Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity“, arXiv, 11. Januar 2021 (zuletzt aktualisiert am 16. Juni 2022)
7 „GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding“, arXiv, 30. Juni 2020
8 „ST-MoE: Designing Stable and Transferable Sparse Expert Models“, arXiv, 17. Februar 2022
9 „Mixture-of-Experts Meets Instruction Tuning: A Winning Combination for Large Language Models“, arXiv, zuletzt aktualisiert am 5. Juli 2023
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io