「Bfloat16」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| 59行目: | 59行目: | ||
==主なBF16をサポートする製品== | ==主なBF16をサポートする製品== | ||
*[[Intel]]の[[CPU]] ([[AVX-512]]対応製品の一部) | *[[Intel]]の[[CPU]] ([[AVX-512]]対応製品の一部) | ||
*[[NVIDIA]]の[[GPU]] ([[NVIDIA Ampere]]搭載品) | *[[NVIDIA]]の[[GPU]] ([[NVIDIA Ampere]]搭載品) | ||
== 関連項目 == | |||
* [[半精度浮動小数点数]] | |||
* [[binary16]] | |||
* [[bfloat16]] | |||
2022年6月8日 (水) 08:01時点における版
bfloat16 (brain floating point、BF16)とは、浮動小数点を16ビット長で表す形式のひとつである。
GoogleがTensorFlow向けに開発しているもの。
BF16は「単純にFP32の仮数部を切り詰めた」というものである。 汎用的なFP16に対して「BF16はFP32と高速変換できる」のが利点であり、FP32との変換が頻繁に発生する用途(主に人工知能)向けだと言われている。
| 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 | ||||||||||||
| 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 | ||||||||||||
| 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」