Deutsche Nachrichten
Aktuell
KI & Technologie

CUDA Graphs, Reasoning-Modelle und disaggregiertes Serving

Symbolisches Bild von Telekommunikations-Glasfaserkabeln in einem Bodenschacht, keine GPU-Hardware.
Symbolisches Bild von Telekommunikations-Glasfaserkabeln in einem Bodenschacht, keine GPU-Hardware.

Moderne KI-Infrastruktur treibt die Leistung an die physischen Grenzen von Silizium und Clustern, indem sie CPU-Verwaltungsaufwand beseitigt, Reasoning-Schleifen zur Inferenzzeit nutzt und GPU-Cluster phasenspezifisch ansteuert. Diese drei Techniken treiben die heute schnellsten und intelligentesten KI-Systeme im Produktivbetrieb an.

1. CUDA Graphs und Kernel-Fusion: CPU- & Speicheraufwand beseitigen

Da moderne GPUs (wie H100 und B200) exponentiell schneller geworden sind, kann die Ausführung eines einzelnen schlanken GPU-Kernels nur 2 bis 5 Mikrosekunden dauern. Die CPU benötigt jedoch oft 10 bis 20 Mikrosekunden allein für Vorbereitung, Prüfung und Start dieses Kernels über den PCIe-Treiber. Die mehrere Millionen Dollar teure GPU bleibt dabei völlig untätig und wartet auf CPU-Anweisungen.

  • Kernel-Fusion (Operationen kombinieren, um Speicher & Starts einzusparen).
  • Der Engpass ohne Fusion. Eine herkömmliche Transformer-Schicht führt Dutzende winziger Operationen nacheinander aus (z. B. LayerNorm → Linear → Add Residual → GeLU). Ohne Fusion startet die GPU für jeden Schritt einen eigenen Kernel, schreibt Zwischentensoren in den langsamen HBM (VRAM) und liest sie für den nächsten Schritt sofort wieder ein.
  • Fusionierte Ausführung. Compiler wie torch.compile (TorchInductor) und TensorRT-LLM fassen mehrere elementweise und Reduktionsoperationen zu einem einzigen speziellen CUDA/Triton-Kernel zusammen. Werte werden einmal aus dem HBM geladen, in ultraschnellen Registern/SRAM auf dem Chip umgewandelt und erst ganz am Ende in den HBM zurückgeschrieben. Dadurch sinken sowohl der Speicherbandbreitenverkehr als auch die Zahl der Kernel-Starts erheblich.
  • CUDA Graphs (ganze Ausführungs-Pipelines auf einmal erneut abspielen).
  • Aufzeichnen und erneut abspielen. Selbst nach der Kernel-Fusion benötigt ein LLM-Vorwärtsdurchlauf noch Hunderte Kernel-Starts pro erzeugtem Token. CUDA Graphs löst dies, indem eine vollständige Folge von GPU-Operationen, also Kernels, Speicherkopien und Abhängigkeiten, während eines Aufwärmdurchlaufs erfasst und zu einem statischen Ausführungsgraphen kompiliert wird, der direkt im GPU-Speicher liegt.
  • Kein CPU-Eingriff. Während der Echtzeit-Inferenz startet die CPU nicht 300 einzelne Kernels nacheinander, sondern führt einen einzigen API-Aufruf (cudaGraphLaunch) aus, der den gesamten Vorwärtsdurchlauf auf der GPU selbstständig auslöst.
  • Umgang mit dynamischen Formen. Da CUDA Graphs statische Speicheradressen und Tensorformen benötigt, füllen Inferenz-Engines eingehende Batches auf feste Größenklassen auf (z. B. Batchgrößen 1, 2, 4, 8, 16) und aktualisieren die Eingabezeiger direkt an Ort und Stelle, bevor der zuvor erfasste Graph erneut abgespielt wird.

2. Testzeit-Rechenaufwand & Reasoning-Modelle (o1/o3 & DeepSeek-R1)

Früher steigerten KI-Labore die Intelligenz ausschließlich durch mehr Rechenaufwand beim Vortraining (größere Modelle, trainiert auf mehr Internettext). Reasoning-Modelle wie OpenAIs o1/o3 und DeepSeek-R1 erschlossen eine zweite Skalierungsachse: Testzeit-Rechenaufwand (Inferenzzeit-Skalierung), durch den Modelle vor der Antwort länger „nachdenken“ können.

  • Reinforcement Learning für Chain-of-Thought (CoT).
  • Statt sich ausschließlich auf von Menschen geschriebene Beispiele schrittweisen Schlussfolgerns zu verlassen, werden diese Modelle durch großskaliges Reinforcement Learning (RL) (etwa GRPO - Group Relative Policy Optimization in DeepSeek-R1) in überprüfbaren Bereichen wie Mathematik, Programmierung und formaler Logik trainiert.
  • Das Modell erzeugt mehrere mögliche Denkwege, erhält objektive Belohnungen nur dann, wenn seine endgültige Antwort Unit-Tests oder eine mathematische Überprüfung besteht, und entdeckt selbstständig neu entstehende kognitive Verhaltensweisen. Dazu gehören Selbstüberprüfung, Zurückgehen bei einer Sackgasse und das Aufteilen komplexer Probleme in Teilziele.
  • Wie der Inferenz-Rechenaufwand skaliert.
  • Bei einem schwierigen Prompt erzeugt das Modell Tausende interner „Denk-Tokens“ in einem verborgenen Notizbereich, bevor es eine endgültige Antwort ausgibt. Die Genauigkeit verbessert sich logarithmisch, wenn das Modell mehr Inferenz-Tokens zur Untersuchung von Hypothesen einsetzt.
  • Verschiebung des Rechenkompromisses. Bei herkömmlichen LLMs ist Inferenz günstig und schnell (Erzeugung von ~50 Ausgabe-Tokens). Bei Reasoning-Modellen kann eine einzige Anfrage 10.000 bis 50.000 Denk-Tokens erzeugen. Dadurch wird Inferenz zu einer riesigen, anhaltenden Batch-Erzeugungslast, die vom Wachstum des KV-Caches und der Attention-Effizienz bei langen Kontexten bestimmt wird.

3. Disaggregiertes Prefill und Decode

Das Serving eines LLM besteht aus zwei grundsätzlich gegensätzlichen Rechenphasen. Werden beide Phasen auf genau derselben GPU ausgeführt, entstehen schwere Scheduling-Konflikte und eine geringe Hardwareauslastung.

PhaseArt der ArbeitslastHardwareengpassLatenzkennzahl
Prefill (Prompt-Verarbeitung)Verarbeitet alle Prompt-Tokens (z. B. 10.000 Tokens) parallel in einem einzigen Vorwärtsdurchlauf.Rechenleistungsbegrenzt (lastet GPU-Tensor-Cores mit riesigen Matrixmultiplikationen aus).TTFT (Zeit bis zum ersten Token)
Decode (Token-Erzeugung)Erzeugt Ausgabe-Tokens einzeln nacheinander und liest bei jedem Schritt den gesamten KV-Cache.Speicherbandbreitenbegrenzt (Tensor Cores bleiben überwiegend untätig und warten auf VRAM-Lesezugriffe).TPOT (Zeit pro Ausgabe-Token)
  • Das Interferenzproblem bei gemeinsamer Unterbringung.
  • Beim herkömmlichen einheitlichen Serving führt ein riesiges Dokument mit 32.000 Tokens, das ein Nutzer zum Prefill einreicht, während 50 andere Nutzer gerade Decode-Tokens als Stream erhalten, zu Problemen: Die gewaltige Prefill-Matrixberechnung belegt die Tensor Cores der GPU und verursacht spürbare Unterbrechungen und Latenzspitzen („Ruckeln“) bei allen 50 Nutzern mit laufendem Stream.
  • Außerdem benötigt Prefill hohe Rechenleistung in FLOPs, während Decode enorme HBM-Speicherbandbreite und genügend Kapazität für die KV-Caches großer Batches braucht.
  • Aufteilung des Clusters (disaggregierte Architektur).
  • Moderne Hyperscale-Inferenzsysteme (wie Mooncake, DistServe und NVIDIA Dynamo) teilen den GPU-Cluster in zwei spezialisierte Pools auf:
  • 1. Prefill-Pool: Auf reinen Rechendurchsatz optimiert (hohe Tensor-Core-Auslastung, kleinerer Tensorparallelismus), um lange Prompts rasch zu verarbeiten und anspruchsvolle Ziele für die Zeit bis zum ersten Token (TTFT) zu erreichen.
  • 2. Decode-Pool: Auf hohe Speicherbandbreite und große KV-Cache-Kapazität optimiert (breiterer Tensor-/Expertenparallelismus, große Batches), um Tokens gleichmäßig mit maximalen Tokens pro Sekunde zu streamen.
  • Schnelle KV-Cache-Übertragung. Sobald eine Prefill-GPU einen Prompt vollständig verarbeitet und den anfänglichen KV-Cache aufgebaut hat, überträgt sie diesen KV-Cache direkt über ultraschnelle NVLink- oder InfiniBand-RDMA-Verbindungen in den VRAM einer Decode-GPU. Diese übernimmt sofort und ohne jede Interferenz die Token-Erzeugung.

Weitere Nachrichten: KI & Technologie