FP4/NVFP4(4ビット浮動小数点量子化)(エフピーフォー・エヌブイエフピーフォー)
NVIDIA Blackwellアーキテクチャ(RTX 5090/GB200)で導入されたネイティブ4ビット浮動小数点フォーマット。INT4と異なり指数部を持つことで動的範囲を確保し、LLM推論でINT8比2倍のスループットを実現する。TensorRT-LLM 0.17以降で実用化。
FP4/NVFPとは
FP4(4-bit Floating Point)は、LLMの推論効率を飛躍的に高めるために設計された超低精度浮動小数点フォーマットです。2024〜2025年に登場したNVIDIA Blackwellアーキテクチャ(RTX 5090・RTX 5080・GB200 NVL72)でハードウェアレベルのFP4演算が初めて実用化されました。
2026年現在、LLMデータセンター推論の最先端はFP8からFP4への移行が進んでおり、GB200 NVL72クラスタではFP4でGPT-4相当モデルを実用速度で稼働させることが可能です。コンシューマ向けでもRTX 5090(2025年1月発売、¥398,000〜)がFP4をサポートし、ゲームPCで本格的なLLM推論が行えるようになっています。
FP4フォーマットの数値表現
NVFP4フォーマット(E2M1)
ビット構成: [符号 1bit][指数 2bit][仮数 1bit]
- 表現可能な値: ±0, ±0.5, ±1, ±1.5, ±2, ±3, ±4, ±6(15値)
- 最大値: 6.0
- 最小正値: 0.5
- スケーリング必須: 16〜32要素ごとにFP8スケールファクターで動的範囲を確保
MXFP4フォーマット
AMD・Intel・Microsoft・NVIDIAがOpenCompute Projectで提案した標準化規格。1ブロック32要素に1個のE8M0スケールファクターを付与。
| フォーマット | 符号 | 指数 | 仮数 | 動的範囲 | 用途 |
|---|---|---|---|---|---|
| FP32 | 1 | 8 | 23 | ±3.4×10³⁸ | 訓練(高精度) |
| FP16 | 1 | 5 | 10 | ±65504 | 訓練・推論 |
| BF16 | 1 | 8 | 7 | ±3.4×10³⁸ | 訓練・推論 |
| FP8 E4M3 | 1 | 4 | 3 | ±448 | Hopper推論 |
| NVFP4 E2M1 | 1 | 2 | 1 | ±6 | Blackwell推論 |
| INT4 | 1(符号) | なし | 3 | ±8(整数) | 量子化推論 |
Blackwell世代のFP4性能
| GPU | 世代 | FP4 TFLOPS | FP8 TFLOPS | FP16 TFLOPS | VRAM |
|---|---|---|---|---|---|
| GB200 | Blackwell(サーバー) | 40,000 | 20,000 | 10,000 | 192 GB HBM3e |
| B200 | Blackwell(サーバー) | 18,000 | 9,000 | 4,500 | 192 GB HBM3e |
| H100 | Hopper(前世代) | 非対応 | 3,958 | 1,979 | 80 GB HBM3 |
| RTX 5090 | Blackwell(コンシューマ) | 838 | 419 | 209.5 | 32 GB GDDR7 |
| RTX 5080 | Blackwell(コンシューマ) | 572 | 286 | 143 | 16 GB GDDR7 |
INT4との比較
| 観点 | INT4 | FP4(NVFP4) |
|---|---|---|
| 表現タイプ | 整数 | 浮動小数点 |
| 外れ値への対応 | ブロックスケール必要 | スケール係数+指数ビット |
| 推論演算 | dequantize後FP16 | Blackwell Tensor Core直接演算 |
| ハードウェア | Turing以降(Tensor Core) | Blackwell以降のみ |
| ソフトウェア対応 | TensorRT, llama.cpp | TensorRT-LLM 0.17+, vLLM 0.6+ |
TensorRT-LLMでのFP4推論
import tensorrt_llm
from tensorrt_llm.quantization import QuantConfig, QuantMode
quant_config = QuantConfig(
quant_mode=QuantMode.use_fp4_weights() | QuantMode.use_fp4_activations()
)
builder = Builder()
builder.build_engine(
model_path="meta-llama/Meta-Llama-3.1-70B-Instruct",
quant_config=quant_config,
output_dir="./engines/llama3.1-70b-fp4"
)
自作PCでの実用シナリオ(2026年)
RTX 5090(32GB GDDR7): FP4でLlama 3.1 70B(消費VRAM約17.5GB)が余裕で稼働。FP8比で約2倍のトークン生成速度が期待できます。ただしTensorRT-LLMまたはvLLM 0.6+が必要でOllamaは未対応(2026年5月時点)。
RTX 5080(16GB GDDR7): Llama 3.1 8BをFP4で高速推論。テキスト生成速度はH100比で遜色なく、コンシューマGPUで本格的なLLM APIサーバーを構築できます。
よくある質問(FAQ)
Q1: FP4はGPTQやAWQのような「ソフトウェア量子化」と何が違いますか? A: GPTQ/AWQはFP16重みを量子化してINT4でメモリ保存し推論時にデクォンタイズします。FP4はBlackwell GPU上でFP4のまま演算(Tensor Core直接計算)するため、デクォンタイズオーバーヘッドがなく実測2倍のスループットを実現します。
Q2: 既存のRTX 4090でFP4は使えますか? A: ハードウェア的に使えません。RTX 4090はAda Lovelaceアーキテクチャ(Compute Capability 8.9)でFP8まで対応。FP4はCompute Capability 10.0以上のBlackwell世代(RTX 5000シリーズ、B/GB200)が必要です。
Q3: FP4で精度はどのくらい落ちますか? A: キャリブレーションデータを用いた量子化前提でperplexityは概ねFP16比5〜15%劣化(INT4比では良好)。実用的な応答品質は維持されます。
まとめ
- BlackwellアーキテクチャでLLM推論の演算効率が劇的に向上
- FP8比で2倍のスループット、FP16比で4倍(GB200での実績値)
- コンシューマ向けはRTX 5090からサポート、2025年1月より入手可能
- ソフトウェアエコシステムは2026年現在も急速に整備中