技术指南

FP8 和低精度格式

FP8 是一种 8 位浮点数格式,允许 AI 模型使用标准 32 位数字四分之一的内存来存储权重并运行数学。

概述

FP8 是一种 8 位浮点数格式,允许 AI 模型使用标准 32 位数字四分之一的内存来存储权重并运行数学。这是让巨型模型更便宜、更快地训练和服务的关键技巧。

FP8 和低精度格式是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

神经网络由数十亿个数字组成。传统上,这些数字均使用 32 位 (FP32) 或 16 位 (FP16/BF16)。 FP8 将它们缩小到只有 8 位,与 16 位相比,内存和带宽大约减少了一半。有两种常见的 FP8 布局:E4M3(4 个指数位,3 个尾数位)提供更高的精度,但范围更小,而 E5M2(5 个指数,2 个尾数)提供更宽的范围,但步长更粗。权衡是保真度:更少的位数意味着舍入误差。为了保持准确性,框架应用每个张量或每个块的缩放因子,将值重新调整到 FP8 的可用范围。 NVIDIA 的 Hopper 和 Blackwell GPU 添加了硬件 FP8 矩阵引擎,使其适用于训练和推理。 MXFP8、MXFP4 和 NVFP4 等较新的格式通过共享微缩放块将性能推得更低。

技术洞察

FP8 的挑战是动态范围。仅使用少量指数位,大或小的激活就会溢出或下溢为零。解决方法是缩放:将张量乘以一个因子,使其值落在 FP8 的可表示窗口中,进行 FP8 乘法累加,然后除掉,通常以更高的精度累加部分和(FP16/FP32)。 E4M3 通常用于权重和激活,E5M2 用于梯度,其中范围比精度更重要。

掌握 FP8 和低精度格式

FP8 是一种 8 位浮点数格式,允许 AI 模型使用标准 32 位数字四分之一的内存来存储权重并运行数学。这是让巨型模型更便宜、更快地训练和服务的关键技巧。 FP8 和低精度格式是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将 FP8 和低精度格式视为一种操作模型,而不是单一功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。

在实践中,使用 FP8 和低精度格式的强大团队根据可靠性和成本优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

多年来,架构决策决定着性能和运营成本。

多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

更好的工程选择可以减少生产中的可靠性事故。

更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

FP8 和低精度格式的未来

精度正在急剧下降。 FP8 之后出现了 4 位微缩放格式(MXFP4、NVFP4),每个小块包含一个微小的共享缩放,Blackwell 硬件现在可以直接加速 FP4。期望混合精度配方,其中不同层使用不同的位宽度,加上更好的量化感知训练,因此 4 位成为推理的默认值。最终的目标是将前沿规模的模型压缩到更少、更便宜的芯片上,而不会造成明显的质量损失。

现实世界的实施

使用 FP8 在 NVIDIA Hopper/Blackwell GPU 上训练大型语言模型,吞吐量比 BF16 大约翻倍

在 FP8 中提供聊天机器人推理服务,以便模型适合更少的 GPU 并每秒响应更多请求

在分布式训练过程中使用E5M2进行梯度通信,以减少节点之间的网络带宽

部署 MXFP4/NVFP4 量化模型以在单个高内存 GPU 上拟合前沿规模模型,以实现更便宜的推理

实施模式

FP8 和低精度格式的实践

使用 FP8 在 NVIDIA Hopper/Blackwell GPU 上训练大型语言模型,吞吐量大约是 BF16 的两倍。

使用 FP8 在 NVIDIA Hopper/Blackwell GPU 上训练大型语言模型,吞吐量大约是 BF16 的两倍。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

FP8 和低精度格式的实践

在 FP8 中提供聊天机器人推理服务,以便模型适合更少的 GPU 并每秒回答更多请求。

在 FP8 中提供聊天机器人推理服务,以便模型适合更少的 GPU 并每秒响应更多请求 当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

FP8 和低精度格式的实践

在分布式训练过程中使用E5M2进行梯度通信,以减少节点之间的网络带宽。

在分布式训练期间使用 E5M2 进行梯度通信,以减少节点之间的网络带宽 当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力增益和错误成本时,通常会获得更好的结果。

FP8 和低精度格式的实践

部署 MXFP4/NVFP4 量化模型以在单个高内存 GPU 上拟合前沿规模模型,以实现更便宜的推理。

部署 MXFP4/NVFP4 量化模型以在单个高内存 GPU 上拟合前沿规模模型,以实现更便宜的推理 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

风险与防护栏

!

优化一项基准测试可以隐藏更广泛的系统弱点。

!

基础设施和维护成本常常被低估。

!

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

在实际负载和数据条件下进行基准测试。

在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

仪器监控错误、漂移和用户影响。

仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

在扩展之前准备回滚和事件响应路径。

在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索