bfloat16
Ein von Google Brain für TPUs entwickeltes 16-Bit-Gleitkommaformat. Es nimmt schlicht IEEE 754s 32-Bit-Format und kappt die 16 niederwertigsten Mantissenbits.
Übrig bleiben 8 Exponentenbits — genau der gleiche Bereich wie bei float32 — aber nur 7 Mantissenbits, also eine sehr grobe Genauigkeit. Das klingt falsch, bis man bedenkt, was neuronale Netze wirklich brauchen: Gradienten überspannen gewaltige Größenordnungen, benötigen aber keine vielen signifikanten Stellen. Das Standardformat fp16 hat nur 5 Exponentenbits und läuft beim Training leicht über oder unter, was Loss Scaling erzwingt. Mit bfloat16 entfällt das, und die Umwandlung von und zu float32 ist reines Bit-Abschneiden. Unterstützt von TPUs, Nvidia ab Ampere, AMD und neueren x86-Chips. Es ist zum Standardformat fürs Training geworden; für Inferenz geht die Branche weiter runter zu fp8 und int4.