E2M1(FP4)

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

E2M1は、4bit浮動小数点(いわゆるFP4)の中身を表す記法です。E2=指数2bit、M1=仮数1bit、残る1bitが符号——合計4bit。MXFP4NVFP4の「重み1個」はこの形式で、表せる値は全部で16通りしかありません。

ExMy記法の読み方

浮動小数点フォーマットの名前に出てくる E と M は、指数(Exponent)と仮数(Mantissa)に何bitずつ配るかを表し、これに符号1bitを足したものが総ビット数です。FP16はE5M10、BF16はE8M7、8bitのFP8にはE4M3とE5M2の2種類がある——という具合に、同じビット数でも配分で性格が変わります。指数に配れば表せる値の範囲(レンジ)が広がり、仮数に配れば細かさ(精度)が上がる。フォーマット設計はこの綱引きです。

E2M1が表せる16個の値

絶対値
00.511.52346
−0−0.5−1−1.5−2−3−4−6

正負それぞれ8個(0を含む)で計16通り。最大は±6、0の次に小さい値は±0.5です。無限大やNaNの割り当てはありません。1と1.5は区別できるのに、4と6の間には何もない——値が大きくなるほど目が粗くなる、浮動小数点らしい分布です。

16通りでLLMの重みが表せる理由

E2M1単体では使い物になりません。LLMの重みは層やチャネルごとに大きさがまるで違うのに、±6までの16通りへ全部を押し込めば潰れてしまいます。そこで実際のフォーマットは、近くの重み16〜32個をグループにして、グループごとに共有スケール(倍率)を1つ添えます。E2M1が「形」を、スケールが「大きさ」を受け持つ分業です。スケールにE8M0を使いブロック32個で持つのがMXFP4、E4M3スケール+ブロック16個で精度を取りに行くのがNVFP4——つまりFP4系フォーマットの違いは、E2M1そのものではなくスケールの持ち方の違いです。

当サイトの判定表との関係

収録モデルではgpt-ossやKimi K3が公式配布にMXFP4(=E2M1の重み)を採用しており、該当モデルのページには「公式配布は単一精度」の注記を出しています。判定表のQ4_K_MなどはGGUFの整数系量子化で中身は別物ですが、同じ「4bit級」として必要VRAMの水準はおおむね近くなります。実効ビット数の細かい差(4.25/4.5/4.85bit)は各フォーマットの項を参照してください。

関連用語

参考資料(出典)

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

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

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