MXFP4

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

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 に譲る部分になります。

当サイト収録モデルでの実例

判定表の「Q4_K_M」をそのまま信じてはいけない場合

これらのモデルは公式が単一の精度でしか配布していません。当サイトのモデルページは全モデル共通のラダー(Q4_K_M / Q5_K_M / …)で必要VRAMを計算していますが、それは「もしその精度に変換したら」という理論換算であって、その形式のファイルが実在するとは限りません。該当モデルのページには公式配布形式を明記した注記を出しています。ローカルで実際に動かすときは、配布されている形式(とそれを読めるランタイム)を先に確認してください。

関連用語

参考資料(出典)

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

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

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