Künstliche Intelligenz
Der Aufstieg der Expertenmischung für effiziente große Sprachmodelle

By
Aayush Mittal mittal
In der Welt der Verarbeitung natürlicher Sprache (NLP) war das Streben nach der Entwicklung größerer und leistungsfähigerer Sprachmodelle eine treibende Kraft hinter vielen jüngsten Fortschritten. Mit zunehmender Größe dieser Modelle werden jedoch die Rechenanforderungen für Training und Inferenz immer anspruchsvoller und stoßen an die Grenzen der verfügbaren Hardwareressourcen.
Hier kommt Mixture-of-Experts (MoE) ins Spiel, eine Technik, die diesen Rechenaufwand verringert und gleichzeitig das Training größerer und leistungsfähigerer Sprachmodelle ermöglicht. Im Folgenden besprechen wir MoE, seine Ursprünge, seine Funktionsweise und seine Anwendung in transformatorbasierten Sprachmodellen.
Die Ursprünge der Expertenmischung
Das Konzept des Mixture-of-Experts (MoE) lässt sich bis in die frühen 1990er Jahre zurückverfolgen, als Forscher die Idee der bedingten Berechnung untersuchten, bei der Teile eines neuronalen Netzwerks basierend auf den Eingabedaten selektiv aktiviert werden. Eine der Pionierarbeiten auf diesem Gebiet war die „Adaptive Mischung lokaler Experten” Artikel von Jacobs et al. im Jahr 1991, das einen überwachten Lernrahmen für ein Ensemble neuronaler Netze vorschlug, von denen jedes auf einen anderen Bereich des Eingaberaums spezialisiert ist.
Die Kernidee von MoE besteht darin, über mehrere „Experten“-Netzwerke zu verfügen, von denen jedes für die Verarbeitung einer Teilmenge der Eingabedaten verantwortlich ist. Ein Gating-Mechanismus, typischerweise ein neuronales Netzwerk selbst, bestimmt, welcher Experte eine bestimmte Eingabe verarbeiten soll. Dieser Ansatz ermöglicht es dem Modell, seine Rechenressourcen effizienter zuzuweisen, indem nur die relevanten Experten für jede Eingabe aktiviert werden, anstatt die volle Modellkapazität für jede Eingabe zu nutzen.
Im Laufe der Jahre erforschten und erweiterten verschiedene Forscher die Idee der bedingten Berechnung, was zu Entwicklungen wie hierarchischen MoEs, Approximationen mit niedrigem Rang für bedingte Berechnungen und Techniken zur Schätzung von Gradienten durch stochastische Neuronen und Aktivierungsfunktionen mit harten Schwellenwerten führte.
Mischung aus Experten für Transformatoren
Während die Idee von MoE gibt es schon seit Jahrzehnten, seine Anwendung auf transformatorbasierte Sprachmodelle ist relativ neu. Transformer, die zum De-facto-Standard für hochmoderne Sprachmodelle geworden sind, bestehen aus mehreren Schichten, von denen jede einen Selbstaufmerksamkeitsmechanismus und ein Feed-Forward-Neuronales Netzwerk (FFN) enthält.
Die wichtigste Innovation bei der Anwendung von MoE auf Transformatoren besteht darin, die dichten FFN-Schichten durch spärliche MoE-Schichten zu ersetzen, die jeweils aus mehreren Experten-FFNs und einem Gating-Mechanismus bestehen. Der Gating-Mechanismus bestimmt, welcher Experte bzw. welche Experten jedes Eingabetoken verarbeiten sollen, sodass das Modell selektiv nur eine Teilmenge von Experten für eine bestimmte Eingabesequenz aktivieren kann.
Eine der frühen Arbeiten, die das Potenzial von MoE in Transformatoren demonstrierte, war das Papier „Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer“ von Shazeer et al. im Jahr 2017. Diese Arbeit führte das Konzept einer MoE-Schicht mit geringer Gattersteuerung ein, die einen Gating-Mechanismus verwendete, der dem Expertenauswahlprozess Sparsamkeit und Rauschen hinzufügte und sicherstellte, dass für jede Eingabe nur eine Teilmenge von Experten aktiviert wurde.
Seitdem haben mehrere andere Arbeiten die Anwendung von MoE auf Transformatoren weiter vorangetrieben und dabei Herausforderungen wie Trainingsinstabilität, Lastausgleich und effiziente Inferenz angegangen. Bemerkenswerte Beispiele sind die Transformator schalten (Fedus et al., 2021), ST-MoE (Zoph et al., 2022) und GLAM (Du et al., 2022).
Vorteile einer Expertenmischung für Sprachmodelle
Der Hauptvorteil des Einsatzes von MoE in Sprachmodellen besteht in der Möglichkeit, die Modellgröße zu vergrößern und gleichzeitig einen relativ konstanten Rechenaufwand während der Inferenz aufrechtzuerhalten. Durch die selektive Aktivierung nur einer Teilmenge von Experten für jedes Eingabe-Token können MoE-Modelle die Ausdruckskraft viel größerer dichter Modelle erreichen und gleichzeitig deutlich weniger Rechenaufwand erfordern.
Betrachten Sie beispielsweise ein Sprachmodell mit einer dichten FFN-Schicht mit 7 Milliarden Parametern. Wenn wir diese Schicht durch eine MoE-Schicht bestehend aus acht Experten mit jeweils 7 Milliarden Parametern ersetzen, erhöht sich die Gesamtzahl der Parameter auf 56 Milliarden. Wenn wir jedoch während der Inferenz nur zwei Experten pro Token aktivieren, entspricht der Rechenaufwand einem 14-Milliarden-Parameter-dichten Modell, da es zwei 7-Milliarden-Parameter-Matrixmultiplikationen berechnet.
Diese Recheneffizienz während der Inferenz ist besonders wertvoll in Bereitstellungsszenarien, in denen die Ressourcen begrenzt sind, wie z. B. mobile Geräte oder Edge-Computing-Umgebungen. Darüber hinaus kann der geringere Rechenaufwand während des Trainings zu erheblichen Energieeinsparungen und einem geringeren CO2-Fußabdruck führen, was der wachsenden Bedeutung nachhaltiger KI-Praktiken entspricht.
Herausforderungen und Überlegungen
Während MoE-Modelle überzeugende Vorteile bieten, bringen ihre Einführung und Bereitstellung auch mehrere Herausforderungen und Überlegungen mit sich:
- Trainingsinstabilität: Es ist bekannt, dass MoE-Modelle im Vergleich zu ihren dichten Gegenstücken anfälliger für Trainingsinstabilitäten sind. Dieses Problem ergibt sich aus der spärlichen und bedingten Natur der Expertenaktivierungen, die zu Herausforderungen bei der Gradientenausbreitung und Konvergenz führen können. Techniken wie der Router-Z-Loss (Zoph et al., 2022) wurden vorgeschlagen, um diese Instabilitäten abzumildern, es sind jedoch noch weitere Untersuchungen erforderlich.
- Feinabstimmung und Überanpassung: MoE-Modelle tendieren während der Feinabstimmung leichter zu einer Überanpassung, insbesondere wenn die nachgelagerte Aufgabe einen relativ kleinen Datensatz hat. Dieses Verhalten wird auf die erhöhte Kapazität und die geringe Dichte von MoE-Modellen zurückgeführt, was zu einer Überspezialisierung der Trainingsdaten führen kann. Um dieses Problem zu entschärfen, sind sorgfältige Regularisierungs- und Feinabstimmungsstrategien erforderlich.
- Speicherbedarf: Während MoE-Modelle die Rechenkosten während der Inferenz reduzieren können, haben sie im Vergleich zu dichten Modellen ähnlicher Größe oft einen höheren Speicherbedarf. Dies liegt daran, dass alle Expertengewichte in den Speicher geladen werden müssen, auch wenn für jede Eingabe nur eine Teilmenge aktiviert ist. Speicherbeschränkungen können die Skalierbarkeit von MoE-Modellen auf Geräten mit eingeschränkten Ressourcen einschränken.
- Load Balancing: Um eine optimale Recheneffizienz zu erreichen, ist es wichtig, die Last auf die Experten auszugleichen und sicherzustellen, dass kein einzelner Experte überlastet wird, während andere nicht ausgelastet bleiben. Dieser Lastausgleich wird typischerweise durch Hilfsverluste während des Trainings und eine sorgfältige Abstimmung des Kapazitätsfaktors erreicht, der die maximale Anzahl von Token bestimmt, die jedem Experten zugewiesen werden können.
- Kommunikationsaufwand: In verteilten Trainings- und Inferenzszenarien können MoE-Modelle zusätzlichen Kommunikationsaufwand verursachen, da Aktivierungs- und Gradienteninformationen zwischen Experten ausgetauscht werden müssen, die sich auf verschiedenen Geräten oder Beschleunigern befinden. Effiziente Kommunikationsstrategien und hardwarebewusstes Modelldesign sind unerlässlich, um diesen Overhead zu verringern.
Trotz dieser Herausforderungen haben die potenziellen Vorteile von MoE-Modellen bei der Ermöglichung größerer und leistungsfähigerer Sprachmodelle zu erheblichen Forschungsanstrengungen geführt, um diese Probleme anzugehen und zu entschärfen.
Beispiel: Mixtral 8x7B und GLaM
Um die praktische Anwendung von MoE in Sprachmodellen zu veranschaulichen, betrachten wir zwei bemerkenswerte Beispiele: Mixtral 8x7B und GLaM.
Mixtral 8x7B ist eine MoE-Variante des Mistral-Sprachmodell, entwickelt von Anthropic. Es besteht aus acht Experten mit jeweils 7 Milliarden Parametern, was insgesamt 56 Milliarden Parameter ergibt. Während der Inferenz werden jedoch nur zwei Experten pro Token aktiviert, wodurch der Rechenaufwand effektiv auf den eines Modells mit einer Dichte von 14 Milliarden Parametern reduziert wird.
Mixtral 8x7B hat eine beeindruckende Leistung gezeigt, indem es das 70-Milliarden-Parameter-Llama-Modell übertrifft und gleichzeitig viel schnellere Inferenzzeiten bietet. Außerdem wurde eine auf Anweisungen abgestimmte Version von Mixtral 8x7B namens Mixtral-8x7B-Instruct-v0.1 veröffentlicht, die seine Fähigkeiten bei der Befolgung von Anweisungen in natürlicher Sprache weiter verbessert.
Ein weiteres bemerkenswertes Beispiel ist GLaM (Google Language Model), ein groß angelegtes MoE-Modell, das von Google entwickelt wurde. GLaM verwendet eine reine Decoder-Transformer-Architektur und wurde auf einem riesigen 1.6 Billionen Token-Datensatz trainiert. Das Modell erreicht eine beeindruckende Leistung bei Few-Shot- und One-Shot-Bewertungen und erreicht die Qualität von GPT-3, während es nur ein Drittel der Energie verbraucht, die zum Trainieren von GPT-3 erforderlich ist.
Der Erfolg von GLaM ist auf die effiziente MoE-Architektur zurückzuführen, die das Training eines Modells mit einer großen Anzahl von Parametern bei gleichzeitig angemessenem Rechenaufwand ermöglicht. Das Modell demonstrierte zudem das Potenzial von MoE-Modellen, im Vergleich zu ihren dichten Gegenstücken energieeffizienter und umweltverträglicher zu sein.
Die Grok-1-Architektur
Grok-1 ist ein transformatorbasiertes MoE-Modell mit einer einzigartigen Architektur, die auf maximale Effizienz und Leistung ausgelegt ist. Sehen wir uns die wichtigsten Spezifikationen an:
- Kenngrößen: Mit unglaublichen 314 Milliarden Parametern ist Grok-1 das bislang größte offene LLM. Dank der MoE-Architektur sind jedoch jeweils nur 25 % der Gewichte (ca. 86 Milliarden Parameter) aktiv, was die Verarbeitungsfähigkeiten verbessert.
- Architektur: Grok-1 verwendet eine Mixture-of-8-Experts-Architektur, wobei jedes Token während der Inferenz von zwei Experten verarbeitet wird.
- Schichten: Das Modell besteht aus 64 Transformatorschichten, die jeweils Multihead-Aufmerksamkeit und dichte Blöcke enthalten.
- Tokenisierung: Grok-1 verwendet einen SentencePiece-Tokenizer mit einer Vokabulargröße von 131,072 Token.
- Einbettungen und Positionskodierung: Das Modell verfügt über 6,144-dimensionale Einbettungen und verwendet rotierende Positionseinbettungen, was eine dynamischere Interpretation von Daten im Vergleich zu herkömmlichen festen Positionseinbettungen ermöglicht.
- Achtung ! : Grok-1 verwendet 48 Aufmerksamkeitsköpfe für Abfragen und 8 Aufmerksamkeitsköpfe für Schlüssel und Werte mit einer Größe von jeweils 128.
- Kontextlänge: Das Modell kann Sequenzen mit einer Länge von bis zu 8,192 Token verarbeiten und nutzt dabei die Genauigkeit von bfloat16 für eine effiziente Berechnung.
Leistungs- und Implementierungsdetails
Grok-1 hat eine beeindruckende Leistung gezeigt und LLaMa 2 70B und Mixtral 8x7B mit einem MMLU-Score von 73 % übertroffen und seine Effizienz und Genauigkeit in verschiedenen Tests unter Beweis gestellt.
Es ist jedoch wichtig zu beachten, dass Grok-1 aufgrund seiner schieren Größe erhebliche GPU-Ressourcen benötigt. Die aktuelle Implementierung in der Open-Source-Version konzentriert sich auf die Validierung der Modellkorrektheit und verwendet eine ineffiziente MoE-Layer-Implementierung, um die Notwendigkeit benutzerdefinierter Kernel zu vermeiden.
Dennoch unterstützt das Modell Aktivierungs-Sharding und 8-Bit-Quantisierung, was die Leistung optimieren und den Speicherbedarf reduzieren kann.
In einem bemerkenswerten Schritt xAI hat Grok-1 veröffentlicht unter der Apache 2.0-Lizenz, wodurch seine Gewichte und Architektur der globalen Community zur Nutzung und Beiträgen zugänglich gemacht werden.
Die Open-Source-Version enthält ein JAX-Beispielcode-Repository, das zeigt, wie das Grok-1-Modell geladen und ausgeführt wird. Benutzer können die Checkpoint-Gewichte über einen Torrent-Client oder direkt über den HuggingFace Hub herunterladen und so einen einfachen Zugriff auf dieses bahnbrechende Modell ermöglichen.
Die Zukunft der Expertenmischung in Sprachmodellen
Da die Nachfrage nach größeren und leistungsfähigeren Sprachmodellen weiter wächst, wird erwartet, dass die Einführung von MoE-Techniken weiter an Dynamik gewinnt. Die laufenden Forschungsbemühungen konzentrieren sich auf die Bewältigung der verbleibenden Herausforderungen, wie z. B. die Verbesserung der Trainingsstabilität, die Verringerung von Überanpassungen während der Feinabstimmung und die Optimierung von Gedächtnis- und Kommunikationsanforderungen.
Eine vielversprechende Richtung ist die Erforschung hierarchischer MoE-Architekturen, bei denen jeder Experte selbst aus mehreren Unterexperten besteht. Dieser Ansatz könnte möglicherweise eine noch größere Skalierbarkeit und Recheneffizienz ermöglichen und gleichzeitig die Ausdruckskraft großer Modelle beibehalten.
Darüber hinaus ist die Entwicklung von für MoE-Modelle optimierten Hardware- und Softwaresystemen ein aktives Forschungsgebiet. Spezialisierte Beschleuniger und verteilte Trainings-Frameworks, die darauf ausgelegt sind, die spärlichen und bedingten Berechnungsmuster von MoE-Modellen effizient zu handhaben, könnten deren Leistung und Skalierbarkeit weiter verbessern.
Darüber hinaus könnte die Integration von MoE-Techniken mit anderen Fortschritten in der Sprachmodellierung, wie z. B. Mechanismen mit geringer Aufmerksamkeit, effizienten Tokenisierungsstrategien und multimodalen Darstellungen, zu noch leistungsfähigeren und vielseitigeren Sprachmodellen führen, die ein breites Spektrum an Aufgaben bewältigen können.
Fazit
Die Mixture-of-Experts-Technik hat sich als leistungsstarkes Werkzeug bei der Suche nach größeren und leistungsfähigeren Sprachmodellen herausgestellt. Durch die selektive Aktivierung von Experten auf der Grundlage der Eingabedaten bieten MoE-Modelle eine vielversprechende Lösung für die rechnerischen Herausforderungen, die mit der Skalierung dichter Modelle verbunden sind. Während noch Herausforderungen zu bewältigen sind, wie z. B. Trainingsinstabilität, Überanpassung und Speicherbedarf, machen die potenziellen Vorteile von MoE-Modellen in Bezug auf Recheneffizienz, Skalierbarkeit und Umweltverträglichkeit sie zu einem spannenden Forschungs- und Entwicklungsbereich.
Da der Bereich der Verarbeitung natürlicher Sprache weiterhin die Grenzen des Möglichen verschiebt, wird die Einführung von MoE-Techniken wahrscheinlich eine entscheidende Rolle bei der Ermöglichung der nächsten Generation von Sprachmodellen spielen. Durch die Kombination von MoE mit anderen Fortschritten in der Modellarchitektur, Trainingstechniken und Hardwareoptimierung können wir uns auf noch leistungsfähigere und vielseitigere Sprachmodelle freuen, die Menschen wirklich verstehen und auf natürliche und nahtlose Weise mit ihnen kommunizieren können.
Ich habe die letzten fünf Jahre damit verbracht, in die faszinierende Welt des maschinellen Lernens und des Deep Learning einzutauchen. Meine Leidenschaft und mein Fachwissen haben dazu geführt, dass ich an über 50 verschiedenen Software-Engineering-Projekten mitgewirkt habe, mit besonderem Schwerpunkt auf KI/ML. Meine anhaltende Neugier hat mich auch zur Verarbeitung natürlicher Sprache geführt, einem Bereich, den ich gerne weiter erforschen möchte.
Vielleicht gefällt dir
-
Das Ende der Skalierungsära: Warum algorithmische Durchbrüche wichtiger sind als die Modellgröße
-
Vorbereitung auf Werbung in großen Sprachmodellen
-
Sprachmodelle ändern ihre Antworten je nach Sprechweise
-
Personalisierte Sprachmodelle sind leicht zu erstellen – und schwerer zu erkennen
-
Die Zukunft der Werbung nach einem KI-Traffic-Coup
-
So bringen Sie ChatGPT dazu, normal zu sprechen