Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

GPU (Graphics Processing Unit)

Eine GPU ist ein Prozessor mit Tausenden von Kernen, der für parallele Berechnungen ausgelegt ist und daher die wichtigste Hardware zum Trainieren und Ausführen von Deep-Learning-Modellen darstellt.

Eine Grafikprozessoreinheit (GPU) ist ein Prozessor mit Tausenden einfacher Kerne, die dieselbe Operation gleichzeitig auf vielen Datenelementen ausführen. GPUs wurden für die Darstellung von 3D-Grafiken entwickelt, wofür Millionen Pixel und Scheitelpunkte parallel berechnet werden müssen. Sie wurden zur wichtigsten Hardware für Deep Learning, weil das Training und die Inferenz neuronaler Netze hauptsächlich aus Matrixmultiplikationen bestehen, die sich auf dieselbe Weise parallelisieren lassen. Die 2007 veröffentlichte Plattform CUDA von NVIDIA machte deren GPUs für allgemeine Berechnungen programmierbar. 2012 gewann das AlexNet-Netzwerk, das fünf bis sechs Tage lang auf zwei NVIDIA-GTX-580-GPUs trainiert worden war, die ImageNet Challenge mit einer Top-5-Fehlerrate von 15,3 % gegenüber 26,2 % beim Zweitplatzierten. Heute laufen PyTorch, TensorFlow und JAX auf NVIDIA-GPUs über CUDA, auf AMD-GPUs über ROCm und auf Apple-Chips über Metal. Cluster mit Tausenden GPUs trainieren die größten Basismodelle.

So beschleunigen GPUs Deep Learning#

Eine CPU verwendet den größten Teil ihrer Chipfläche für Caches und Steuerlogik, damit einige wenige Kerne verzweigten Code schnell ausführen können. Eine GPU nutzt diese Fläche für Berechnungen: Eine NVIDIA-GPU ist in Streaming Multiprocessors unterteilt. Jeder führt Gruppen von 32 Threads aus, sogenannte Warps, die dieselbe Anweisung auf unterschiedlichen Daten ausführen. Während einige Warps auf den Speicher warten, rechnen andere. Dadurch bleibt der Chip ausgelastet, solange genügend parallel ausführbare Arbeit vorhanden ist. Seit der Volta-Generation im Jahr 2017 enthalten NVIDIA-GPUs außerdem Tensor Cores. Diese Einheiten multiplizieren kleine Matrizen in einem Schritt mit verringerter Genauigkeit, mittlerweile auch mit FP8 und seit Blackwell mit FP4. Eine NVIDIA A100 erreicht maximal 19,5 TFLOPS bei standardmäßiger FP32-Arithmetik und 312 TFLOPS in BF16 auf ihren Tensor Cores. Deshalb wird beim GPU-Training meist gemischte Genauigkeit verwendet. Dieser Code misst die Zeit derselben Matrixmultiplikation auf CPU und GPU:

import time

import torch

gpu = torch.accelerator.current_accelerator()  # cuda, mps, or xpu device on this machine
a = torch.randn(4096, 4096)
b = torch.randn(4096, 4096)

for device in (torch.device("cpu"), gpu):
    x, y = a.to(device), b.to(device)
    x @ y  # warm-up run
    torch.accelerator.synchronize()
    start = time.perf_counter()
    for _ in range(10):
        x @ y
    torch.accelerator.synchronize()  # GPU calls return immediately, so wait for them to finish
    seconds = (time.perf_counter() - start) / 10
    print(f"{device.type}: {seconds * 1000:.1f} ms per multiply, {2 * 4096**3 / seconds / 1e12:.1f} TFLOPS")

Auf einem Laptop mit Apple M5 Pro gibt der Code cpu: 80.0 ms per multiply, 1.7 TFLOPS und mps: 18.3 ms per multiply, 7.5 TFLOPS aus. Damit ist die integrierte GPU des Laptops bei FP32 etwa 4,4-mal schneller. Rechenzentrum-GPUs vergrößern den Unterschied durch mehr Kerne und durch Speicher mit hoher Bandbreite (HBM), der mehrere Terabyte pro Sekunde überträgt. So werden die Kerne ausreichend mit Gewichten und Aktivierungen versorgt. Der GPU-Speicher, oft VRAM genannt, bestimmt außerdem, wie groß ein Modell und die Batchgröße auf einem Gerät sein können. Techniken wie Gradient Checkpointing und verteiltes Training helfen, diese Grenze zu umgehen.

Modelle auf GPUs trainieren und bereitstellen#

Ein Trainingslauf hält die GPU nur dann ausgelastet, wenn die restliche Pipeline Schritt hält: CPU-Worker müssen Bilder schnell genug decodieren und erweitern, Batches müssen groß genug sein, um die Kerne auszulasten, und die Berechnungen sollten auf den Tensor Cores mit verringerter Genauigkeit laufen. Eine geringe GPU-Auslastung weist meist auf eines dieser Probleme hin:

Ultralytics YOLO trainiert standardmäßig auf der ersten CUDA-GPU, sofern eine verfügbar ist, und akzeptiert device=[0, 1] für das Training mit mehreren GPUs. Mit batch=-1 wird AutoBatch ausgeführt, das den freien GPU-Speicher misst und eine Batchgröße auswählt, die etwa 60 % davon nutzt. Teams ohne lokale Hardware können für jeden Trainingslauf auf Ultralytics Platform eine Cloud-GPU auswählen. Bei der Inferenz verarbeitet ein auf TensorRT exportiertes YOLO26n-Modell ein Bild mit 640 Pixeln in 1,7 ms auf einer NVIDIA-T4-GPU, gegenüber 38,9 ms mit ONNX auf einer CPU. Dieser Code trainiert YOLO26 mit AutoBatch auf der ersten GPU:

from ultralytics import YOLO

# Das kleinste YOLO26-Modell zur Objekterkennung laden
model = YOLO("yolo26n.pt")

# Auf GPU 0 trainieren und AutoBatch die Batchgröße anhand des GPU-Speichers bestimmen lassen
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, device=0, batch=-1)

GPU im Vergleich zu CPU, TPU und NPU#

  • CPU: Einige leistungsstarke Kerne für allgemeine Berechnungen und verzweigten Code. CPUs übernehmen in den meisten Trainingspipelines das Laden und die Vorverarbeitung von Daten. Sie führen auch Inferenz aus, wenn kein Beschleuniger verfügbar ist.
  • GPU: Tausende programmierbare Kerne sowie Tensor Cores. GPUs können fast jedes Modell und Framework ausführen, sind von mehreren Herstellern erhältlich und bei allen großen Cloud-Anbietern verfügbar.
  • TPU: Googles anwendungsspezifischer Chip mit großen Matrixmultiplikationseinheiten. TPUs verzichten auf die Flexibilität einer GPU und sind dafür bei großen dichten Matrixoperationen effizienter. Sie sind über Google Cloud verfügbar.
  • NPU: Ein energiesparender Beschleuniger für neuronale Netze in Smartphones, Laptops und Edge-Geräten, der für die Inferenz statt für das Training verwendet wird.

Anwendungen in der Praxis#

  • Große Modelle trainieren: Sprach- und Bildverarbeitungsmodelle mit Milliarden Parametern werden auf Clustern aus Tausenden Rechenzentrum-GPUs trainiert, die über schnelle Verbindungen wie NVLink und InfiniBand miteinander verbunden sind.
  • Videoanalyse in Echtzeit: Eine einzelne GPU kann gleichzeitig Objekterkennung und -verfolgung auf vielen Kamerastreams ausführen, etwa für die Verkehrsüberwachung, die Analyse des Einzelhandels oder die Inspektion von Fabriken.
  • Robotik und autonome Fahrzeuge: Eingebettete GPU-Module wie NVIDIA Jetson führen Wahrnehmungsmodelle direkt an Bord aus. Würden die Kameradaten an einen Server gesendet, entstünde eine zu große Verzögerung.
  • Medizinische Bildgebung: GPUs verarbeiten große 3D-CT- und MRT-Aufnahmen und segmentieren Organe und Tumore in Sekunden statt Minuten.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens