Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

FP8

FP8はE4M3とE5M2のバリアントを持つ8ビット浮動小数点形式です。対応GPUでは、16ビット形式と比べてメモリ使用量を半減し、行列演算のスループットを2倍にできます。

FP8は、16ビット形式と比べてメモリとデータ転送量を半分にしながらニューラルネットワークのトレーニングと実行を可能にする、8ビット浮動小数点数の形式です。ほかの浮動小数点型と同様に、各値は符号ビット、表現範囲を決める指数ビット、精度を決める仮数ビットで構成されますが、合計8ビットしかないため、範囲と精度の両方が大きく制限されます。NVIDIA、Arm、Intelのエンジニアは、2022年9月の論文FP8 Formats for Deep Learningで、標準となる2種類の形式E4M3とE5M2を定義し、最大1,750億パラメーターの言語モデルのトレーニングで有効性を検証しました。2022年に登場したNVIDIA Hopper H100など、FP8 Tensor Coreを搭載するGPUでは、FP8の行列乗算はFP16やBF16の2倍のスループットで実行されます。

E4M3とE5M2#

2種類の形式では、符号以外の7ビットを異なる方法で割り当てます。

  • E4M3: 指数部が4ビット、仮数部が3ビットです。無限大を使わず、NaNのパターンを1つに絞ることで最大値448を実現します。順方向パスの重みやアクティベーションに適しています。
  • E5M2: 指数部が5ビット、仮数部が2ビットで、特殊値にはIEEE 754の規約に従います。刻み幅は粗くなりますが、最大値は57,344です。値の範囲がより広く変動する勾配に適しています。

どちらの形式も小さな値をゼロに切り捨て、大きな値をクリップするため、FP8テンソルでは通常、表現可能な範囲に値を移すスケール係数を使います。勾配サイズの値をスケーリングありとなしでキャストすると、その理由が分かります。

import torch

torch.manual_seed(0)
grads = torch.randn(10_000) * 1e-4  # gradient-sized values, far below 1
e4m3, e5m2 = torch.float8_e4m3fn, torch.float8_e5m2
print(f"E4M3 max {torch.finfo(e4m3).max:g}, E5M2 max {torch.finfo(e5m2).max:g}")

# Per-tensor scaling maps the largest magnitude onto the E4M3 maximum before casting
scale = torch.finfo(e4m3).max / grads.abs().max()
results = {
    "E4M3 direct": grads.to(e4m3).float(),
    "E5M2 direct": grads.to(e5m2).float(),
    "E4M3 scaled": (grads * scale).to(e4m3).float() / scale,
}

for name, restored in results.items():
    zeros = (restored == 0).float().mean()
    error = ((restored - grads).abs() / grads.abs()).median()
    print(f"{name}: {zeros:.0%} rounded to zero, median relative error {error:.1%}")

E4M3に直接キャストすると値の100%がゼロに丸められます。E5M2では、より広い範囲によって大半の値が保持され、相対誤差の中央値は6.4%、失われる値は7%です。先にスケーリングすると、E4M3でも誤差の中央値が2.2%の状態ですべての値を保持できます。PyTorchは、AMDのMI300アクセラレーターが使うfloat8_e4m3fnuzとfloat8_e5m2fnuzも提供しています。これらの形式では負のゼロを取り除き、指数バイアスをずらすため、E4M3の上限は240になります。そのため、FP8モデルはベンダー間で自動的に移植できるわけではありません。

スケーリング戦略#

テンソル全体に1つのスケールを適用すると、少数の外れ値が最大値を決め、ほかの値をゼロに近づけてしまいます。これはTransformerのアクティベーションでよく見られる問題です。スケーリングの粒度は手法によって異なります。

  • テンソル単位の遅延スケーリング: NVIDIAのTransformer Engineは、直近のトレーニングステップで観測された最大値から各テンソルのスケールを選ぶため、データを再処理する必要がありません。
  • ブロックスケーリング: DeepSeek-V3は、アクティベーションを1 × 128値のタイル単位、重みを128 × 128のブロック単位でスケーリングしました。チームは、6,710億パラメーターの超大規模モデルでFP8トレーニングを初めて検証したと報告しました。
  • MXFP8: Open Compute Projectのマイクロスケーリング形式は、32個の値ごとに1つの2のべき乗スケールを共有します。NVIDIAのBlackwell GPUはこの形式をハードウェアで実行します。

行列乗算では、結果をより高精度で累積します。また、正規化、softmax、オプティマイザーのマスターウェイトなど、精度が重要または処理コストが小さい層には、BF16またはFP32を使います。そのため、FP8は混合精度の手法の一部です。

トレーニングと推論におけるFP8#

トレーニングでは、NVIDIAのTransformer EngineとTorchAOが、マスターウェイトを高精度のまま保持しつつ、線形層をFP8版に置き換えます。推論では、サービングエンジンが大規模言語モデルのモデルウェイトとKVキャッシュをFP8で保存します。これにより、16ビット形式と比べてメモリ使用量が半分になり、より多くのリクエストを同時に処理できます。TensorRTも、FP8 Tensor Coreを搭載するGPU向けにFP8エンジンを構築します。この形式の利点を得るには、ハードウェアのサポートが必要です。NVIDIAのA100はTensor Core上でFP16、BF16、INT8を実行できますが、FP8ユニットは搭載していません。一方、Ada Lovelace、Hopper、Blackwellの各GPUとAMDのMI300シリーズはFP8に対応しています。

FP8は、隣接する形式の中間に位置します。

  • FP16または半精度: ビット数は2倍で、仮数部は10ビットです。多くの推論用途では、テンソル単位のスケーリングなしで十分な範囲を確保できます。
  • FP4: ビット数はさらに半分になり、精度を保つために細粒度のブロックスケーリングを使います。
  • INT8: もう1つの8ビット形式です。FP8の指数に基づく間隔ではなく、等間隔の256段階を使うため、キャリブレーション済みのスケールが必要です。その一方で、多くのCPUやNPUを含む、より幅広いハードウェアで実行できます。

Ultralytics YOLO26は、8ビット推論にINT8方式を採用しています。エクスポートモードでquantize=8を使ってTensorRTやOpenVINOなどの形式にエクスポートすると、dataデータセットの画像でスケールをキャリブレーションする、学習後のモデル量子化が実行されます。一方、量子化を意識したトレーニングを通じてquantize=8でファインチューニングしたモデルは、学習した範囲を使ってTensorRTにエクスポートでき、キャリブレーションは不要です。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン
スポーツにおけるコンピュータービジョン
Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン
航空画像向けコンピュータービジョン
Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン
航空宇宙分野のコンピュータービジョン
Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン
セキュリティ分野のコンピュータービジョン
Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン
ロボティクス分野のコンピュータービジョン
Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン
物流におけるコンピュータービジョン
Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン
小売業におけるコンピュータービジョン
Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン
医療分野におけるコンピュータービジョン
Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン
製造業におけるコンピュータービジョン
Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン
自動車分野におけるコンピュータービジョン
Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン
農業におけるコンピュータービジョン
Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン
スポーツにおけるコンピュータービジョン
Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン
航空画像向けコンピュータービジョン
Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン
航空宇宙分野のコンピュータービジョン
Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン
セキュリティ分野のコンピュータービジョン
Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン
ロボティクス分野のコンピュータービジョン
Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン
物流におけるコンピュータービジョン
Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン
小売業におけるコンピュータービジョン
Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン
医療分野におけるコンピュータービジョン
Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン
製造業におけるコンピュータービジョン
Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン
自動車分野におけるコンピュータービジョン
Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン
農業におけるコンピュータービジョン
Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう