Inferact, gegründet vom Kernteam hinter vLLM, hat eine Reihe von Inferenz-Benchmarks veröffentlicht: Auf 16 Google-TPU-v7-Ironwood-Chips erreicht das Kimi-K3-Modell von Moonshot AI beim Single-Stream-Decoding 709 Token pro Sekunde, die Vergleichsgruppe mit 16 Nvidia-GB200-Chips kommt auf 452 – ein Vorsprung von rund 57 Prozent.
Testbericht und Code wurden am 23. September gemeinsam veröffentlicht, das Repository inferact/tpu-megakernels steht unter Apache-2.0-Lizenz offen. Inferact ist ein Startup des vLLM-Teams, das zuvor 150 Millionen US-Dollar in einer Seed-Runde bei einer Bewertung von 800 Millionen US-Dollar eingesammelt hat, angeführt von a16z und Lightspeed.
Auf dem Papier liegt der GB200 vorn
Zunächst die Hardware-Daten auf dem Papier. Laut Bericht liefert ein einzelner TPU-v7-Chip eine BF16-Spitzenleistung von 2,31 PFLOPS, FP8 4,61 PFLOPS, dazu 206 GB HBM mit 7380 GB/s Bandbreite; ein GB200-Chip kommt entsprechend auf 2,5 PFLOPS, 5 PFLOPS, 186 GB HBM und 8000 GB/s Bandbreite. Bei Rechenleistung und Bandbreite liegt der GB200 jeweils klar vorn, die TPU punktet nur bei der Speicherkapazität mit 20 GB mehr.
Kimi K3 ist ein MoE-Modell mit 92 Schichten, dessen Attention-Teil Kimi Delta Attention und Multi-Head Latent Attention (MLA) kombiniert. Der Test nutzt vierfache Tensor-Parallelität und achtfache Experten-Parallelität, verteilt auf 16 Chips.
Reiner Geschwindigkeitsvergleich ohne spekulatives Decoding:
| Batchgröße | TPU v7 (Megakernel) | GB200 (vLLM) |
|---|---|---|
| 1 | 249 | 127 |
| 2 | 392 | 227 |
| 4 | 515 | 373 |
| 8 | 865 | 636 |
Die Einheit ist Token pro Sekunde. Bei Batchgröße 1 ist die TPU fast doppelt so schnell, bei Batchgröße 8 schrumpft der Vorsprung auf etwas über 30 Prozent. Mit dem von DeepSeek vorgeschlagenen spekulativen Decoding-Verfahren DSpark liegt die Single-Stream-Geschwindigkeit bei 709 gegenüber 452, ein einzelner Decoding-Schritt dauert rund 8,5 Millisekunden.
Der Trick: 92 Schichten zu einem Programm verschmelzen
Inferacts Ansatz heißt Megakernel. In gewöhnlichen Inferenz-Frameworks wird die Berechnung jeder Schicht in mehrere unabhängige Kernel aufgeteilt, die nacheinander gestartet werden; zwischen den Kerneln entstehen Lücken, und Gewichte können erst dann vom Speicher zum Chip transportiert werden, wenn der zugehörige Kernel tatsächlich läuft.
Inferact schreibt mit Pallas alle 92 Schichten eines Decoding-Schritts als ein einziges Programm. Laut Bericht hebt ein Megakernel die Grenzen zwischen Kerneln auf: Das Laden von Gewichten ist nicht mehr an den Kernel gebunden, der sie nutzt, sondern kann so weit vorausgeholt werden, wie der Chip-interne Speicher es zulässt. Beim Single-Stream-Decoding wartet der Chip die meiste Zeit auf Daten, genau hier setzt das Vorausladen an; steigt die Batchgröße, wächst der Rechenanteil, und der Vorteil dieser Methode schrumpft – das passt zum Trend in der Tabelle.
Ein Nebeneffekt betrifft die Kompilierzeit: Die Kompilierung über XLA dauerte bisher über 30 Minuten, mit Megakernel sind es unter 90 Sekunden. Um zu belegen, dass das Tempo nicht auf Kosten der Ergebnisqualität geht, liefert der Bericht die Werte von Kimi K3 auf der TPU: 94,4 Prozent bei GPQA-Diamond, 97,2 Prozent bei GSM8K.
Eine grobe Rechnung zur Effizienz pro Recheneinheit
Auf Basis der Single-Stream-Werte mit spekulativem Decoding lässt sich grob rechnen: Die BF16-Spitzenleistung der TPU v7 liegt bei rund 92 Prozent der des GB200, die erzielte Token-Rate aber beim 1,57-Fachen – umgerechnet auf die Recheneinheit ergibt das für die TPU etwa das 1,7-Fache des GB200. Nach Bandbreite umgerechnet liegt das Ergebnis ebenfalls bei rund dem 1,7-Fachen.
Diese Zahl muss man mit Vorbehalt lesen. Auf der GB200-Seite wurde das öffentlich von vLLM veröffentlichte Kimi-K3-Rezept verwendet, ein konventioneller Multi-Kernel-Ansatz ohne vergleichbar aufwendige Megakernel-Optimierung. Der Bericht enthält keinen gleichwertig optimierten GB200-Vergleichswert, sodass sich nicht trennen lässt, wie viel des Vorsprungs von der Hardware und wie viel vom Software-Aufwand stammt. Nvidia hat sich zu den Zahlen bislang nicht geäußert.
Für Moonshot AI liefert dieser Test einen gangbaren Bereitstellungsweg für Kimi K3 auf Nicht-Nvidia-Hardware. Kimi K3 ist ein offenes Modell mit 2,8 Billionen Parametern, dessen Größe die Hürde für ein eigenes Deployment hoch ansetzt; mit dem quelloffenen TPU-Kernel gibt es beim Mieten von TPUs in der Cloud für den Betrieb von K3 nun eine zusätzliche Option.
Quellen: Inferact-Techblog, CocoLoop, Repository inferact/tpu-megakernels, QbitAI; die Durchsatzzahlen folgen dem 16-gegen-16-Chip-Testaufbau aus dem Inferact-Bericht, die Finanzierungsangaben stammen aus öffentlichen Berichten.