Entdecken Sie, wie Half-Precision (FP16) KI durch schnellere Berechnungen, reduzierten Speicherbedarf und effiziente Modellbereitstellung beschleunigt.
Halbpräzision ist ein binäres Fließkomma-Computerzahlenformat, das 16 Bits im Computerspeicher belegt und allgemein als allgemein als FP16 bezeichnet. In dem sich schnell entwickelnden Bereich des Deep Learning dient dieses Format als leistungsfähige Alternative zum standardmäßigen 32-Bit-Single-Precision-Format (FP32), das traditionell für numerische Berechnungen verwendet wird. Durch Durch die Verringerung der Anzahl der Bits, die für die Darstellung jeder Zahl erforderlich sind, senkt die halbe Präzision den Speicherbedarf Bandbreite und Speicherbedarf für Modellgewichte und Modellgewichte und Aktivierungen. Diese Effizienz ermöglicht es Forschern und Ingenieuren das Training größerer neuronale Netze trainieren oder Modelle auf Hardware mit Hardware mit begrenzten Ressourcen einzusetzen, ohne die Genauigkeit der Vorhersagen.
Der Standard IEEE 754 definiert die Struktur von Gleitkommazahlen Zahlen, wobei FP16 1 Bit für das Vorzeichen, 5 Bit für den Exponenten und 10 Bit für den Bruch (Mantisse) vorsieht. Diese kompakte Darstellung steht im Gegensatz zu FP32, das 8 Bits für den Exponenten und 23 für den Bruch verwendet. Die Hauptvorteil der Verwendung von FP16 in Computer Vision und anderen KI-Aufgaben ist die Beschleunigung der mathematischen Operationen. Moderne Hardware-Beschleuniger, wie z. B. NVIDIA Tensor Cores, sind speziell darauf ausgelegt um Matrixmultiplikationen in halber Genauigkeit mit deutlich höherer Geschwindigkeit durchzuführen als Operationen in einfacher Genauigkeit.
Die geringere Anzahl von Bits bedeutet jedoch einen geringeren Dynamikbereich und eine geringere Präzision. Dies kann möglicherweise zu folgenden Problemen führen numerischer Instabilität führen, wie zum Beispiel verschwindende Gradienten, bei denen Zahlen zu klein werden zu klein werden, als dass der Computer sie eindeutig von Null unterscheiden könnte. Um dies abzumildern, verwenden die Entwickler oft gemischte Präzisionsstrategien, die dynamisch die während des Trainings dynamisch zwischen FP16 und FP32 wechseln, um die Stabilität zu erhalten und gleichzeitig die Geschwindigkeit der halben Genauigkeit zu nutzen.
Halbpräzision ist in modernen KI-Workflows allgegenwärtig, insbesondere in Szenarien, die einen hohen Durchsatz oder eine geringe Latenzzeit erfordern.
Rahmenwerke wie PyTorch und Bibliotheken wie
ultralytics machen es einfach, die halbe Genauigkeit zu nutzen. Das folgende Beispiel zeigt, wie man
Export eines YOLO11 in die TensorRT Format unter Verwendung von FP16, einer
eine gängige Praxis zur Optimierung der Inferenzgeschwindigkeit auf NVIDIA .
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TensorRT engine with half-precision enabled
# The 'half=True' argument ensures weights are converted to FP16
model.export(format="engine", half=True)
Um die halbe Genauigkeit zu verstehen, muss man sie von verwandten Optimierungstechniken unterscheiden, die im Glossar beschrieben sind:
Wenn Entwickler diese Formate beherrschen, können sie sicherstellen, dass ihre Modellbereitstellungsstrategien für die spezifischen spezifischen Hardware- und Leistungsanforderungen ihrer Projekte optimiert werden.