ブロック浮動小数点(ブロックふどうしょうすうてん、英語: Block floating point, BFP)は、固定小数点プロセッサ上で浮動小数点に近い演算を提供するための手法である。
ブロック浮動小数点は、(浮動小数点数のように)1つの仮数部に1つの指数を割り当てるのではなく、複数の仮数部(ブロック)に単一の指数を割り当てる。演算精度を気にしなければ、指数部を共有しているため必要なハードウェア資源を抑えつつ、浮動小数点アルゴリズムと同等の機能を提供できる利点がある。また、複数のブロックにまたがる数値について、一部の演算を少ない計算量で実行可能である。
指数部は、ブロックで共通となっているため、ブロック内の最大の数値を表現できるような値にする必要がある。
Microscaling Formats (MX) マイクロスケーリング形式 (MX) は、AI および機械学習のワークロード向けに特別に設計されたブロック浮動小数点 (BFP) データ形式の一種である。MXフォーマットは、AMD、Arm、Intel、Meta、Microsoft、NVIDIA、Qualcomm などの主要な業界プレーヤーによって承認および標準化された。
最初のMX仕様では、MXFP8、MXFP6、MXFP4、MXINT8 などのいくつかの特定の形式が導入されている。これらの形式は、さまざまな精度レベルをサポートしている。
MXFP8: 2つの派生(E5M2 および E4M3) を備えた 8 ビット浮動小数点。 MXFP6: 2つの派生(E3M2 および E2M3) を備えた 6 ビット浮動小数点。 MXFP4: 4ビット浮動小数点 (E2M1)。 MXINT8: 8ビット整数。
ハードウェアサポート
AMD Ryzen AI 300(XDNA 2では Block FP16という形式を扱う)
関連項目 Binary scaling Fast Fourier transform (FFT) Digital signal processor (DSP)
参考文献