MXFP4
MXFP4は、重みを32個ごとのブロックに区切り、ブロック1つにつき共有の倍率(スケール)を1つ持たせる4bit浮動小数点フォーマットです。Open Compute Project が定めた業界標準「MX(Microscaling)」系列のひとつで、gpt-oss や Kimi K3 がこの形式で公式配布されています。
4bitなのに「4.25bit」— スケールの分だけ太る
重み1個は E2M1(符号1+指数2+仮数1)のちょうど4bitです。しかしそれだけでは表せる値の幅が狭すぎるため、32個ごとに共有スケールを8bit(E8M0)で1つ添えます。1重みあたりに均すと 4 + 8 ÷ 32 = 4.25 bit。これが実効的な重み1個あたりのビット数です。
当サイトの判定表が使う Q4_K_M は 4.85 bit なので、MXFP4 のほうが12%ほど軽いことになります。同じ70Bクラス(Llama 3.3 70B、70.6B)の重みだけで比べると、MXFP4 が約37.5GB、Q4_K_M が約42.8GBで、差は5GB強。48GB級のカードに載るかどうかがこの差で入れ替わる場面があります。
ブロック単位で倍率を持つ、という発想
4bitで表せる値は16通りしかありません。モデル全体をその16通りに押し込めば、大きな値も小さな値も潰れます。そこで近くにある重みだけをまとめて、そのグループに合った倍率をかけるのがブロック量子化です。GGUFのK-quant系も考え方は同じで、違いはブロックの大きさとスケールの持ち方にあります。MXFP4のスケールは E8M0 — 指数だけで仮数を持たないため、倍率は2の冪乗しか表現できません。この割り切りがハードウェア実装を単純にする一方、精度面では後発の NVFP4 に譲る部分になります。
当サイト収録モデルでの実例
- gpt-oss 20B / 120B — MXFP4。ただし全層ではなくMoEの専門家層のみが4bitで、注意層とembeddingはBF16のまま配布されています。したがって「総パラメータ × 4.25bit」がそのままファイルサイズにはなりません。
- Kimi K3 — MXFP4の重みに加え、活性値をMXFP8で扱う設計です。後から圧縮したのではなく量子化を織り込んで学習(QAT)しているため、事後量子化より劣化が小さいとされています。
判定表の「Q4_K_M」をそのまま信じてはいけない場合
これらのモデルは公式が単一の精度でしか配布していません。当サイトのモデルページは全モデル共通のラダー(Q4_K_M / Q5_K_M / …)で必要VRAMを計算していますが、それは「もしその精度に変換したら」という理論換算であって、その形式のファイルが実在するとは限りません。該当モデルのページには公式配布形式を明記した注記を出しています。ローカルで実際に動かすときは、配布されている形式(とそれを読めるランタイム)を先に確認してください。
関連用語
- 量子化とGGUF — モデルを小さく圧縮して少ないVRAMで動かす技術。Q4_K_M などの記号の読み方
- NVFP4 — NVIDIA版のFP4。ブロック16・E4M3スケールで精度を取り、実効4.5bit
- MoE(Mixture of Experts) — 「総パラメータは大きいが、毎回動くのは一部だけ」という設計。容量は総量・速度は実効で決まる
参考資料(出典)
▶ あなたのPCで動くモデルを自動判定する(スペック送信なし・ブラウザ内完結)
上記はアフィリエイトリンクです。経由して課金された場合、当サイトに紹介料が入ります。