KI-Leistung maximieren: Warum die Wahl der CPU entscheidend ist.

Machine-Learning-Algorithmen basieren in der Regel auf neuronalen Netzen, in denen Tausende von Rechenschritten parallel ausgeführt werden. Grafikprozessoren (Graphics Processing Unit, GPU) können diese Aufgabe besonders gut bewältigen, da sie für die Parallelverarbeitung optimiert sind. Dennoch spielt auch der Hauptprozessor (Central Processing Unit, CPU) eine wichtige Rolle für die Gesamtperformance eines KI-Systems. Nur wenn CPU und GPU optimal zusammenspielen, lassen sich Rechenressourcen und Energiebedarf in Grenzen halten. Wie das gelingt, zeigt das vorliegende Whitepaper.

Inhalt

Der KI-Boom hat die Nachfrage nach Rechenzentrumsressourcen stark ansteigen lassen. Das hat deutliche Auswirkungen auf den Energiebedarf der IT-Branche. Laut der Internationalen Energieagentur IEA verbrauchen Rechenzentren schon heute rund 415 Terawattstunden (TWh) Strom pro Jahr, was etwa 1,5 Prozent des weltweiten Strombedarfs entspricht. Bis 2030 wird sich der Bedarf nach Prognosen der IEA mehr als verdoppeln.

Um den Anstieg zu begrenzen und die Kosten im Griff zu behalten, sollten Systeme für das Training und die Anwendung (Inferenz) von KI so effizient wie möglich konzipiert werden. Ein wesentlicher Faktor dafür ist die Zusammenarbeit zwischen Grafikprozessoren (Graphics Processing Unit, GPU) und dem Hauptprozessor (Central Processing Unit, CPU) des Host-Systems. Nur wenn diese Komponenten optimal aufeinander abgestimmt sind, lassen sich Performancegewinne und Energieeinsparungen erzielen.

Das vorliegende Whitepaper zeigt anhand mehrerer Testszenarien, wie das gelingen kann. Sie erfahren unter anderem:

Originalauszug aus dem Dokument:

Inferenz-API-Server:

Der Inferenz-API-Server verarbeitet eine eingehende Anfrage und leitet sie an die Laufzeit-Engine weiter. Die Laufzeit-Engine generiert bei Abschluss eine Antwort, die an den Anfragesteller zurückgesendet wird. Die Aktionen der Inferenz-API können größtenteils von der Laufzeit-Engine mithilfe von Warteschlangen an der Schnittstelle zwischen den beiden entkoppelt werden. Dies ist eine besonders wichtige Funktion, wenn mehrere gleichzeitige Benutzer bedient werden müssen, z. B. mehrere Prompts, mehrere gleichzeitige Modelle oder mehrere GPUs, die mit einer gemeinsamen Host-CPU laufen. Die API stellt sicher, dass die Antwort auf einen Prompt an den entsprechenden Anfragesteller zurückgegeben wird.

Laufzeit-Engine:

Die Laufzeit-Engine wird durch die Funktionen in der hellgrauen Box in Abbildung 1 dargestellt. Die Laufzeit-Engine innerhalb der CPU führt wichtige Ressourcenverwaltungsfunktionen durch, z. B. dynamisches Batching und KV-Cache Paging, um zu gewährleisten, dass die Computing-Effizienz und Speichernutzung der GPU optimiert sind. Außerdem muss sie die Orchestrierungsaufgaben, wie den Kernel-Start und die Synchronisierung über mehrere GPUs hinweg, verwalten. Diese Aufgaben können auf dem kritischen Pfad liegen und sich direkt auf die End-to-End-Latenz der Inferenzanfragen auswirken. Zudem gibt es mehr Druck hinsichtlich der CPU- Reaktionszeit, wenn sich die Modellarchitekturen weiterentwickeln und Elemente wie z.B. einen datenabhängigen Control Flow enthalten.