CPU
Eine CPU ist der Mehrzweckprozessor eines Computers. In der KI lädt sie Daten und bereitet sie auf, koordiniert Beschleuniger und führt Inferenz aus, wenn keine GPU verfügbar ist.
Eine zentrale Verarbeitungseinheit (CPU) ist der Universalprozessor, auf dem das Betriebssystem und die Programme eines Computers laufen. Sie führt Befehle auf wenigen leistungsstarken Kernen aus, die jeweils darauf ausgelegt sind, einen Befehlsstrom schnell abzuarbeiten. Große Caches, Sprungvorhersage und Ausführung außerhalb der Reihenfolge halten komplexen Code mit vielen Verzweigungen schnell. In Systemen der künstlichen Intelligenz (KI) lädt und dekodiert die CPU Daten, wendet Datenerweiterung an, versorgt GPUs und andere Beschleuniger mit Daten und übernimmt die Schritte rund um ein Modell, etwa das Skalieren von Bildern vor der Inferenz und die Nicht-Maximum-Unterdrückung nach der Objekterkennung. Sie führt das Modell auch selbst aus, wenn kein Beschleuniger vorhanden oder dessen Einsatz nicht wirtschaftlich ist – von Laptops und Cloud-Funktionen bis zum Raspberry Pi. Daher ist die Inferenzlatenz der CPU ein wichtiges Entwurfsziel für Edge-KI-Modelle.
So führen CPUs neuronale Netze aus#
Ein neuronales Netz verbringt den Großteil seiner Zeit mit Matrixmultiplikationen. CPUs beschleunigen diesen Vorgang auf drei Arten. Mehrere Kerne – von 4 auf kleinen Platinen bis zu über 100 in einem Serverchip – verarbeiten verschiedene Teile eines Stapels oder einer Schicht parallel. Innerhalb jedes Kerns wenden SIMD-Einheiten (eine Anweisung, mehrere Daten) eine Anweisung gleichzeitig auf viele Zahlen an: AVX2 und AVX-512 auf x86-Chips von Intel und AMD sowie NEON auf Arm-Chips, wie sie in Smartphones, Macs mit Apple-Chips und Raspberry-Pi-Platinen stecken. Neuere Arm-Serverchips verfügen außerdem über die breitere SVE-Erweiterung. Aktuelle Chips bieten Matrixeinheiten, etwa Intels Advanced Matrix Extensions (AMX) in Xeon-Serverprozessoren seit 2023 und Arms Scalable Matrix Extension (SME). Diese multiplizieren pro Anweisung kleine Kacheln aus BF16- oder INT8-Werten.
Der Durchsatz einer CPU liegt weiterhin weit unter dem einer GPU, da eine CPU ihre Chipfläche für Caches und Steuerlogik zur schnellen Leistung einzelner Threads statt für Tausende Recheneinheiten nutzt und Gewichte aus dem gewöhnlichen Arbeitsspeicher mit einem Bruchteil der Speicherbandbreite einer GPU liest. Inferenz-Engines verringern den Abstand teilweise: ONNX Runtime, Intels OpenVINO und Tencents NCNN fassen Schichten zusammen, wählen die schnellsten Kernel für den erkannten Befehlssatz und führen INT8-quantisierte Modelle aus, die nur ein Viertel der Datenmenge von FP32-Gewichten bewegen. Bei der Bereitstellung auf einer CPU richten sich die Wahl von Engine und Genauigkeit üblicherweise nach der Hardware:
Ultralytics hat YOLO26 für diese Art von Hardware entwickelt. YOLO26n läuft bei der CPU-Inferenz mit ONNX auf einer Intel-Xeon-CPU bis zu 43 % schneller als YOLO11n. Ein OpenVINO-Export beschleunigt die CPU-Inferenz um bis zu das Dreifache. Dieser Code führt YOLO26 auf der CPU aus, exportiert es anschließend nach OpenVINO und führt das exportierte Modell aus:
from ultralytics import YOLO
# Führe das kleinste YOLO26-Erkennungsmodell auf der CPU aus, auch wenn eine GPU vorhanden ist
model = YOLO("yolo26n.pt")
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed) # Millisekunden für Vorverarbeitung, Inferenz und Nachverarbeitung
# Exportiere das Modell in das OpenVINO-Format und führe das exportierte Modell auf derselben CPU aus
path = model.export(format="openvino")
ov_model = YOLO(path)
results = ov_model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)Jedes Wörterbuch speed unterteilt die Zeit für ein Bild in Vorverarbeitung, Inferenz und Nachverarbeitung. Die beiden Ausgaben vergleichen also die Inferenzzeiten von PyTorch und OpenVINO auf dem Rechner, auf dem der Code ausgeführt wird.
CPU, GPU, TPU und NPU im Vergleich#
- CPU: Wenige leistungsstarke Kerne für vielseitigen Code mit Verzweigungen. Jeder Computer verfügt über eine CPU. Sie kann jedes Modell ohne zusätzliche Hardware ausführen, allerdings mit geringerem Durchsatz als die unten genannten Beschleuniger.
- GPU: Tausende einfachere Kerne, Tensor Cores für Matrixberechnungen und Speicher mit hoher Bandbreite. GPUs sind die Standardhardware für das Training und die Inferenz mit hohem Durchsatz.
- TPU: Ein anwendungsspezifischer Chip von Google, der auf großen Matrixmultiplikationseinheiten basiert. Er ist in Google Cloud und als Edge TPU in kleinen Inferenzmodulen verfügbar.
- NPU: Ein energiesparender Beschleuniger für neuronale Netze, der in Smartphones, Laptops und eingebetteten Chips steckt. Intel-Core-Ultra-, AMD-Ryzen-AI-, Qualcomm-Snapdragon- und Apple-M-Chips vereinen CPU-Kerne, eine GPU und eine NPU in einem Prozessor.
Anwendungen in der Praxis#
- Datenpipelines für das Training: Während eine GPU trainiert, lesen CPU-Arbeitsprozesse Bilder von der Festplatte, dekodieren, skalieren und erweitern sie und stellen Stapel zusammen. Sind zu wenige CPU-Kerne vorhanden, muss eine teure GPU auf Daten warten.
- Intelligente Kameras und Edge-Geräte: Türklingeln, Sensoren im Einzelhandel und Industriekameras führen kleine Erkennungsmodelle auf eigenen Prozessoren aus. So verbleiben Videos auf dem Gerät und nur Warnmeldungen werden weitergeleitet.
- Serverlose Inferenz und Cloud-Inferenz: Cloud-Funktionen und Endpunkte mit geringem Datenverkehr laufen häufig auf Instanzen, die nur mit einer CPU ausgestattet sind. Diese starten schnell und sind günstiger als eine reservierte GPU.
- Lokale große Sprachmodelle: Projekte wie llama.cpp führen quantisierte GGUF-Modelle auf Laptop-CPUs aus. Die Generierungsgeschwindigkeit hängt dabei hauptsächlich davon ab, wie schnell der Speicher die Gewichte für jedes Token bereitstellen kann.










