网易首页 > 网易号 > 正文 申请入驻

FP8 在大模型训练中的应用、挑战及实践

0
分享至

越来越多的技术团队开始使用 FP8 进行大模型训练,这主要因为 FP8 有很多技术优势。比如在新一代的 GPU 上,FP8 相对于 BF16 对矩阵乘算子这样的计算密集型算子,NVIDIA TensorCores 能够提供两倍的峰值性能,相对于 TF32 能够提供四倍的加速,从而大大缩短计算密集型算子的计算时间。而对于访存密集型的算子,由于 FP8 所需的数据量更少,可以减轻访存压力,加速这些算子。如果在训练时使用 FP8 精度,可以更方便快速的将 FP8 部署到推理侧,使 FP8 训练可以更容易顺畅地与低精度推理相结合等。

同时,由于 FP8 的动态范围和精度相对于之前使用的 FP16/BF16/FP32 更小,如果使用 FP8 代替原来的数值精度进行训练,技术团队在模型和数据集上可能会遇到 FP8 精度的挑战。

FP8 训练的主要问题及解决思路

通过与很多技术团队交流,我们把 FP8 训练的主要问题分为以下三类,并且对可以考虑的解决思路做一个简单介绍。

  1. Spike 问题,即 Loss Spike。其实这并不是 FP8 特有的问题,在 BF16 中也可能遇到。引起 Loss Spike 的原因比较多,比如可能与选择的算法有关,目前没有特定的解决方案。但如果 FP8 的 Spike 与 BF16 类似,我们大概率可以认为这是一个通用问题;但如果 FP8 的 Spike 更多且需要多次迭代才能恢复正常,则可能是 FP8 训练存在问题,需要进一步检查。

  1. FP8 的 Loss 问题,可能会遇到 Loss 增加或发散的情况。我们又可以将其分为三种情况:

o 情况 1:训练开始时 Loss 就发散,这通常是软件问题,可能存在 Bug,建议使用 NVIDIA 最新的 NeMo /Mcore (Megatron Core) /TE (Transformer Engine) 版本来减少出错概率。

o 情况 2:检查训练配置,是否使用了新的优化点,如 CPU offloading、FP8 parameters 等新功能。可以尝试先关闭这些功能,看看是否是由此导致的问题。

o 情况 3:数值问题也可能导致 Loss 问题,可以尝试使用 BF16 进行 FP8 计算,输入为 FP8 tensor,但使用 BF16 的 GEMM。Loss 问题发生在训练中期,比如训练了几百个 token 后突然出现 Loss 上涨或发散,可以尝试其他 recipe,如 current scaling 或 fangrand scaling,或将某些层 fallback 到 BF16。最近的研究表明,因为首层和最后一层更敏感,将第一层和最后一层 fallback 到 BF16 效果提升明显。

  1. Loss 没有问题,但下游任务指标与 BF16 有差距,也可以概括为两种情况。

o 情况 1:所有下游任务指标都有问题。建议检查下游任务指标的 inference 流程是否正确,如是否读取了正确的 scaling factor 和 weight。也可能是某些任务有问题,但其他任务可以与 BF16 对齐,这时可以尝试改变 FP8 训练的 recipe,尝试 current scaling 或部分层 fallback 到 BF16。

o 情况 2:inference 使用 BF16,但训练使用 FP8。由于模型已经是 FP8 训练的结果,使用 BF16 进行 inference 可能会引入更多误差。建议尝试使用 FP8 训练加 FP8 inference,看看下游任务打分是否恢复正常。

FP8 Debug 工具介绍

针对 FP8 训练过程中的 Debug 思路,可以参考“探索 FP8 训练中 Debug 思路与技巧”技术博客里面的总结:

https://developer.nvidia.com/zh-cn/blog/fp8-training-debug-tips/

FP8 的训练效果我们一般通过观察 Loss 曲线或下游任务的指标来进行评估。比如,会检查 Loss 是否发散,从而判断 FP8 是否有问题。同时我们也希望找到一些其他指标,能在训练过程中用于评估 FP8 的稳定性。此外,我们还希望通过一些指标来评估量化的误差,如果出现 FP8 训练问题,问题是发生在某个特定的层或张量上。通过这些深入的了解,我们可以帮助选择更好的训练方案,同时在训练过程中进行调整。

因此我们开发了一个 FP8 Debug 工具,这个工具中包含了一些指标,用于观察 FP8 训练的状态,包括 MSE 和余弦相似性(用于 BF16 和 FP8 之间的量化误差),Tensor 的 Underflow 和 Overflow (用于查看是否因为 FP8 的动态范围比 BF16 小而导致过多的 Underflow 或 Overflow,进而引起的精度问题)。

其次,我们还记录了一些统计值,如对比 Delayed Scaling 的 Scaling Factor 与使用当前 Tensor 的 Current Scaling 的 Scaling Factor 之间的误差(这代表 Delayed Scaling 是否能准确表征当前 Tensor 的表现)。

除了这些指标外,我们还可以将这些 Tensor Dump 出来,并动态选择 Dump 哪些层,记录这些指标。

目前这个工具可以与 NVIDIA 任何版本的 NeMo Megatron 兼容,没有改动这些框架的内部代码,因此无论使用哪个版本的框架,都可以使用这个工具进行相应的分析。

在使用 Debug 工具进行分析的时候,我们会 Dump 一些 Tensor 并进行分析,可以看到:

  • 包括了 Tensor 的名称和 Layer 的名称,即哪一层的哪一个 Tensor。例如,我们会 Dump Forward 的 Input,即 GEMM 的 Input 和 Weight,以及反向传播时的 Dy 的 Tensor。

  • 可以周期性地打印不同 Step 的结果,观察整个过程中的变化,从而了解不同 Step 的情况。

  • 可以观察不同的指标,如 AMin 和 AMax,以及 Current Scaling 和 Delay Scaling 这两种 Scaling 的区别。

  • 通过打印出来的值,观察余弦相似性 MSE 这两种量化误差,以及 Underflow 和 Overflow 的比例来判断表现。

工具也可以将对应的 FP8 Tensor 保存下来,以便后期进行更多的指标分析。

这些指标主要来自我们技术团队基于一些技术论文以及业务实践中的讨论和总结。

内部实验中观察到的案例:

如上图所示,红色线条代表 FP8 正常收敛的 good case,没有出现 Loss 发散,Loss 在正常下降。而绿色线条则代表 FP8 的 bad case,训练到 2000 步后开始发散。这两个 case 是我们人为构造的,通过调整学习率来展示 good case 和 bad case。

以下是几个指标情况:

MSE - 这个指标上边的是 bad case,下边是 good case。我们把这两个放在一起,可以看到对于 forward X,bad case 下几个矩阵的 MSE 最大值都已经达到了 10 的三次方。也就是说 FP8 和 BF16 的量化误差已经到了 10 的三次方。但是对于 good case 来说,量化误差其实只有 10 的负二次方。通过这样的对比,我们可以看到对于 forward X 的 tensor 来说,它可能是有问题的。

Underflow 对比 - bad case 上 FC2 的 forward X,有 80% 的最大 Underflow 比率。但对于下边 good case 来说,它最大的情况下也只有 1% 。

所以对于 forward 的 FC2 来说,X 可能需要格外关注并考虑,比如是否要 fallback 到 BF16?或者用一些其他的 scaling 策略来保证它的精度。

目前,FP8 Debug 工具还在内部测试阶段,如果希望了解或尝试该工具,可以联系您对接的 NVIDIA 技术团队,也欢迎您提供建议共同丰富这个工具的功能。

本文摘选自“NVIDIA AI 加速精讲堂 —— FP8 在大模型训练中的应用、挑战及实践”,可访问 NVIDIA 官网观看完整在线演讲:

https://www.nvidia.cn/webinars/sessions/?session_id=241218-35308

关于作者

黄雪

NVIDIA 解决方案架构师,硕士毕业于哈尔滨工业大学,主要负责深度学习训练方面工作,在深度学习框架、超大规模模型训练,分布式模型训练加速优化等技术方向有丰富的研究经验。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
恩德里克孕妻亮相!挺大肚子看球,世界杯风景线,巴西太太团新宠

恩德里克孕妻亮相!挺大肚子看球,世界杯风景线,巴西太太团新宠

阿废冷眼观察所
2026-06-30 13:35:14
重点式穿搭,丝丝亮光下的优势

重点式穿搭,丝丝亮光下的优势

飛尚日记
2026-06-30 01:47:45
小米首款NAS预约超14万人!双盘位 16T顶配版售价4699元

小米首款NAS预约超14万人!双盘位 16T顶配版售价4699元

快科技
2026-06-30 01:34:54
彻底堵死投机客,广州打响了第一枪!

彻底堵死投机客,广州打响了第一枪!

米宅
2026-06-29 07:23:34
上半场封神 下半场崩盘!安帅1招击溃日本铁桶阵,巴西赢在教练!

上半场封神 下半场崩盘!安帅1招击溃日本铁桶阵,巴西赢在教练!

看透足球专栏
2026-06-30 03:57:30
每天一个国家冷知识——巴拉圭

每天一个国家冷知识——巴拉圭

爆史君带你读历史
2026-06-30 18:17:29
珠海房价大跌!高位买房人首付直接亏没

珠海房价大跌!高位买房人首付直接亏没

阿离家居
2026-06-30 20:01:55
俞敏洪抛出惊人言论:我有两个大学男同学已经死了,都是家庭条件很好,但俩人没有抵抗挫折和不幸的能力

俞敏洪抛出惊人言论:我有两个大学男同学已经死了,都是家庭条件很好,但俩人没有抵抗挫折和不幸的能力

心理观察局
2026-06-03 07:17:10
2025万年满18岁女性,正成奢侈品牌必争的60秒战场

2025万年满18岁女性,正成奢侈品牌必争的60秒战场

硬核玩家2哈
2026-06-29 03:29:02
一颗存储芯片从35美元涨到300美元,谁在买单?

一颗存储芯片从35美元涨到300美元,谁在买单?

碳基打工人
2026-06-29 01:55:44
证监会:继续打击配合造假,加大处置力度,破除造假生态圈

证监会:继续打击配合造假,加大处置力度,破除造假生态圈

澎湃新闻
2026-06-30 19:08:03
嫁给梁锦松24年被宠成公主,如今儿女双全已成才,74岁丈夫再争光

嫁给梁锦松24年被宠成公主,如今儿女双全已成才,74岁丈夫再争光

揽星河的笔记
2026-06-30 13:44:22
阿斯:皇马在积极引进巴斯托尼,转会费预计约为6000万欧

阿斯:皇马在积极引进巴斯托尼,转会费预计约为6000万欧

懂球帝
2026-06-30 22:55:02
王健林又卖了!21.98亿甩卖两座核心广场,3年转让超80座万达广场

王健林又卖了!21.98亿甩卖两座核心广场,3年转让超80座万达广场

大厂编外实习生
2026-06-30 15:24:22
iPhone 18标准版,苹果这次玩了一套教科书级别的"加减法"!

iPhone 18标准版,苹果这次玩了一套教科书级别的"加减法"!

明美无限
2026-06-29 18:57:02
玥儿放暑假回北京!网友偶遇小菲陪女儿街头散步,玥儿有新变化!

玥儿放暑假回北京!网友偶遇小菲陪女儿街头散步,玥儿有新变化!

丁丁鲤史纪
2026-06-30 15:28:00
三胞胎高考692、668、644,老大上清华,可老二老三谁心疼?

三胞胎高考692、668、644,老大上清华,可老二老三谁心疼?

优墨出品
2026-06-27 20:58:46
不统而统!社科院专家首提新概念,或成两岸统一“第三条路”?

不统而统!社科院专家首提新概念,或成两岸统一“第三条路”?

时光漫游志
2026-06-30 06:34:18
台湾退役中将:张学良被软禁一点不冤,西安近乎打光蒋奉化御林军

台湾退役中将:张学良被软禁一点不冤,西安近乎打光蒋奉化御林军

磊子讲史
2026-06-29 15:34:11
胡梅尔斯:德国成绩不佳必须有人负责,一些球员也应主动退出球队

胡梅尔斯:德国成绩不佳必须有人负责,一些球员也应主动退出球队

砚底沉香
2026-06-30 11:14:16
2026-07-01 01:27:00
NVIDIA英伟达中国 incentive-icons
NVIDIA英伟达中国
英伟达(中国)官方账号
3588文章数 1459关注度
往期回顾 全部

科技要闻

iPhone18 Pro遭泄密!印度代工商惹祸

头条要闻

坎贝尔承认:中国是最成功渡过难关的国家

头条要闻

坎贝尔承认:中国是最成功渡过难关的国家

体育要闻

德国足球,脸都不要了

娱乐要闻

黄晓明沦陷!羡慕周杰伦能降住昆凌

财经要闻

万亿“寒王”,历史时刻

汽车要闻

奇瑞风云A9探店 五个理由一定来看看

态度原创

健康
亲子
本地
教育
公开课

狂吃“糯叽叽”小心肠梗阻!

亲子要闻

写了赋能孩子压根不看,还要坚持下去吗?

本地新闻

贵州小城的新目标:举办“村超”世界杯!

教育要闻

责任在谁?家长投诉:老师强制打印作业,教育局明确回复

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版