詳細解釋
8-bit 浮點數格式(FP8),NVIDIA Hopper 架構(H100)引入的低精度數值格式,用於加速 AI 訓練和推理,同時保持精度。
技術規格:
- E4M3:4 位指數,3 位尾數,範圍小但精度高
- E5M2:5 位指數,2 位尾數,範圍大但精度低
- 動態選擇:Transformer Engine 根據層自動選擇
優勢:
- 內存:比 FP16 省 50% 內存,可訓練更大模型
- 速度:Tensor Core 對 FP8 優化,吞吐量翻倍
- 功耗:低精度計算更節能
與其他格式對比:
- FP32:標準精度,訓練穩定但慢
- FP16/BF16:當前主流,2 字节
- INT8:整數量化,推理用,訓練不穩定
- FP8:訓練和推理都可用,精度損失小
NVIDIA Transformer Engine:
- 自動管理 FP8 精度
- 前向傳播動態選擇每層最佳格式
- 反向傳播自動回退到 FP16(需要更高精度)
- 損失縮放:防止 FP8 下溢
採用狀況(2024):
- H100、H200 原生支持
- PyTorch 2.0+、TensorFlow 整合
- 主要框架(Megatron、DeepSpeed)支持
- 各大 AI 實驗室用於大模型訓練
局限:
- 僅 Hopper+ 架構支持(A100 不支持)
- 某些網絡層(LayerNorm、Softmax)仍需 FP16
- 調試更複雜(數值問題難追踪)
這是「AI 硬件-軟體協設計」的代表—— 新數值格式需硬件支持,才能釋放性能增益。