YOLO Vision 2026:
返回 Ultralytics 术语表

FP4

了解 FP4 量化如何压缩 AI 模型、减少内存使用并加速推理。比较 NVFP4、MXFP4、FP8、INT4 和 FP16 格式。

FP4 是一系列用于通过模型量化压缩和加速 AI 模型的 4 位浮点格式。它通常使用 1 个符号位、2 个指数位和 1 个尾数位表示每个值,这种格式称为 E2M1。与 FP16 相比,FP4 可以大幅减少内存流量和存储开销,帮助受支持的 GPU 更快地处理大型模型。NVIDIA 的 NVFP4 低精度格式是专为 Blackwell 这一代硬件设计的一种重要实现。(developer.nvidia.com

FP4 的工作原理#

由于只有 16 种可能的位模式,普通 FP4 无法准确表示神经网络中的宽范围数值。因此,现代实现会将张量划分为较小的块,并为每个块存储一个共享缩放因子。例如,NVIDIA 的 NVFP4 量化方案使用包含 16 个 E2M1 值的块,而开放的 OCP 微缩放格式规范则定义了带有微缩放元数据的 MXFP4。

在计算过程中,推理引擎会将更高精度的值进行量化,在 FP4 中执行受支持的矩阵运算,并在必要时以更高精度返回结果。目前的 TorchAO NVFP4 推理支持对权重和激活使用动态激活量化及双重缩放。(docs.nvidia.com

FP4 与相关格式的比较#

  • **FP16 或半精度:**提供大得多的数值范围,通常也更易于部署,但每个值使用的位数是 FP4 的四倍。
  • **FP8:**通常比 FP4 提供更高的精度和更好的训练稳定性,同时所需存储空间约为其两倍。
  • **BF16:**由于较大的指数范围可以降低溢出风险,因此常用于训练。2025 年的 FP4 All the Way 研究表明,经过仔细缩放的 FP4 训练可以接近 BF16 的性能。
  • **INT4:**使用整数级别,而不是浮点指数。FP4 可以更自然地表示不同数量级的值,而 INT4 可能适用于仅压缩权重。
  • **NVFP4 与 MXFP4:**NVFP4 使用更小的块和更高精度的缩放因子,通常可以在仅增加少量元数据开销的情况下提升精度。

FP4 也可能指一种无关的 AMD FP4 处理器插槽。在 AI 中,FP4 指 4 位浮点运算,而不是较早的笔记本电脑 CPU 封装。

实际应用#

  1. **生成式图像推理:**NVIDIA 展示了在 RTX 50 系列 GPU 上使用 FP4 生成图像,减少了内存使用,并加速了生成式 AI中使用的扩散工作负载。

  2. **大型模型训练与服务:**Blackwell 系统已在 MLPerf 训练中使用 NVFP4,以提升大型语言模型的吞吐量。对于需要实时推理的未来计算机视觉系统,FP4 同样可以带来益处,尤其是在内存带宽受限的情况下。(developer.nvidia.com

有效使用 FP4#

截至 2026 年 7 月,硬件加速的 FP4 矩阵运算需要 NVIDIA Blackwell 或更新的 GPU;H100 基于 Hopper,不提供原生 FP4 加速。开发者应通过 TensorRT 硬件支持矩阵确认兼容性,在转换后验证精度,并在训练后量化导致过度性能下降时,考虑使用 TorchAO QAT 工作流进行量化感知训练。(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 等针对特定格式的技术,因为与经过良好优化的 INT4 或 FP8 工作流相比,FP4 并不会自动带来更高的精度或更快的速度。

Explore solutions

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅