E4M3(FP8)

GPUを買わずに、大きいモデルを動かす — クラウドGPUという選択肢(仕組みと手順の解説へ)

E4M3は、8bit浮動小数点(FP8)の代表格です。指数4bit・仮数3bit・符号1bitで、表せる最大値は±448。FP16の半分のサイズで「推論にぎりぎり足りる細かさ」を狙った配分で、重み・活性値・KVキャッシュNVFP4のスケールと、現行世代のあちこちに顔を出します。

FP8は2種類ある — E4M3とE5M2

形式配分最大値主な使いどころ
E4M3指数4+仮数3±448重み・活性値・KVキャッシュ(精度寄り)
E5M2指数5+仮数2±57,344学習時の勾配(レンジ寄り)

同じ8bitでも、指数を1bit増やすと表せる範囲は128倍広がり、その分だけ細かさが半分になります。推論の文脈で目にするFP8はほぼE4M3で、E5M2は勾配のような桁の暴れる値のための形式です(NVIDIA・Arm・Intelの共同提案として標準化されました)。

KVキャッシュを半分にする

当サイトのKVキャッシュ計算はFP16(1要素2バイト)を前提にした保守側の値です。例えばLlama 3.3 70Bの8Kトークン時のKVキャッシュは約2.7GBですが、これをE4M3で持てば単純計算で半分の約1.34GBになります。対応ランタイムにはKVキャッシュを8bitで保持するオプションがあり、長いコンテキストVRAMが苦しいときの現実的な逃げ道です。当サイトの判定はFP16前提の保守側なので、8bit KVキャッシュを使う場合は目安より余裕が出る方向に働きます。

4bitの世界ではスケールとして働く

NVFP4は、E2M1の重み16個ごとの共有スケールにE4M3を使います。E8M0と違って2の冪乗の間の倍率も表せることが、MXFP4に対する精度面の強みの核心です。また、E4M3/E5M2の要素にE8M0のブロックスケールを添えたMX版がMXFP8で、Kimi K3は活性値にこれを採用しています(量子化を織り込んだ学習=QAT)。

ハードウェア対応は世代依存

FP8のネイティブ演算はTensor Coreの世代に依存し、対応世代ではFP16の倍の演算スループットが理論上見込めます。ただしローカル実行では、フォーマットにハードウェアが対応していることと、手元のランタイム・配布ファイルがその形式を使えることは別の話です——この注意はNVFP4の項で述べたものと同じです。

関連用語

参考資料(出典)

▶ あなたのPCで動くモデルを自動判定する(スペック送信なし・ブラウザ内完結)

📚 ローカルLLMの入門書・ムックをAmazonで探す

上記はアフィリエイトリンクです。経由して課金された場合、当サイトに紹介料が入ります。