「Bfloat16」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
1行目: 1行目:
 +
{{小文字}}
 
'''bfloat16''' (brain floating point、BF16)とは、浮動小数点を16ビット長で表す形式のひとつである。
 
'''bfloat16''' (brain floating point、BF16)とは、浮動小数点を16ビット長で表す形式のひとつである。
  
4行目: 5行目:
  
 
BF16は「単純に[[FP32]]の仮数部を切り詰めた」というものである。
 
BF16は「単純に[[FP32]]の仮数部を切り詰めた」というものである。
汎用的な[[FP16]]に対して、BF16は「FP32から高速変換できる」のが利点で、出し入れの激しい[[人工知能]]向けだと言われている。
+
汎用的な[[FP16]]に対して「BF16はFP32と高速変換できる」のが利点であり、FP32との変換が頻繁に発生する用途(主に[[人工知能]])向けだと言われている。
  
 
{| class="wikitable" style="text-align:center; border-width:0;"
 
{| class="wikitable" style="text-align:center; border-width:0;"

2022年5月25日 (水) 02:34時点における版

bfloat16 (brain floating point、BF16)とは、浮動小数点を16ビット長で表す形式のひとつである。

GoogleTensorFlow向けに開発しているもの。

BF16は「単純にFP32の仮数部を切り詰めた」というものである。 汎用的なFP16に対して「BF16はFP32と高速変換できる」のが利点であり、FP32との変換が頻繁に発生する用途(主に人工知能)向けだと言われている。

FP16
sign exponent (5 bit) fraction (10 bit)
  ┃ ┌───────┐ ┌─────────────────┐
 0   0   1   1   0   0   0   1   0   0   0   0   0   0   0   0 
15 14 10 9 0
bfloat16
sign exponent (8 bit) fraction (7 bit)
  ┃ ┌─────────────┐ ┌───────────┐
 0   0   1   1   1   1   1   0   0   0   1   0   0   0   0   0 
15 14 7 6 0
FP32
sign exponent (8 bit) fraction (23 bit)
  ┃ ┌─────────────┐ ┌───────────────────────────────────────────┐
 0   0   1   1   1   1   1   0   0   0   1   0   0   0   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 
31 30 23 22 0

FP32からBF16への丸め処理の発動条件は

  • FP32の仮数部の「7ビット目が0」かつ「8ビット目が1」

主なBF16をサポートする製品