HyperAIHyperAI

Command Palette

Search for a command to run...

GPU: Prefill und Decode sollten getrennt werden

Die Effizienz von GPU-Clustern für die Echtzeit-Inferenz von Large Language Models (LLMs) leidet unter einem fundamentalen Missverhältnis der Arbeitslast. Traditionelle monolithische Ansätze, bei denen die gleichen GPUs sowohl die Prefill- als auch die Decode-Phase verarbeiten, verursachen massive Ressourcenverschwendung. Während die Prefill-Phase, bei der der gesamte Eingabetext parallel verarbeitet wird, rechenintensiv ist und Tensor-Kerne mit hoher Auslastung nutzt, ist die Decode-Phase, bei der Token nacheinander generiert werden, speicherbandbreitenbeschränkt und lässt die Rechenleistung weitgehend untätig. Unternehmen, die große Modelle wie Llama 70B auf H100-GPUs betreiben, stellen fest, dass die GPU-Auslastung während des Pre-fills bei etwa 92 Prozent liegt, während sie während des Dekodierens auf unter 30 Prozent einbricht. Da die Inferenz-Anfrage zu neunzig Prozent ihrer Laufzeit im Decode-Zustand verbringt, werden teure Rechenkapazitäten weitgehend ungenutzt. Dies führt zu einer Überprovisionierung: Unternehmen zahlen für Leistung, die sie in diesem Arbeitszustand nicht benötigen, während gleichzeitig die Latenz durch Interferenzen zwischen beiden Phasen leidet. Die Lösung liegt in der diskontinuierlichen oder disaggregierten Inferenz, einem Konzept, das erstmals durch Forschungspapiere wie DistServe populär wurde und mittlerweile von großen Tech-Firmen wie Perplexity, Meta und NVIDIA in der Praxis umgesetzt wird. Bei diesem Ansatz werden die zwei Phasen auf separaten Hardware-Pools aufgeteilt, die spezifisch auf ihre jeweiligen Anforderungen optimiert sind. Ein dedizierter Prefill-Pool besteht aus GPUs, die für hohe Matrixmultiplikationen und Rechenleistung ausgelegt sind, während der Decode-Pool auf Modelle mit maximalem Speicherbandbreite und großem HBM-Speicher fokussiert ist. Eine intelligente Router-Komponente leitet Anfragen zunächst an einen Prefill-Worker, der den Eingabetext verarbeitet und einen Key-Value-Cache erstellt. Dieser Cache wird dann über ein Hochgeschwindigkeitsnetzwerk, idealerweise mit RDMA-Unterstützung, an einen frei werdenden Decode-Worker übertragen, der die Textgenerierung übernimmt. Dieser Architektuwechsel ermöglicht es, die Hardwarekosten erheblich zu senken, da keine GPU mehr für beide Phasen überdimensioniert sein muss. Unternehmen können den Prefill-Pool auf rechenoptimierte Instanzen und den Decode-Pool auf speicheroptimierte Instanzen setzen. Studien und Produktionsdaten zeigen Infrastrukturreduzierungen von 15 bis 40 Prozent sowie signifikante Verbesserungen bei der Latenz, da die störenden Interferenzen zwischen den Phasen entfallen. Trotz der Vorteile ist die Disaggregation nicht für jede Umgebung sinnvoll. Der Transport des Key-Value-Caches über das Netzwerk verursacht Latenz, die bei kurzen Eingaben oder stark genutzten Prefix-Caches die Vorteile zunichtemachen kann. Eine klare Entscheidung für diese Architektur sollte auf einer Analyse der Workload-Verteilung, der Netzwerkkapazität (mindestens 100 Gbit/s für RDMA) und der Clustergröße ab basieren. In der Regel lohnt sich der Aufwand erst bei größeren Clustern mit mindestens 32 GPUs und komplexen Anwendungen mit langen Kontexten. Die Branche bewegt sich zunehmend von monolithischen zu disaggregierten Architekturen, unterstützt durch Frameworks wie vLLM, SGLang und TensorRT-LLM, die diese Funktionen nativ integrieren. Während die Hardware für beide Phasen oft noch einheitlich ist, deuten Forschungsprojekte und Herstellerroadmaps darauf hin, dass in Zukunft spezialisierte Chips entwickelt werden, die genau für entweder hohe Rechenleistung oder hohe Speicherbandbreite konzipiert sind. Unternehmen, die diese Architekturplanung nun anwenden, werden besser aufwachsen, wenn der Traffic skaliert, als diejenigen, die auf reaktive Maßnahmen warten.

Verwandte Links

GPU: Prefill und Decode sollten getrennt werden | Aktuelle Beiträge | HyperAI