PyTorch betreibt Metas 816B Muse Spark Open auf einem TPU-v7-Host

PyTorch zufolge lässt sich Metas Mixture-of-Experts-Modell Muse Spark Open mit 816B Parametern auf einem einzelnen TPU-v7-Host mit vier Chips betreiben. Das System nutzt SGLang-TorchTPU und einen Megakernel, der in jedem Pallas-Programm alle 62 Modellschichten für jeden Decode- oder Verify-Schritt ausführt.
- Muse Spark Open verfügt über 816B Parameter, davon sind pro Token etwa 42B aktiv.
- Das System betreibt das Modell auf einem TPU-v7-Host mit vier Chips und acht Geräten.
- Ein einzelner Pallas-Megakernel führt bei jedem Decode- oder Verify-Schritt alle 62 Schichten aus.
- PyTorch meldet bei einer gleichzeitig bearbeiteten Anfrage eine 1,94-mal höhere Leistung pro Token.
- Die AgentX-Ergebnisse erreichten 25.906 Tokens pro Sekunde und TPU-v7-Chip.
Ein Programm ersetzt zahlreiche Kernel-Grenzen
Muse Spark Open verfügt insgesamt über 816B Parameter, davon sind pro Token etwa 42B aktiv. Alle 62 Decoder-Schichten sind Mixture-of-Experts-Schichten. Jede Schicht leitet jedes Token an 8 von 256 Experten weiter. Zugleich kombiniert das Modell eine Sliding-Window-Aufmerksamkeit über die letzten 2.048 Tokens mit einer Kontextaufmerksamkeit, die bis zu 1M Tokens erreicht.
PyTorch zufolge führte der frühere Bereitstellungspfad jede Schicht als mehrere Kernel und Kollektivoperationen aus. Diese Programmgrenzen unterbrachen den Fluss der Gewichte aus dem Speicher mit hoher Bandbreite. Der neue Megakernel führt den gesamten Decode- oder Verify-Schritt auf jedem Gerät als ein Pallas-Programm aus. SGLang übernimmt weiterhin Aufgaben im Umfeld, etwa Embedding, Draft-Modell, Sprachmodellkopf und Sampling.
Innerhalb des Megakernels werden das Laden der Gewichte, KV-Cache-Lesevorgänge und geräteübergreifende Transfers mit der Berechnung parallelisiert. Dichte Gewichte werden durch einen Ring aus Kacheln gestreamt, ausgewählte Experteng ewichte werden angefordert, sobald das Routing abgeschlossen ist, und Remote-DMA-Operationen verschieben Teilergebnisse zwischen den Geräten, ohne auf separate Kollektivoperationen zu warten.
Gemeldete Verbesserungen bei Decoding und Verifikation
Nach Angaben von PyTorch halbiert der Megakernel die Zeit pro ausgegebenem Token bei einer oder zwei gleichzeitig bearbeiteten Anfragen, wo die Optimierung am stärksten wirkt. Mit zunehmender Parallelität fällt der Vorteil geringer aus. In einer Messung mit spekulativem Decoding durch DFlash2 war der Megakernel bei einer Anfrage pro ausgegebenem Token 1,94-mal schneller als der native Pfad: 1,95 ms gegenüber 3,78 ms. Bei zwei gleichzeitig bearbeiteten Anfragen war er 1,85-mal schneller.
PyTorch zufolge benötigte der native Verify-Schritt 2,9-mal so viel Zeit wie das Streamen der unterschiedlichen Experten und dichten Gewichte des Schritts aus dem HBM. Der optimierte Verify-Schritt liegt beim 1,5- bis 1,7-Fachen dieser Zeit für das Streaming der Gewichte. Der Beitrag führt die Verbesserung auf den geringeren Overhead durch Kollektivoperationen und darauf zurück, dass Speichertransfers während der Berechnung durch die Matrixeinheiten weiterlaufen.
Das TPU-v7-Setup nutzt acht sichtbare Geräte, weil jeder der vier Chips des Hosts über zwei Chiplets verfügt. Das Modell wird per Tensor-Parallelismus auf acht Geräte verteilt, wobei jedem Gerät ein Shard zugewiesen wird. Jeder Chip verfügt über 192 GiB HBM, der Host mit vier Chips über 960 GB DRAM für die L2-HiCache-Ebene.
Agentic-Coding-Benchmark und Abwägungen beim Betrieb
PyTorch berichtet außerdem Ergebnisse der 1M-Kontextversion des Agentic-Coding-Benchmarks AgentX von SemiAnalysis. Der Benchmark basiert auf 393 freiwillig bereitgestellten Claude-Code-Sitzungen und bildet Anfragegrößen, Präfix-Sharing zwischen Turns, Tool-Pausen und die Struktur von Subagenten nach. Dabei werden synthetische Tokens statt der ursprünglichen Inhalte verwendet.
Auf der gemeldeten Kurve erreichte das TPU-v7-System 433 ausgegebene Tokens pro Sekunde und Anfrage bei 6.101 Tokens pro Sekunde und Chip. Bei 95 ausgegebenen Tokens pro Sekunde und Anfrage stieg der Wert auf 25.906 Tokens pro Sekunde und Chip. Jeder TPU-Punkt in der Abbildung schloss die Anfragen beim p90 innerhalb von 47 Sekunden ab. Für den Vergleich werden die von InferenceX ausgewiesenen Kosten von 1,21 $ pro TPU-v7-Chipstunde und 1,86 $ pro GB200-GPU-Stunde verwendet. Die GB200-Baseline basiert auf den von InferenceX veröffentlichten Ergebnissen vom 2026-11-02.
Für Nutzer und Betreiber von Bereitstellungsinfrastrukturen zeigt die Arbeit, wie die TPU-v7-Implementierung sowohl auf eine geringe Decode-Latenz bei niedriger Parallelität als auch auf Workloads mit langen Kontexten zielt. PyTorch beschreibt außerdem weitere Optimierungen für die KV-Cache-Kapazität und das Prefill, darunter ein Sequence-on-Lane-KV-Layout, L2 HiCache mit sitzungsbewusster Ausmusterung, einen fusionierten MoE-Kernel und Sequence-Parallelismus.
PyTorch: Optimizing Muse Spark Open on TPU v7 with SGLang-TorchTPU


