blog.dopana

Back

2025-2026年、数値フォーマットの革命がローカルLLM推論を変えた。MXFP4(Microscaling FP4)— OCP標準化の4ビット浮動小数点フォーマット — により、120Bパラメータのモデルが1枚の80GB GPUに収まり、FP16に近い品質を実現する。

MXFP4とは#

MXFP4はブロック浮動小数点4ビットフォーマットで、OCP(v1.0、2023年9月)により標準化。Microsoft、AMD、Arm、Intel、Meta、NVIDIA、Qualcommが支援。

構造: 32要素のブロックが1つの8ビット指数スケール(E8M0)を共有。各要素はE2M1(符号1、指数2、仮数1)。値の範囲[-6, 6]。コスト:4.25ビット/要素(32×4 + 8ビット / 32)。

ファミリー:MXFP8(E5M2/E4M3)、MXFP6(E3M2/E2M3)、MXFP4(E2M1)、MXINT8。

NVFP4(NVIDIA、2025年6月):ブロックサイズ16(標準は32)、スケールにFP8 E4M3(E8M0ではなく)、加えてテンソル単位のFP32スケール。4.5ビット/要素で高精度。Blackwell FP4テンソルコア向けに設計。

HiF4(2026年):別の4ビットBFP変種。LLaMA、Qwen、Mistral、DeepSeek-V3.1でNVFP4より高精度と主張。

MXFP4/NVFP4を使用するモデル#

モデルフォーマット詳細
DeepSeek-V4(1.6T MoE)NVFP4 QATエキスパート重み+スパースアテンションインデクサーをFP4で
GPT-OSS 120B/20BMXFP4 QATMoEエキスパート(>90%パラメータ)をMXFP4で学習。120Bが1×80GB GPUに搭載
Llama 4 Scout/MaverickNVFP4NVIDIAチェックポイント公開
Qwen 3, 3.6NVFP4nvidia-modelopt経由で量子化
DeepSeek-R1NVFP4/MXFP4NVIDIA: NVFP4、AMD: MXFP4-ASQ

2026年4月時点で、OpenAI、Anthropic、Google、そしてほとんどのオープンソースas-a-serviceプロバイダーがMXFP4をデフォルト推論フォーマットとして使用。

llama.cppとFP4#

llama.cppは2026年初頭からFP4をサポート:

  • NVFP4(メインライン):Type ID GGML_TYPE_NVFP4 = 40。CUDA dp4aカーネル、汎用MMQカーネル、SYCL、Vulkan — すべてマージ済み。Blackwellネイティブディスパッチはビルドb8967(2026年4月)。
  • MXFP4(ik_llama.cpp — Iwan Kawrakowのフォーク):2025年11月からサポート、fused-MoE最適化を含むGPT-OSS対応。

ハードウェアの現実:

GPUNVFP4パフォーマンス
Blackwell(RTX 5090、B200、GB200)フルテンソルコアアクセラレーション
Ada Lovelace(RTX 4090)メモリ節約、小さな高速化
Ampere(RTX 3090、A100)メモリ節約のみ、計算性能向上なし
AMD MI300XROCm経由でMXFP4対応

vLLMとFP4#

vLLMはBlackwell GPU上でMXFP4 W4A4とNVFP4 ModelOptフォーマットの両方をサポート:

  • MXFP4 W4A4: 重みとアクティベーションの両方がfloat4_e2m1fn_x2。シングルスケール(オンライン、ベースライン)とデュアルスケール(チェックポイント準備が必要)の2方式。
  • NVFP4: HFから事前量子化モデルを--quantization modeloptでロード。DenseとMoEの両方に対応。
  • KVキャッシュFP8: --kv-cache-dtype fp8 — 実行時にKVキャッシュを量子化。

ベンチマーク(Spheron、2026年4月)— Llama 3.3 70B:

GPU精度Tok/sVRAM(重み)コスト/100万トークン
B200 SXM6NVFP4~12,841~35 GB~$0.161
B200 SXM6FP8~6,972~70 GB~$0.296
H100 SXMFP8~3,066~70 GB~$0.263
A100 80GAWQ INT4~1,800~35 GB~$0.253

量子化オプション#

llama.cpp(静的、オフライン)#

llama-quantizeはオフラインで量子化を適用。オプション:

  • K-quants: Q2_K → Q6_K、S/M/_Lでテンソルごとの混合制御
  • I-quants: IQ1_S → IQ4_NL、IQ4_XS — 非線形、キャリブレーションが必要
  • NVFP4/MXFP4: 最新の静的フォーマット
  • KVキャッシュ実行時: --cache-type-k q4_0 --cache-type-v q4_0

vLLM(動的)#

  • FP8オンライン動的: --quantization fp8。アクティベーションはテンソルごとに動的スケール。キャリブレーション不要。
  • FP8静的+動的アクティベーション: 重みは静的、アクティベーションは動的。
  • FP8 KVキャッシュ動的: --kv-cache-dtype fp8。ヘッドごとのスケール対応。
  • NVFP4: 静的重み(ModelOpt経由)。アクティベーションは静的または動的。

品質とビット幅#

  • MXFP4ベースラインはMMLU-Proで最大10%低下(DeepSeek-R1、FP16比)。
  • NVFP4はこの差を大部分埋める。
  • 新技術(OAS、MBS、ICML 2026)により、MXFP4は6.2%のGEMMオーバーヘッドでNVFP4の1%以内に。
  • AMD評価(2025年10月):MXFP4の精度はモデルサイズに比例。DeepSeek-R1-0528はMXFP4で96%+を維持。小規模モデル(70B)は劣化が大きく、MXFP6や混合MXFP4-MXFP6で大幅改善。

結論#

MXFP4とNVFP4が状況を一変させた:120Bパラメータのモデルが1枚の15K80GBGPUに収まり、15Kの80GB GPUに収まり、1M+のクラスタは不要に。llama.cppとvLLMのサポートも成熟し、強力なLLMのセルフホスティングはもはや手の届かないものではない。

参考文献#