E8M0

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

E8M0は、8bitすべてを指数に使うスケール専用の浮動小数点形式です。符号なし・仮数なし——表せるのは2の冪乗(2⁻¹²⁷〜2¹²⁷)だけ(1コードはNaN予約)。単独で数を持つためではなく、MXFP4などのブロック共有スケールのために存在します。

仮数ゼロという割り切り

普通の浮動小数点は「仮数 × 2^指数」で値を作りますが、E8M0は仮数を持たないため倍率は必ず2の冪乗になります。2.5倍や3倍は表せず、2倍か4倍のどちらかに丸めるしかありません。引き換えに得るのは実装の軽さです。2の冪乗の掛け算は指数の足し算(ビットシフト相当)で済み、8bit指数のレンジはFP32と同じ広さをカバーするので、どんなに桁が暴れるテンソルでもスケールが飽和しません。

MXFP4の「+0.25bit」の正体

MXFP4は重み32個ごとにE8M0のスケールを1個添えます。1重みに均すと 8 ÷ 32 = 0.25bit。E2M1の4bitと合わせて実効4.25bit——MXFP4のページに出てくる「+0.25bit」は、この8bitスケールの割り勘です。

精度の弱点と、それを埋めた後継

ブロックに本当に必要な倍率が2の冪乗からずれていると、そのずれはブロック内の32個全部の丸め誤差として現れます。NVFP4がスケールをE4M3(仮数あり)に替え、ブロックも16個に縮めたのは、まさにここを埋めるためです。スケールの表現力という一見地味な違いが、同じ「4bit量子化」の品質差になって現れます。

関連用語

参考資料(出典)

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

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

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