Optimierung von GLM4-MoE für den Produktivbetrieb: 65 % schnellere TTFT mit SGLang

Optimierung von GLM4-MoE für den Produktivbetrieb: 65 % schnellere TTFT mit SGLang

TL;DR

Novita AI hat eine Reihe von produktionserprobten, hochwirksamen Optimierungen für die Bereitstellung von GLM4-MoE-Modellen auf Basis von SGLANG entwickelt. Wir stellen eine End-to-End-Leistungsoptimierungsstrategie vor, die Engpässe in der gesamten Inferenzpipeline adressiert – von der Kernel-Ausführungseffizienz bis zur Planung des datenübergreifenden Transfers. Durch die Integration von Shared Experts Fusion und Suffix Decoding verzeichnen wir erhebliche Verbesserungen bei zentralen Produktionsmetriken, darunter:

  • bis zu 65 % geringere Time-to-First-Token (TTFT)
  • 22 % bessere Time-Per-Output-Token (TPOT)

bei agentischen Programmierarbeitslasten.

Alle Ergebnisse wurden auf H200-Clustern unter TP8- und FP8-Konfigurationen validiert und bieten ein praxiserprobtes Konzept, um sowohl optimalen Durchsatz als auch geringe Latenz in anspruchsvollen Produktionsumgebungen zu erreichen.

So haben wir die zentralen Produktionsoptimierungen für GLM-MoE implementiert

1. Shared Experts Fusion

image-fotor-20260104102229

Die volle Anerkennung für diese Optimierung gebührt der ursprünglichen Arbeit am Deepseek-Modell. Wie in der obigen Abbildung dargestellt, leiten MoE-Modelle wie GLM4.7 alle Eingabetoken durch einen gemeinsamen Experten, während jedes Token zusätzlich individuell an seinen eigenen Satz von Top-k-Routing-Experten weitergeleitet wird, die vom Router des Modells ausgewählt werden. Die Ausgaben aller Experten werden anschließend gewichtet und aggregiert. GLM4.7 verwendet beispielsweise 160 Routing-Experten neben einem einzigen gemeinsamen Experten und wählt pro Token die besten 8 Routing-Experten aus. In früheren Implementierungen wurden diese beiden Komponenten separat behandelt. Da sie identische Tensorformen und Rechenverfahren verwenden, ist es naheliegend, sie zu vereinheitlichen, indem der gemeinsame Experte in die Routing-MoE-Struktur integriert wird – es werden die besten 9 von insgesamt 161 Experten ausgewählt, wobei der gemeinsame Experte konsequent die 9. Position erhält.

Wie im PR dokumentiert, erzielt diese Optimierung Leistungssteigerungen von bis zu 23,7 % bei der TTFT und 20,8 % bei der ITL. Diese Verbesserungen sind zu erwarten, da die Fusionsoperation unter TP8- und FP8-Konfigurationen – bei denen die Zwischengröße nur 192 beträgt, was für H200-Hardware relativ klein ist – die Auslastung der Streaming-Multiprozessoren (SM) erheblich steigert und den Speicher-I/O-Overhead deutlich reduziert.

2. Qknorm Fusion

Qknorm Fusion

Diese Migration baut auf der Optimierung von Qwen-MoE auf. Die zugrundeliegende Idee ist einfach: Da beide Operatoren kopfweise Berechnungen durchführen, ist es naheliegend, sie zu einem einzigen Kernel zu fusionieren. Unser Beitrag liegt in der Anpassung dieses fusionierten Kernels an den spezifischen Fall der GLM4-MoE-Variante, bei der nur die Hälfte der Dimensionen innerhalb eines Heads rotiert wird.

3. Async Transfer

https://github.com/sgl-project/sglang/pull/14782

Async Transfer

In Szenarien, in denen PD-Disaggregation mit überlappenden Zeitplänen angewendet wird, kann der Durchsatz zwar um etwa 10 % steigen, die TTFT sinkt jedoch deutlich. Wir haben beobachtet, dass in der aktuellen Implementierung des Prefill der Datentransferprozess bis nach dem Start des Kernels für den nächsten Batch verzögert wird. Für ein Modell wie GLM4.7, das aus 92 Schichten besteht, kann der Kernel-Start ohne CUDA Graph zeitaufwändig sein (er dauert oft Hunderte von Millisekunden, teilweise sogar mehr als 1 Sekunde).

Um dies zu beheben, haben wir in unserer Modifikation den Transferschritt leicht vorgezogen und ihn direkt nach Abschluss der entsprechenden GPU-Operationen eingeplant. Zusätzlich wird der Transfer in einem separaten Thread ausgeführt. Durch sorgfältige Handhabung potenzieller Datenwettlaufstrukturen kann er ohne Blockierung des Hauptthreads ablaufen.

Die Leistungssteigerung ist enorm für Modelle mit vielen Kernel-Starts. Bei hoher Arbeitslast kann diese Optimierung bis zu 1 Sekunde bei der TTFT einsparen, wie unten gezeigt.

Produktions-Benchmark-Ergebnisse

Nach der Implementierung der oben beschriebenen Ansätze verzeichneten wir erhebliche Leistungsverbesserungen für GLM-MoE-Modelle, wie die Benchmark-Ergebnisse unten deutlich zeigen.

Benchmark-Konfiguration

  • Eingabelänge: 4096
  • Ausgabelänge: 1000
  • Anforderungsrate: 14 req/s
  • Modell: GLM-4.7 FP8 (TP8)

Ergebnisse

TTFT & E2E Latency

TPOT & Inter-Token Latency

Diese Optimierungen sind nicht nur experimentell – sie wurden bereits im Produktionsinferenzdienst von Novita.ai bereitgestellt und validiert. Wenn Sie nach einem zuverlässigen, latenzarmen GLM-MoE-Backend für reale Arbeitslasten suchen, können Sie es gerne direkt auf novita.ai ausprobieren.

Suffix Decoding

Agentische Programierszenarien (wie Cursor und Claude Code) weisen eine hohe Anzahl an wiederverwendbaren Codemustern auf, die gezielte Leistungsoptimierungen wie Suffix Decoding ermöglichen.

Hintergrund: Der Inferenzengpass bei agentischem Programmieren

LLM-Agenten glänzen bei Aufgaben der Codegenerierung, aber Latenz bleibt eine große Herausforderung. Traditionelles spekulatives Decoding beschleunigt die Inferenz durch die Vorhersage mehrerer Token im Voraus, aber gängige Ansätze erfordern das Training zusätzlicher Entwurfsmodelle, was Engineering-Komplexität einführt.

Wie Suffix Decoding funktioniert

How Suffix Decoding Works

Suffix Decoding verfolgt einen grundlegend anderen Ansatz – es ist vollständig modellfrei:

  • Keine Abhängigkeit von zusätzlichen Modellgewichten
  • Nutzt Muster aus zuvor generierten Ausgabesequenzen, um bevorstehende Token vorherzusagen
  • Wenn das Suffix der aktuellen Anfrage mit einem historischen Muster übereinstimmt, folgt es zur Spekulation dieser historischen Sequenz

Datenvalidierung: Analyse der Wiederholung von Ausgabemustern

Durch die Analyse von 22 Claude-Code-Sitzungen (17.487 Gesprächsrunden) haben wir entdeckt:

  • 39,3 % Wiederholung von Ausgabemustern: Hohe Häufigkeit ähnlicher Tool-Aufrufe und Antwortmuster
  • Hochstrukturierte agentische Verhaltensweisen: Feste Phrasen wie „Lass mich…“, „Jetzt lass mich…“ erscheinen häufig

Um weitere Forschung zu unterstützen, haben wir den Evaluierungsdatensatz auf Hugging Face quelloffen zur Verfügung gestellt: https://huggingface.co/datasets/novita/agentic_code_dataset_22

Leistungsvergleich

Mit integrierter MTP-Beschleunigung reduziert Suffix Decoding die TPOT um weitere 22 % (von 25,13 ms auf 19,63 ms):

Metrik MTP Suffix Decoding Änderung
Mittlere TPOT 25,13 ms 19,63 ms -21,90 %
Median TPOT 25,95 ms 20,05 ms -22,70 %

Fazit

Die Kombination dieser Optimierungen sorgt für umfassende Leistungsverbesserungen bei SGLANG-Bereitstellungen:

  1. Shared Experts Fusion adressiert die Recheneffizienz in MoE-Modellen
  2. QK-Norm-RoPE Fusion reduziert den Overhead beim Kernel-Start
  3. Async Transfer optimiert den Datenfluss in disaggregierten Bereitstellungen
  4. Suffix Decoding nutzt die Wiederholung von Mustern für spekulatives Decoding bei agentischem Programmieren.

Die meisten Komponenten sind bereits upstream zusammengeführt oder werden derzeit integriert; schauen Sie sie sich gerne im SGLang-Repository an.

So reproduzieren Sie die Ergebnisse

Hier werden nur die wichtigsten leistungsrelevanten Parameter gezeigt.

Vollständige Startskripte (Baseline vs. optimiert), Benchmark-Harness und Profiling-Traces sind in unserem GitHub veröffentlicht: https://github.com/novitalabs/sglang/tree/glm\_suffix.

  • Kern-Optimierungsflags (SGLang-Laufzeit)
--tp-size 8
--kv-cache-dtype fp8_e4m3
--attention-backend fa3
--chunked-prefill-size 16384
--enable-flashinfer-allreduce-fusion
--enable-fused-qk-norm-rope
--enable-shared-experts-fusion
--disaggregation-async-transfer
  • Konfiguration für spekulatives Decoding (agentische Programmierarbeitslast)
--speculative-algorithm NEXTN
--speculative-num-steps 3
--speculative-eagle-topk 1
--speculative-num-draft-tokens 4
  • Suffix-Decoding-Konfiguration (optional)
--speculative-algorithm SUFFIX
--speculative-suffix-cache-max-depth 64
--speculative-suffix-max-spec-factor 1.0
--speculative-suffix-min-token-prob 0.1

Referenzen

  1. SGLANG PR #13873: Shared Experts Optimization
  2. Snowflake Engineering Blog: SuffixDecoding at Production Scale
  3. NeurIPS Paper: SuffixDecoding
  4. Arctic Inference Repository

Novita AI ist eine führende KI-Cloud-Plattform, die Entwicklern benutzerfreundliche APIs sowie erschwingliche, zuverlässige GPU-Infrastruktur zum Erstellen und Skalieren von KI-Anwendungen bietet.