Rechner für die Modell-FLOPs-Auslastung
Eingaben
| Arbeitslast | Inferenz (2N pro Token) |
|---|---|
| Parameter | 70 |
| Token-Durchsatz | 2.000 |
| Maximaler Durchsatz | 989 |
Rechner für die Modell-FLOPs-Auslastung
Berechnet die Modell-FLOPs-Auslastung (MFU): den Anteil des maximalen Gleitkommadurchsatzes eines Beschleunigers, den ein Modelllauf tatsächlich erreicht, aus Parameterzahl, Token-Durchsatz und maximalem TFLOP/s.
Eingaben
Arbeitslast
Hardware
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
Modell-FLOPs-Auslastung
Die Modell-FLOPs-Auslastung (MFU, Model FLOPs Utilization) misst, wie viel der theoretischen Rechenleistung eines Beschleunigers ein Modelllauf tatsächlich nutzt. Zwei Cluster mit identischer Hardware können sich in der realen Ausgabe um ein Mehrfaches unterscheiden, und die MFU ist die einzelne Kennzahl, die diese Lücke erfasst: Sie teilt die Gleitkommaoperationen (FLOP, Floating Point Operations), die eine Arbeitslast wirklich ausführt, durch das Maximum, das die Hardware angibt. Dieser Rechner schätzt sie aus der Parameterzahl, dem Token-Durchsatz und dem maximalen TFLOP/s des Beschleunigers.
Was die MFU aussagt
Hardware-Hersteller geben eine Maximalrate an — bei einem aktuellen Rechenzentrumsbeschleuniger in der Größenordnung von tausend 16-Bit-TFLOP/s —, die einen perfekten Strom verschmolzener Multiplikations-Additionen mit bereits in Registern vorliegenden Daten voraussetzt. Keine reale Arbeitslast hält dies aufrecht. Die MFU gibt den erreichten Bruchteil an, sodass eine MFU von 40 % bedeutet, dass der Lauf vierzig Cent Rechenleistung aus jedem Euro theoretischen Maximums herausholt. Sie ist der übliche Maßstab, um zu beurteilen, ob ein Trainings- oder Inferenzaufbau gut optimiert ist, und um zu entscheiden, ob eine Änderung tatsächlich geholfen hat.
Die Formel
Ein Vorwärtsdurchlauf kostet etwa zwei Gleitkommaoperationen pro Parameter und Token; ein Trainingsschritt fügt einen Rückwärtsdurchlauf hinzu für insgesamt etwa sechs. Mit dem Arbeitslastfaktor (zwei für Inferenz, sechs für Training), der Parameterzahl in Milliarden und dem Durchsatz in Token pro Sekunde betragen die erreichte Rate und die Auslastung
AU=1000k⋅N⋅v=PAwobei die erreichte TFLOP/s ist, die maximale TFLOP/s summiert über jeden Beschleuniger im Lauf und die Auslastung. Die Division durch 1000 wandelt eine Milliarde Parameter mal Token pro Sekunde in TFLOP/s um.
Rechenbeispiel
Nehmen wir ein Modell mit 70 Milliarden Parametern, das die Inferenz mit 2000 Token pro Sekunde auf einem einzelnen Beschleuniger mit einer Nennleistung von 989 TFLOP/s dichter 16-Bit-Rechenleistung bedient:
AU=10002×70×2000=280 TFLOP/s=989280≈0.283=28.3%Der Lauf nutzt etwas mehr als ein Viertel des Maximums des Chips — typisch für das speicherbegrenzte Dekodieren, bei dem ein Großteil der Zeit mit dem Lesen von Gewichten statt mit Multiplizieren verbracht wird. Ein gut abgestimmtes Training eines großen Modells, das stärker rechenbegrenzt ist, würde häufiger zwischen 35 % und 55 % liegen.
Warum es nie 100 % erreicht
Reale Läufe verlieren Zeit durch Speichertransfers, Kommunikation zwischen Beschleunigern, Pipeline-Blasen und Schichten wie Attention und Normalisierung, die keine reinen Matrixmultiplikationen sind. Eine perfekte Auslastung würde bedeuten, dass keiner dieser Mehraufwände existiert. Der praktische Nutzen der MFU ist vergleichend: Messen Sie sie vor und nach einer Optimierung auf derselben Arbeitslast und Hardware, und ein höherer Wert bedeutet, dass mehr der Rechenleistung, für die Sie bezahlen, nützliche Arbeit leistet. Die Operationszahl pro Token, die diese Schätzung antreibt, wird im Rechner für FLOPs pro Token näher betrachtet und die Speicherbandbreitenseite derselben Hardware im Inferenz-Durchsatz-Rechner.
Häufig gestellte Fragen (FAQ)
Was gilt als gute MFU?
Beim Training großer Modelle berichten gut abgestimmte Systeme typischerweise eine Modell-FLOPs-Auslastung zwischen etwa 35 % und 55 %; die PaLM-Arbeit, die die Kennzahl bekannt machte, gab rund 46 % an.
Die Inferenzauslastung ist beim speicherbegrenzten Dekodieren meist niedriger, weil der Beschleuniger einen Großteil der Zeit mit dem Lesen von Gewichten statt mit Rechnen verbringt. Es gibt keinen universellen Zielwert — der nützliche Vergleich erfolgt gegen dieselbe Arbeitslast auf derselben Hardware nach einer Optimierung, wobei ein höherer Wert bedeutet, dass mehr der bezahlten Rechenleistung nützliche Arbeit leistet.
Warum sind es beim Training sechs FLOPs pro Parameter, bei der Inferenz aber zwei?
Ein Vorwärtsdurchlauf führt etwa zwei Gleitkommaoperationen pro Parameter und Token aus — eine Multiplikation und eine Addition in den dominierenden Matrixmultiplikationen.
Das Training fügt einen Rückwärtsdurchlauf hinzu, der Gradienten bezüglich sowohl der Aktivierungen als auch der Gewichte berechnet und etwa das Doppelte des Vorwärtsdurchlaufs kostet, was insgesamt rund sechs Operationen pro Parameter und Token ergibt. Dies sind die üblichen Schätzungen erster Ordnung; sie vernachlässigen die Attention und andere Terme, die bei großen Modellen klein sind.
Warum kann die Auslastung keine 100 % erreichen?
Der maximale Durchsatz ist ein theoretischer Wert für aufeinanderfolgende verschmolzene Multiplikations-Additionen mit bereits in Registern vorliegenden Daten.
Reale Läufe verlieren Zeit durch Speichertransfers, Kommunikation zwischen Beschleunigern, Pipeline-Blasen, Attention- und Normalisierungsschichten, die keine reinen Matrixmultiplikationen sind, sowie Kernel, die die Recheneinheiten nicht perfekt auslasten können. Eine Auslastung nahe eins würde bedeuten, dass keiner dieser Mehraufwände existiert, was in der Praxis nie vorkommt.
Haftungsausschluss
Die MFU verwendet FLOP-Schätzungen erster Ordnung (2N für Inferenz, 6N für Training), die die Attention und andere kleinere Terme weglassen, und setzt voraus, dass der Maximalwert zur Genauigkeit und Beschleunigerzahl des Laufs passt. Behandeln Sie sie als vergleichenden Effizienzindikator, nicht als exakte Abrechnung jeder Operation.