Gemischte Genauigkeit: FP16, BF16, TF32
Genauigkeit gegen Durchsatz abwägen
Gemischte Genauigkeit: FP16, BF16, TF32 ist eine kostenlose CUDA Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CUDA Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CUDA Academy-Kurs umfasst insgesamt 4 Lektionen.
Bits gegen Geschwindigkeit tauschen
Tensor Cores beziehen ihre Geschwindigkeit aus gemischter Präzision: Kleinere Zahlenformate werden eingespeist, damit die Hardware pro Zyklus deutlich mehr Berechnungen ausführen kann. ⚡
Die Kosten von FP32
Standard-FP32 verwendet 32 Bit pro Wert. Das ist präzise, aber aufwendig. Daher beansprucht das Verschieben und Multiplizieren vieler FP32-Werte Bandbreite und Zeit.
FP16 kennenlernen
FP16 verwendet nur 16 Bit: einen kleineren Exponenten und weniger Mantissenbits. Durch die halbe Größe können sich mehr Werte gleichzeitig verschieben und multiplizieren lassen.
FP16 hat einen kleinen Wertebereich
FP16 spart Speicherplatz, aber der enge Exponent führt zu einem kleinen dynamischen Wertebereich. Sehr große oder sehr kleine Werte können überlaufen oder zu null werden.
BF16 kennenlernen
BF16 verwendet ebenfalls 16 Bit, behält aber den vollständigen Exponenten von FP32 bei und verzichtet stattdessen auf Mantissenbits. Es bietet den Wertebereich von FP32 bei geringerer Präzision.
Warum BF16 beim Training gewinnt
Da BF16 denselben großen Wertebereich wie FP32 besitzt, laufen Gradienten nur selten über. Daher ist BF16 eine beliebte Wahl für das sichere Trainieren großer neuronaler Netze.
TF32 kennenlernen
TF32 ist ein 19-Bit-Format für Tensor Cores: Es verwendet den Exponenten von FP32 mit einer verkürzten Mantisse. Dadurch beschleunigt es Berechnungen und erscheint Ihrem Code gegenüber wie FP32.
Der Akkumulator bleibt breit
Unabhängig vom Eingabeformat akkumulieren Tensor Cores Teilsummen normalerweise in FP32. Die Geschwindigkeit steckt in den Eingaben, die Sicherheit in der laufenden Summe.
Wertebereich im Vergleich zur Präzision
Die zentrale Idee: FP16 und BF16 benötigen beide 16 Bit, teilen diese aber unterschiedlich auf. Das eine bevorzugt Präzision, das andere den Wertebereich.
Ein Format auswählen
Verwenden Sie BF16 oder TF32, wenn der Wertebereich wichtig ist, und FP16, wenn Sie die Skalierung im Griff haben. Das richtige Format hängt von Ihren Daten ab, nicht nur von der Geschwindigkeit.
Halbe Präzision deklarieren
In CUDA C++ hat der FP16-Typ einen kurzen Namen. Diese Zeile deklariert einen half-Wert, der für Tensor-Core-Berechnungen bereitsteht.
__half x = __float2half(1.5f);Kurze Überprüfung
Welches Format behält den vollständigen Exponentenbereich von FP32 mit nur 16 Bit bei?
Zusammenfassung
Sie haben gesehen, wie gemischte Präzision Bits gegen Durchsatz tauscht: FP16 bevorzugt Präzision, BF16 den Wertebereich, und TF32 beschleunigt Berechnungen nach dem Vorbild von FP32. Eine breite Akkumulation hält die Ergebnisse sicher. ✨
Lerne C++ mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Gemischte Genauigkeit: FP16, BF16, TF32“ kostenlos?
Ja — der vollständige Text von „Gemischte Genauigkeit: FP16, BF16, TF32“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CUDA Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CUDA Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Gemischte Genauigkeit: FP16, BF16, TF32“?
Genauigkeit gegen Durchsatz abwägen Du übst CUDA Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um CUDA Academy zu starten?
Keine Vorkenntnisse erforderlich. CUDA Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Gemischte Genauigkeit: FP16, BF16, TF32“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser CUDA Academy-Lektion Code schreiben und ausführen?
Ja. Jede CUDA Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was Tensor Cores berechnen
- Gemischte Genauigkeit: FP16, BF16, TF32
- Die WMMA-Fragment-API
- Abwägungen bei der numerischen Stabilität