FP8
2022年9月26日 (月) 02:23時点におけるAdministrator (トーク | 投稿記録)による版
FP8(えふぴーえいと)とは、ARMとIntelとNVIDIAの3社が共同で仕様を策定した「8ビットの浮動小数点数」である。
ホワイトペーパーでは「reduced precision floating-point」となっているので日本語訳は「低精度浮動小数点数」でいいと思う。
形式
FP8には指数Eと仮数Mのビット数が異なる2種類の形式がある。
E5M2
- 符号ビット: 1ビット
- 指数部の幅: 5ビット
- 仮数部の幅: 2ビット
E5M2は「指数5ビット」「仮数2ビット」の形式である。 IEEE 754の16ビット形式である「FP16」の仮数部を10ビットから2ビットにしたものとなっている。 「FP32とbfloat16」の関係と同じく「FP16とFP8は互換性がある」ということらしい。 FP16で書かれたソースコードを単純に文字列置換するだけで使えるのが利点らしい。 E5M2は「勾配テンソル」に最適らしいぞ。
E4M3
- 符号ビット: 1ビット
- 指数部の幅: 4ビット
- 仮数部の幅: 3ビット
E4M3はE5M2よりダイナミックレンジが広い。 E4M3は「重みテンソル」および「活性化テンソル」に最適らしいぞ。