「FP8」の版間の差分

編集の要約なし
編集の要約なし
 
1行目: 1行目:
'''FP8'''(えふぴーえいと)とは、[[ARM]]と[[Intel]]と[[NVIDIA]]の3社が共同で仕様を策定した「8ビットの浮動小数点数」である。
'''FP8'''(えふぴーえいと)とは、[[ARM]]と[[Intel]]と[[NVIDIA]]の3社が共同で仕様を策定した「8ビットの浮動小数点数」です。ホワイトペーパーでは「reduced precision floating-point」となっているので日本語訳は「[[低精度浮動小数点数]]」でいいと思う。


ホワイトペーパーでは「reduced precision floating-point」となっているので日本語訳は「[[低精度浮動小数点数]]」でいいと思う。
主にNVIDIAのHopperアーキテクチャ以降(H100など)でサポートされ、従来のFP16/BF16と比較して約2倍の処理速度を実現し、大規模言語モデル(LLM)や生成AIの学習・推論を高速化します。


== 形式 ==
== 形式 ==
11行目: 11行目:
* 仮数部の幅: 2ビット
* 仮数部の幅: 2ビット


E5M2は「指数5ビット」「仮数2ビット」の形式である。
E5M2は「指数5ビット」「仮数2ビット」の形式である。IEEE 754の16ビット形式である「[[FP16]]」の仮数部を10ビットから2ビットにしたものとなっている。「[[FP32]]と[[bfloat16]]」の関係と同じく「[[FP16]]とFP8は互換性がある」ということらしい。FP16で書かれた[[ソースコード]]を単純に文字列置換するだけで使えるのが利点らしい。E5M2は「[[勾配テンソル]]」に最適らしいぞ。
IEEE 754の16ビット形式である「[[FP16]]」の仮数部を10ビットから2ビットにしたものとなっている。
[[FP32]]と[[bfloat16]]」の関係と同じく「[[FP16]]とFP8は互換性がある」ということらしい。
FP16で書かれた[[ソースコード]]を単純に文字列置換するだけで使えるのが利点らしい。
E5M2は「[[勾配テンソル]]」に最適らしいぞ。


=== E4M3 ===
=== E4M3 ===
23行目: 19行目:


[[category: 浮動小数点数]]
[[category: 浮動小数点数]]
E4M3はE5M2よりダイナミックレンジが広い。
E4M3はE5M2よりダイナミックレンジが広い。E4M3は「[[重みテンソル]]」および「[[活性化テンソル]]」に最適らしいぞ。
E4M3は「[[重みテンソル]]」および「[[活性化テンソル]]」に最適らしいぞ。
 
== 主な対応ハードウェア ==
 
=== NVIDIA ===
 
* 第4世代Tensorコア
** NVIDIA H100, H200
** NVIDIA L4
** RTX 6000, 4500, 4000
** GeForce RTX 40シリーズ
 
=== Intel ===
 
* Intel Gaudi 3
* Intel Xeon の Intel AMX
 
=== ARM ===
 
* Armv9.2-A のSME (Scalable Matrix Extension)
 
=== AMD ===
 
* RDNA 4
** Radeon RX 9000シリーズ


== 外部リンク ==
== 外部リンク ==