微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 NVIDIA突破4位浮点训练瓶颈:让大模型训练速度翻倍的NVFP4技术

NVIDIA突破4位浮点训练瓶颈:让大模型训练速度翻倍的NVFP4技术

2025-10-22 09:11
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-10-22 09:11 科技行者

这项由NVIDIA团队在2025年9月发表的研究,标志着大型语言模型训练精度优化的重要突破。论文详细介绍了NVFP4格式及其配套训练方法,有兴趣深入了解的读者可以通过arXiv:2509.25149查询完整论文。

当我们谈论人工智能训练时,就像在讨论一场精密的烹饪过程。厨师需要精确控制火候、调料分量,而AI训练则需要精确控制数字的表示方式。长期以来,训练大型语言模型就像用最精细的电子秤称量每一粒盐——虽然精确,但效率极低,成本高昂。NVIDIA的研究团队现在找到了一种新方法,让这个过程既保持精度,又大大提高效率。

传统的大型语言模型训练需要使用16位甚至32位的数字精度,这就好比用显微镜来观察每一个细节。虽然能看得很清楚,但处理速度慢,需要的存储空间大,耗电量也惊人。近年来,8位精度训练已经成为主流,就像从显微镜换成了高倍放大镜——精度稍有降低,但效率大大提升。

现在,NVIDIA团队更进一步,成功实现了4位精度训练。这就像从放大镜换成了普通眼镜,看起来精度下降了很多,但通过巧妙的技术手段,竟然能保持几乎相同的"视力"。这种突破意味着训练速度可以提升2到3倍,同时将内存使用量减少一半。

一、NVFP4格式:精密的数字压缩艺术

要理解NVFP4的革命性,我们需要先了解数字在计算机中的存储方式。传统上,计算机存储一个数字需要多个"格子",每个格子记录数字的不同部分——就像用多个抽屉来存放一个物品的不同部分。4位格式意味着只用4个这样的格子,空间极其有限。

NVFP4的巧妙之处在于引入了"微缩放"技术。想象一下,你要把一大堆不同大小的物品装进很多个小盒子里。传统方法是为每个盒子选择一个固定的缩放比例,但这样会导致有些物品装不下,有些盒子又浪费了很多空间。NVFP4采用了更聪明的两级缩放策略:首先,对整个物品集合应用一个全局缩放,确保所有物品都能大致适配;然后,为每个小盒子再应用一个局部缩放,让每个盒子的利用率达到最佳。

具体来说,NVFP4将16个连续的数值组成一个"块",这比传统MXFP4格式的32个数值的块要小。较小的块意味着每个块内数值的变化范围更小,更容易找到合适的缩放比例。同时,NVFP4使用E4M3格式存储块级缩放因子,而不是传统的UE8M0格式,这就像用更精密的尺子来测量,虽然测量范围小了一些,但精度大大提高了。

为了弥补块级缩放范围的不足,NVFP4在整个张量级别又增加了一个FP32缩放因子。这种两级缩放策略确保了至少6.25%的数值(每个块中的最大绝对值)能以接近8位精度的质量存储,而其余数值则以4位精度存储。

二、训练方法:保持稳定的四大法宝

仅仅有了NVFP4格式还不够,就像有了最好的食材,还需要正确的烹饪方法才能做出美味佳肴。NVIDIA团队开发了四项关键技术来确保4位精度训练的稳定性。

第一项技术是混合精度策略。研究团队发现,并非所有的网络层都能承受4位精度的"考验"。就像在建筑中,承重墙需要用更坚固的材料,而隔断墙可以用轻质材料一样。他们发现网络的最后几层特别敏感,需要保持更高的精度。在12B参数的模型中,他们将前两个块和后八个块保持在BF16精度,只占网络总线性层的16%,但这对训练稳定性至关重要。

第二项技术是随机哈达玛变换。这听起来很复杂,但其实就像洗牌一样。在4位精度下,某些特别大的数值(异常值)会严重影响整体的表示质量,就像一个班级里有个特别高的学生会影响全班的平均身高计算。随机哈达玛变换通过数学方法将这些异常值"打散"分布到更多位置,使得整体分布更加均匀,更适合4位精度表示。

第三项技术是二维块缩放。在训练过程中,同一个权重矩阵会在前向传播和反向传播中以不同的方向被使用,就像一张纸既可以横着读也可以竖着读。传统方法会导致同一个矩阵在两个方向上有不同的量化表示,这违背了数学上的链式法则。二维块缩放确保权重矩阵在前向和反向传播中保持一致的量化表示,就像确保这张纸无论怎么旋转,上面的字都能被正确识别。

第四项技术是随机舍入。传统的舍入方法总是按照固定规则进行,比如总是四舍五入,这会引入系统性偏差,就像一个天平总是向一边倾斜。随机舍入引入了随机性,使得舍入过程在统计上是无偏的,特别是对梯度这样的敏感数据,这种无偏性对训练稳定性至关重要。

三、实验验证:规模空前的成功测试

为了验证NVFP4技术的有效性,NVIDIA团队进行了一次规模空前的实验。他们训练了一个120亿参数的混合Mamba-Transformer模型,使用了10万亿个训练token。这个规模有多大呢?如果把每个token比作一个单词,10万亿个token大约相当于人类历史上所有书籍内容的数十倍。

更令人印象深刻的是,这是目前公开记录中使用4位精度进行的最长训练实验。整个训练过程持续了相当长的时间,研究团队需要确保在如此长的训练过程中,模型不会出现发散或性能退化的问题。

实验结果令人振奋。NVFP4训练的模型在验证损失上与FP8基线保持了惊人的接近。在稳定训练阶段,相对误差始终保持在1%以下,即使在训练后期学习率衰减阶段,误差也仅略微超过1.5%。这就像用普通眼镜看东西,虽然理论上精度不如显微镜,但在实际应用中几乎看不出差别。

在下游任务评估中,NVFP4展现出了与FP8相当的性能。在MMLU-Pro任务上,NVFP4达到了62.58%的准确率,几乎与FP8的62.62%准确率相当。在数学推理、代码生成、多语言理解等多个领域,NVFP4都表现出了令人满意的性能。唯一稍有不足的是在代码生成任务上,NVFP4的表现略低于FP8,但研究团队认为这可能是由于评估的随机性造成的。

四、硬件支持:Blackwell架构的完美配合

NVFP4的成功不仅在于算法创新,还得益于NVIDIA最新Blackwell架构GPU的硬件支持。这就像为新的烹饪方法配备了专门的厨具,硬件和软件的完美配合才能发挥最大效能。

Blackwell架构的Tensor Core专门针对多种微缩放格式进行了优化,包括MXFP8、MXFP6、MXFP4和NVFP4。这些Tensor Core可以直接读取窄精度输入和对应的8位缩放因子,在硬件层面完成缩放和累加操作,最终以FP32精度输出结果。

在性能方面,FP4运算相比FP8有显著提升。在GB200芯片上,FP4运算速度是BF16的4倍,在更新的GB300芯片上更是达到6倍。同时,内存使用量相比FP8减少约50%。这种硬件加速对于需要大量矩阵运算的大模型训练来说意义重大。

Blackwell架构还原生支持多种舍入模式,包括最近偶数舍入和随机舍入,为FP4转换指令提供了灵活的选择。这种硬件层面的支持让NVFP4技术能够在实际部署中达到理论性能。

五、格式对比:NVFP4 vs MXFP4

在4位浮点格式的竞争中,NVFP4面临着MXFP4的挑战。为了证明NVFP4的优势,研究团队进行了直接对比实验。

他们使用80亿参数的混合Mamba-Transformer模型,在1万亿token上进行训练。实验结果显示,NVFP4相比MXFP4有明显优势。具体来说,MXFP4相对于BF16基线的误差约为2.5%,而NVFP4的误差仅为1.5%。

更有趣的是,为了让MXFP4达到与NVFP4相同的损失水平,需要额外训练36%的token,即从1万亿token增加到1.36万亿token。这意味着使用NVFP4可以节省大量的训练时间和计算资源。

这种优势主要源于NVFP4在数值表示上的改进。MXFP4受限于二的幂次缩放因子,经常浪费FP4的表示能力,而NVFP4的更精确缩放能够更充分地利用有限的4位空间。

六、技术细节:量化过程的艺术

NVFP4的量化过程就像一位技艺精湛的工匠,需要在有限的空间内安排好每一个细节。整个过程分为几个精心设计的步骤。

首先是全局张量级缩放。系统计算整个张量的绝对最大值,然后确定一个全局缩放因子,使得所有数值都能大致适应FP4×FP8的表示范围。这个全局缩放的计算公式是6×448除以张量的绝对最大值,其中6是FP4能表示的最大值,448是E4M3格式能表示的最大值。

接下来是局部块级缩放。对于每个16元素的块,系统找到块内的绝对最大值,然后计算一个局部缩放因子,使得这个最大值正好映射到FP4的最大表示值。为了确保这个缩放因子能用E4M3格式存储,系统首先将其乘以全局编码缩放因子,然后量化为E4M3格式。

最后是实际的转换过程。每个元素被乘以对应的局部编码缩放因子,然后量化为FP4格式。在Tensor Core进行矩阵运算时,硬件会自动应用相应的解码缩放因子,将结果恢复到正确的数值范围。

这个过程的巧妙之处在于确保原始数值能够通过编码和解码过程尽可能准确地恢复。虽然由于精度限制不可能完全无损,但通过精心设计的双级缩放策略,大部分数值都能保持相当高的精度。

七、训练稳定性:从理论到实践

要让4位精度训练真正稳定,不仅需要好的数值表示格式,更需要在训练过程中处理各种可能出现的问题。NVIDIA团队通过大量消融实验验证了每项技术的必要性。

在保留高精度层方面,实验显示如果将所有层都量化为FP4,训练会很快发散。通过分析不同层的敏感性,研究团队发现网络的最后几层特别容易受到量化误差的影响。这些层处理的是最终的输出特征,需要更高的数值精度来保证准确性。保留这些关键层的高精度,就像在关键的承重结构上使用更坚固的材料。

随机哈达玛变换的作用在大规模模型中更加明显。在小规模实验中,这项技术的效果并不显著,但在120亿参数的大模型上,移除这项技术会导致明显的性能下降。这说明随着模型规模的增大,异常值问题变得更加严重,需要更强的技术手段来解决。

二维块缩放对权重张量特别重要。实验显示,如果权重在前向和反向传播中使用不同的量化表示,会破坏训练的数学一致性。相比之下,激活张量对这种不一致性的容忍度更高,因此可以使用更细粒度的一维缩放来获得更好的量化精度。

随机舍入主要应用于梯度张量。实验证明,对权重和激活使用随机舍入反而有害,因为会增加量化误差。但对梯度使用随机舍入能够有效减少量化偏差,这对训练的长期稳定性至关重要。

八、精度切换:训练后期的优化策略

虽然NVFP4在整个训练过程中表现出色,但在某些对损失要求极其严格的场景下,研究团队还提供了一个巧妙的策略:在训练后期切换到更高精度。

这就像在烹饪的最后阶段使用更精细的调料。在训练的前80%时间里,可以放心使用NVFP4来获得高效率;当开始学习率衰减时,可以切换到BF16或MXFP8,这样既享受了大部分训练时间的高效率,又在最关键的收敛阶段保证了最高的精度。

实验显示,如果在8.2万亿token处(约82%的训练进度)切换精度,最终的损失能够完全匹配FP8基线。即使在训练的最后阶段(10万亿token处)才切换,也能获得显著的损失改善。

更有趣的是,研究团队发现主要的损失差距来自前向传播的量化误差。仅在前向传播中切换到高精度就能恢复大部分性能,而反向传播的精度切换效果有限。这个发现为实际应用提供了更加灵活的选择:可以根据具体需求在计算效率和精度之间找到最佳平衡点。

九、技术挑战:从实验室到生产环境

虽然NVFP4技术在实验中表现出色,但从研究原型到生产应用还面临一些挑战。当前的实现需要额外的内存访问来计算全局缩放因子,这会增加一定的内存带宽开销。未来的优化可能会考虑使用更细粒度的全局缩放,比如行级或块级缩放,以减少这种开销。

另一个考虑是不同模型架构的适应性。目前的实验主要集中在Transformer和Mamba架构上,其他架构如CNN或新兴的架构可能需要调整具体的技术参数。特别是混合专家模型(MoE)这类超大规模架构,可能需要更复杂的精度分配策略。

此外,注意力机制和通信路径目前仍使用高精度计算。虽然这些组件的计算量相对较小,但在某些内存受限的场景下,将这些组件也扩展到NVFP4可能会带来额外的内存节省。

十、未来展望:4位精度训练的广阔前景

NVFP4技术的成功证明了4位精度大模型训练的可行性,但这只是开始。研究团队已经在Transformer Engine中提供了完整的NVFP4支持,使得这项技术能够被更广泛地应用和验证。

从规模法则的角度看,NVFP4可能会在更大模型和更长训练过程中展现出更大优势。随着模型参数达到千亿甚至万亿级别,内存和计算效率的重要性会进一步凸显。同时,随着训练数据集规模的持续增长,训练效率的提升将直接转化为成本的节约和训练速度的提升。

在应用场景方面,NVFP4不仅适用于预训练,还有望扩展到后训练阶段,包括指令调优、强化学习等环节。这种全流程的4位精度支持将为AI模型的开发和部署带来革命性的效率提升。

说到底,NVFP4技术代表了AI训练效率优化的一个重要里程碑。它不仅在技术上实现了突破,更重要的是为未来更大规模、更高效的AI训练铺平了道路。这项技术让原本需要庞大计算资源的大模型训练变得更加亲民,可能会加速AI技术的普及和应用。

对于整个AI行业来说,这意味着训练成本的显著降低和训练速度的大幅提升。更多的研究机构和公司将能够负担得起大模型的训练,这无疑会推动整个领域的快速发展。同时,更高的训练效率也意味着更低的能耗,这对于构建可持续的AI生态系统具有重要意义。

Q&A

Q1:NVFP4格式相比传统的训练精度有什么实际好处?

A:NVFP4格式最大的好处是大幅提升训练效率。它能让大模型训练速度提升2-3倍,同时将内存使用量减少一半,这意味着训练成本显著降低。同时,通过巧妙的双级缩放技术,NVFP4能在4位精度下保持与8位精度几乎相同的模型性能,让更多机构能够负担得起大模型训练。

Q2:NVFP4训练需要特殊的硬件支持吗?

A:是的,NVFP4需要NVIDIA最新的Blackwell架构GPU支持。这些GPU的Tensor Core专门针对4位精度运算进行了优化,能直接处理NVFP4格式的数据。在GB200芯片上,FP4运算速度是传统BF16的4倍,在GB300芯片上更是达到6倍。目前这项技术已经通过Transformer Engine完全支持。

Q3:普通研究者现在能使用NVFP4技术吗?

A:可以的。NVIDIA已经在Transformer Engine中提供了完整的NVFP4支持,研究者可以直接使用这项技术进行大模型训练。不过需要注意的是,要充分发挥NVFP4的性能优势,需要使用支持Blackwell架构的GPU。对于没有最新硬件的用户,虽然技术上可以运行,但无法获得显著的速度提升。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-