FP4
FP4量子化がどのようにAIモデルを圧縮し、メモリ使用量を削減し、推論を高速化するかを学びましょう。NVFP4、MXFP4、FP8、INT4、およびFP16形式を比較します。
FP4は、モデル量子化を通じてAIモデルを圧縮・高速化するために使用される4ビット浮動小数点フォーマットのファミリーです。一般的に、各値を1つの符号ビット、2つの指数ビット、1つの仮数ビット(E2M1と呼ばれます)で表現します。FP16と比較して、FP4はメモリトラフィックとストレージを大幅に削減でき、対応するGPUでの大規模モデルの高速処理を支援します。NVIDIAのNVFP4低精度フォーマットは、Blackwell世代のハードウェア向けに設計された代表的な実装です。(developer.nvidia.com)
Link to this sectionFP4の仕組み#
わずか16通りのビットパターンしかない標準的なFP4では、ニューラルネットワークに見られる広範な値を正確に表現できません。そのため、最新の実装ではテンソルを小さなブロックに分割し、各ブロックに共通のスケールを保存します。例えば、NVIDIAのNVFP4量子化スキームは16個のE2M1値からなるブロックを使用し、オープンなOCP Microscaling Formats仕様はマイクロスケーリングメタデータを含むMXFP4を定義しています。
計算中、推論エンジンは高精度の値を量子化し、FP4でサポートされている行列演算を実行し、必要に応じて結果をより高い精度で返します。現在のTorchAO NVFP4推論サポートでは、ウェイトとアクティベーションに対して動的アクティベーション量子化と二重スケーリングを使用しています。(docs.nvidia.com)
Link to this sectionFP4と関連フォーマットの比較#
- FP16または半精度: 数値の範囲がはるかに広く、一般的にデプロイも容易ですが、値あたりのビット数が4倍必要です。
- FP8: 通常、FP4よりも高い精度とトレーニングの安定性を提供しますが、ストレージ容量は約2倍必要です。
- BF16: 指数範囲が広いためオーバーフローのリスクが低く、トレーニングに広く使用されています。2025年のFP4 All the Way研究では、適切にスケーリングされたFP4トレーニングがBF16のパフォーマンスに近づけることが示されました。
- INT4: 浮動小数点の指数の代わりに整数レベルを使用します。FP4は異なる大きさの値をより自然に表現できますが、INT4はウェイトのみの圧縮には適している場合があります。
- NVFP4とMXFP4の比較: NVFP4はより小さなブロックとより高い精度のスケールを使用しており、メタデータのコストはわずかですが、一般的に精度が向上します。
FP4は、無関係なAMD FP4プロセッサソケットを指す場合もあります。AIにおいてFP4は4ビット浮動小数点演算を意味し、古いノートPCのCPUパッケージとは異なります。
Link to this section実社会での応用#
-
生成画像推論: NVIDIAはRTX 50シリーズGPUでのFP4画像生成を実証しました。これにより、メモリ使用量が削減され、生成AIで使用される拡散モデルのワークロードが加速されます。
-
Large-model training and serving: Blackwell systems have used NVFP4 in MLPerf training to improve large language model throughput. FP4 can similarly benefit future memory-bound computer vision systems that require real-time inference. (developer.nvidia.com)
Link to this sectionFP4の効果的な使用方法#
As of July 2026, hardware-accelerated FP4 matrix operations require NVIDIA Blackwell or newer GPUs; the H100 is Hopper-based and does not provide native FP4 acceleration. Developers should confirm compatibility through the TensorRT hardware support matrix, validate accuracy after conversion, and consider quantization-aware training using the TorchAO QAT workflow when post-training quantization causes excessive degradation. (docs.nvidia.com)
Ultralyticsは現在、YOLO26向けに本番環境対応のFP16およびINT8エクスポートを提供しています。この比較可能なワークフローにより、最適化されたTensorRTエンジンが作成されます:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
engine = model.export(format="engine", quantize=16)
results = YOLO(engine).predict("https://ultralytics.com/images/bus.jpg")Ultralytics TensorRT統合ではサポートされている精度オプションについて説明しており、YOLOベンチマークモードは精度とレイテンシの比較に役立ちます。実験的なFP4デプロイメントについては、TensorRT-RTX精度のベストプラクティスおよびMicro-Rotated GPTQのようなフォーマット固有の技術に従ってください。FP4は、適切に最適化されたINT4やFP8ワークフローよりも自動的に精度が高かったり高速だったりするわけではないためです。






