Bf16
bf16は以下の形式である
符号ビット : 1ビット
指数部 : 8ビット
仮数部 : 7ビット(暗黙的に8ビットの表現幅を持つ。これはfp16と同様の設計である)
比較としてfp16形式を以下に示す
符号ビット : 1ビット
指数部 : 5ビット
仮数部 : 10ビット(暗黙的に11ビットの表現幅を持つ)
fp16に対して指数部への割り当てビット数を増やし、その分仮数部を減らしたものとなっている。
fp16が10 ~ 6.55 × 10程度の数値幅しか表現できないのに対し、bf16は10 ~ 3 × 10の数値範囲を表現することが可能で、これは32ビット浮動小数点形式と同じ数値幅である。
その分仮数部の数値幅は減少しており、大きな整数値の精度を落とす代わりに小数点以下の精度を増加させている。
bf16では、正規最大値付近での丸め誤差はおよそ2まで増大する(fp16の場合はおよそ0.