IEEE P3109ドラフト標準は、機械学習に特化した柔軟で効率的な数値表現を提供することを目的としています。この標準は、ビット幅、精度、符号の有無、無限大のサポートなどのパラメータで構成される2進浮動小数点フォーマットのファミリーを定義しており、ごく少数のビットで数値を効率的かつ一貫して表現することが可能です。これにより、異なる機械学習モデルの要件に合わせたカスタマイズが容易になります。
演算の定義では、浮動小数点値を閉拡張実数(実数に正負の無限大とNaNを加えたもの)にデコードする方法を採用し、NaNや無限大のオペランドを明示的に扱うことで、実数のみを対象とした演算を保証します。これにより、従来の浮動小数点演算で見られる複雑な例外処理を回避できます。標準は確率的丸めを含む広範な丸めモードと飽和モードを定義し、すべての演算は例外をスローせず、例外状態はNaNなどの戻り値で通知されるため、スループットが向上します。
さらに、P3109は共通のスケールファクターを持つ値のブロックに対する演算を統一的に定義しています。例えば、ニューラルネットワークの推論では、同じスケーリング係数を共有するテンソル要素に対して同一の算術演算を適用することがよくありますが、本標準はそのような操作のための統一インターフェースを提供し、ハードウェアとソフトウェアの複雑さを軽減します。また、近似実装を記述するための新しいスケール不変な尺度「カッパ近似」を導入し、システムベンダーはこの尺度を使用してハードウェア実装の近似精度を標準化された方法で報告できるようになります。これにより、異なるベンダーのチップ間で近似計算の精度を公平に比較できます。
標準の関数定義やプロパティは形式的仕様を用いて機械的に検証・生成され、高い信頼性を実現しています。形式的手法の適用により、算術関数の正確性が検証されるだけでなく、リファレンス実装が自動生成され、標準の採用が加速されます。機械学習コミュニティにとって、P3109は汎用計算向けのIEEE 754とは異なる数値エコシステムを提供します。後者は汎用計算に焦点を当てていますが、前者は機械学習ワークロードに特化して最適化されています。モデル学習から推論に至るまで、開発者はよりコンパクトで効率的な数値フォーマットを選択でき、例外処理による性能オーバーヘッドを心配する必要がありません。今後、この標準が正式に承認されれば、P3109フォーマットをサポートするハードウェアアクセラレータやコンパイラ最適化が登場し、エッジデバイスでの機械学習展開がさらに促進されると期待されます。