01 / UNDERSTAND
仕組みと使いどころ
BF16は、符号部1ビット、指数部8ビット、仮数部7ビットで数値を表します。指数部はFP32と同じ8ビットのため、表現できる数値の範囲はFP32と同等ですが、仮数部が短いため数値の精度は低くなります。深層学習では、行列演算の乗算にBF16、加算結果の蓄積にFP32を使う混合精度計算などに用いられます。データ量を抑えられる一方、すべての計算やモデルでFP32と同じ結果が保証されるわけではありません。また、BF16では非正規化数がゼロとして処理される点もFP32と異なります。
02 / IN PRACTICE
BF16の活用例
たとえば、こんな場面で
深層学習モデルの学習で、活性値をBF16に変換し、重みや勾配をFP32のまま保持する使い方が考えられます。対応するTPUでは、行列乗算をBF16、累積をFP32で実行する構成も利用できます。
03 / GOOD TO KNOW
使うときのポイント
利用前に、使用するハードウェアとソフトウェアがBF16に対応しているか確認します。モデルへの影響は一律ではないため、FP32での基準実行と結果を比較することが重要です。
参考資料
BFloat16: The secret to high performance on Cloud TPUs | Google Cloud Blog (新しいタブで開きます)用語の説明や活用例に関連する参考資料です。
READ & LEARN
記事一覧を見る 用語を知ったら、活用を知る。
AI LABで、AIの動向や業務に取り入れるヒントを読む。
