Mixture of Experts
Viele Parameter, wenig Rechenaufwand: wie ein Router einen kleinen Teil des Modells je Token auswählt und welche Kosten das an anderer Stelle erzeugt.
Die Idee
Statt einer großen Abteilung, die jede Anfrage bearbeitet, gibt es viele Fachreferate. Ein Verteiler entscheidet je Anfrage, welche zwei Referate zuständig sind. Das Haus insgesamt weiß sehr viel, aber jede Anfrage beschäftigt nur einen kleinen Teil davon.
Was das bringt
| Dichtes Modell | Mixture of Experts | |
|---|---|---|
| Gesamtparameter | 70 Mrd. | 140 Mrd. |
| Je Token gerechnet | 70 Mrd. | 17 Mrd. |
| Speicherbedarf | 140 GB | 280 GB |
| Rechenzeit je Token | hoch | niedrig |
Der Router
Je Token berechnet eine kleine Matrix eine Punktzahl für jeden Experten. Die
besten k werden ausgewählt, ihre Ausgaben gewichtet addiert. Üblich ist k = 1
oder k = 2.
Das eigentliche Problem ist die Gleichverteilung. Ohne Gegenmaßnahme verstärkt sich eine anfängliche Bevorzugung selbst: Ein Experte, der öfter gewählt wird, wird besser, wird deshalb noch öfter gewählt, und die übrigen verkümmern.
- Einen Hilfsverlust einsetzen, der ungleiche Auslastung bestraft.
- Eine Kapazitätsgrenze je Experte setzen; überzählige Token werden weitergeleitet oder verworfen.
- Die Auslastungsverteilung während des Trainings überwachen, nicht erst danach.
Die Formeln
Das Minimum dieses Terms liegt bei gleichmäßiger Verteilung. Ohne ihn kollabiert das Routing in der Praxis binnen weniger tausend Schritten.
Die Rechnung
Für ein Modell mit 64 Experten, k = 2, Zwischenbreite f = 8h/3:
| Größe | Wert |
|---|---|
| Experten je Schicht | 64 |
| Je Token gerechnet | 2 |
| Anteil aktiver Zwischenschicht-Parameter | 2/64 = 3,1 % |
| Rechenaufwand je Token gegenüber dicht | ungefähr gleich wie ein Modell mit 2/64 der Zwischenschicht |
Praktisch erreicht ein solches Modell die Güte eines dichten Modells mit etwa der
Wurzel aus dem Produkt von Gesamt- und aktiven Parametern. Bei 140 Milliarden
gesamt und 17 Milliarden aktiv entspricht das grob einem dichten Modell mit rund
√(140 × 17) ≈ 49 Milliarden Parametern, bei den Rechenkosten eines
17-Milliarden-Modells.
Betriebliche Folgen
- Der Speicherbedarf richtet sich nach den Gesamtparametern. Für Randgeräte und kleine Installationen ungeeignet.
- Im verteilten Betrieb entsteht zusätzlicher Netzverkehr, weil Token zu den Karten mit den zuständigen Experten geschickt werden.
- Die Latenz schwankt stärker als bei dichten Modellen, weil die Auslastung der Experten je Batch variiert.
- Quantisierung wirkt gut, weil der Speicher der begrenzende Faktor ist. Ein solches Modell in int4 ist oft die einzige praktikable Form für den Eigenbetrieb.
Passende Kurse und Quellen
Switch Transformers
Nur ein Bruchteil der Parameter rechnet je Token mit. Die Arbeit, die Mixture-of-Experts in die Breite gebracht hat.
Für das Verständnis, warum große Modelle nicht alle Parameter je Token mitrechnen.