Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Gemischte Präzision

Steigern Sie die Effizienz des Deep Learning mit Mixed-Precision-Training! Erzielen Sie höhere Geschwindigkeiten, reduzierten Speicherbedarf und Energieeinsparungen, ohne die Genauigkeit zu beeinträchtigen.

Mixed Precision ist eine Technik, die im Deep Learning verwendet wird, um das Modelltraining zu beschleunigen und den Speicherverbrauch zu reduzieren. Dabei wird eine Kombination aus numerischen Formaten mit niedrigerer Präzision, wie z. B. 16-Bit-Gleitkommazahlen (FP16), und Formaten mit höherer Präzision, wie z. B. 32-Bit-Gleitkommazahlen (FP32), während der Berechnung verwendet. Durch den strategischen Einsatz von Zahlen mit niedrigerer Präzision für bestimmte Teile des Modells, wie z. B. die Gewichtungs-Multiplikation, und die Beibehaltung kritischer Komponenten wie Gewichtungs-Updates in höherer Präzision kann das Mixed-Precision-Training die Leistung auf modernen GPUs erheblich beschleunigen, ohne dass die Genauigkeit des Modells wesentlich beeinträchtigt wird.

Wie funktioniert Mixed Precision?

Die Grundidee hinter Mixed Precision ist die Nutzung der Geschwindigkeits- und Speichereffizienz von Datentypen mit geringerer Präzision. Moderne Hardware, insbesondere NVIDIA-GPUs mit Tensor Cores, kann Operationen mit 16-Bit-Zahlen viel schneller ausführen als mit 32-Bit-Zahlen. Der Prozess umfasst typischerweise drei wichtige Schritte:

  1. Umwandlung in niedrigere Präzision: Die meisten Operationen des Modells, insbesondere die rechenintensiven Matrixmultiplikationen und Faltungen, werden mit halber Präzision (FP16) durchgeführt. Dies reduziert den Speicherbedarf und beschleunigt die Berechnungen.
  2. Verwaltung einer Masterkopie der Gewichte: Um die Modellgenauigkeit und -stabilität zu erhalten, wird eine Masterkopie der Gewichte des Modells im Standard-32-Bit-Fließkommaformat (FP32) gespeichert. Diese Masterkopie wird verwendet, um Gradienten zu akkumulieren und die Gewichte während des Trainings zu aktualisieren.
  3. Loss Scaling: Um einen numerischen Underflow zu verhindern—bei dem kleine Gradientenwerte Null werden, wenn sie in FP16 konvertiert werden—wird eine Technik namens Loss Scaling verwendet. Dabei wird der Loss vor der Backpropagation mit einem Skalierungsfaktor multipliziert, um die Gradientenwerte innerhalb eines darstellbaren Bereichs für FP16 zu halten. Bevor die Gewichte aktualisiert werden, werden die Gradienten wieder herunterskaliert.

Deep-Learning-Frameworks wie PyTorch und TensorFlow bieten integrierte Unterstützung für Automatic Mixed Precision, was die Implementierung vereinfacht.

Anwendungen und Beispiele

Mixed Precision wird häufig beim Training von großen Machine Learning (ML)-Modellen eingesetzt, bei denen Effizienz von größter Bedeutung ist.

  • Training großer Sprachmodelle (LLMs): Modelle wie GPT-3 und BERT haben Milliarden von Parametern. Das Training mit nur FP32 würde unerschwingliche Mengen an GPU-Speicher und Zeit erfordern. Mixed Precision macht das Training solcher Basismodelle durch die deutliche Reduzierung des Speicherbedarfs und die Beschleunigung der Berechnungen möglich. Dies ermöglicht es Forschern, schneller zu iterieren und noch leistungsfähigere Sprachmodelle zu entwickeln.
  • Beschleunigung von Computer Vision Modellen: In der Computer Vision (CV) beschleunigt Mixed Precision das Training komplexer Modelle wie Convolutional Neural Networks (CNNs) und Vision Transformers (ViTs). Für Aufgaben wie Objekterkennung und Bildsegmentierung nutzen Ultralytics YOLO-Modelle, einschließlich des neuesten Ultralytics YOLO11, Mixed Precision für eine schnellere Konvergenz. Dies ist besonders nützlich für das Hyperparameter-Tuning und die schnelle Entwicklung innerhalb von Plattformen wie Ultralytics HUB. Schnelleres Training ermöglicht auch ein schnelleres Experimentieren mit großen Datensätzen wie COCO. Mixed Precision kann auch während der Inferenz verwendet werden, um die Modellbereitstellung zu beschleunigen, insbesondere beim Export in Formate wie TensorRT, das stark für niedrigere Präzisionen optimiert ist.

Verwandte Konzepte

Mixed Precision ist eine von mehreren Optimierungstechniken, die verwendet werden, um Deep-Learning-Modelle effizienter zu gestalten. Es ist wichtig, sie von verwandten Konzepten zu unterscheiden:

  • Modellquantisierung: Die Quantisierung reduziert die Modellgröße und die Rechenkosten, indem sie Gleitkommazahlen (wie FP32 oder FP16) in Integer-Formate mit niedrigerer Bitanzahl umwandelt, z. B. INT8. Während die gemischte Präzision während des Trainings verschiedene Gleitkommaformate verwendet, wird die Quantisierung typischerweise nach dem Training (Post-Training-Quantisierung) oder währenddessen (Quantisierungs-Aware-Training) angewendet, um für die Inferenz zu optimieren, insbesondere auf Edge-Geräten.
  • Model Pruning: Pruning ist eine Technik, bei der redundante oder unwichtige Verbindungen (Gewichte) aus einem neuronalen Netzwerk entfernt werden. Im Gegensatz zur gemischten Präzision, die das numerische Format der Gewichte ändert, verändert Pruning die Architektur des Modells selbst, um seine Größe und Komplexität zu reduzieren. Diese Techniken können zusammen verwendet werden, um noch größere Leistungssteigerungen zu erzielen.

Treten Sie der Ultralytics-Community bei

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert