智东西 22小时前
摩尔线程王华:算力需求千倍增长,大集群和FP8成为强需求
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

智东西(公众号:zhidxcom)

作者 | 中国 AI 算力大会

6 月 26 日,2025 中国 AI 算力大会在北京热烈召开。从国产 AI 算力的突围与崛起,到智算中心深层软硬件技术创新解决算力落地产业难题,近 30 位重量级嘉宾与会带来致辞、报告、演讲和对话,全方位解构 DeepSeek 引爆的 AI 算力变局。

摩尔线程副总裁王华在主会场以《基于 FP8 的国产集群训练》为题进行了主题演讲。在演讲中他提到 2020 至 2025 年间,大模型训练的算力需求激增近 1000 倍 ,而驱动力来自参数规模与数据量双向增长。

王华认为,大集群和 FP8 成为大模型现阶段的最强需求。对此,他围绕大模型算力需求、混合精度训练、FP8 训练技术演进等方面进行了深入浅出地剖析阐释。

此外,王华还分享道,摩尔线程提供包括 FP8 在内的全精度算力,构建了支持多种不同数据类型的混合精度训练方案,还可以提供万卡集群开箱即用的产品,可以满足大模型的算力需求,并大幅提升其训练效果。

以下为王华的演讲实录精华:

一、5 年,大模型训练算力需求增长千倍

首先来看一下大型训练需求的趋势。2020 年,算力需求训练需求最高是在 1023flops。到 25 年,训练算力需求最高的是 xAI 的 Grok3,算力需求差不多到了 1026flops。从 1023 到 1026,算力需求增长了 1000 倍。

增长主要来自两个方面:一是模型参数。大模型的模型参数规模是在不断增加的,最近的模型动辙都是数千亿甚至到万亿的参数规模;第二是训练数据量。早期训练数据量可能到几百 B,稍微多一点到 1T,但现在基本都是十几 T。

所以,算力需求和模型参数数量与训练数据量的乘积成正比,而这两个维度的增长,带来模型训练算力需求的大幅增长。

再举一个例子,比如,Llama 3 70B 大概是在 1024flops 左右,然后更大一点 Llama 3 405B 在 1025flops 左右 ,GPT 4 也在 1025 左右 , 早期的 Llama 2 大概在 1023flops 左右。虽然 Llama 2 与 Llama 3 的模型参数和模型结构比较类似,但是因为 Llama 2 的训练数据量低一个数量级,所以它要求的算力也会低一个数量级。

不只是算力,这些大规模训练所需要的集群也越来越大。为了校正所需要的算力,用 H100 的千卡、五千卡到万卡量级的集群来作类比。表格中的数据是按照 MFU 算的,当然不同模型的参数大小对 MFU 有影响,另外集群规模增大之后由于加速比效应,MFU 会下降,所以这里只是大致的估算。

这个量级中,DeepSeek V3 的算力需求大概在 3.4×1024flops。在千卡集群上,1024 的训练时间大概是 97 天,五千卡集群需要 22 天,到万卡级别就只需要 13 天了。再举一个例子,Qwen 3 235B,虽然模型参数小一些,但因为数据集更大,它的实际算力会更高,所以 Qwen 3 235B 计算量约为 4.75×1024flops。再看一下训练时间,这个计算量在千卡集群上需要 136 天,五千卡上是 37 天,到万卡就只需要 18 天。这是两个比较典型的国内 MOE 模型的例子。

再比如说 Llama 3 370B,这是比较典型的 Dense 模型(稠密模型),训练数量也差不多在 1024flops 左右,训练时间也与 Qwen 3 差不多。

更大的模型,比如 GPT 4,训练数量有 1025flops,这几乎是千卡不可能完成的任务,到这个量级基本需要万卡级别的集群来支撑。尤其是现在大模型的训练参数基本都在向着万亿发展,数量级十分巨大,所以后续训练需要的算力也会非常大。

二、混合精度训练缓解算力需求激增难题

为了解决算力需求,摩尔线程采用混合精度训练的方法。在整个模型训练过程中,识别出对精度要求不高的操作,将其替换为低精度计算。

更低精度带来的优势,首先体现在算力层面:精度降低一半,算力翻倍,同时显存占用、显存带宽及传输带宽消耗均减半。本质上,采用更低精度的数据类型进行训练,相当于实现了算力的翻倍。但需注意,低精度替换只能部分进行,无法完全替代,精度敏感的环节仍需保留高精度计算。因此,降低精度可在一定程度上提升算力或降低模型训练的算力需求。

在精度策略的设计上,可从两个维度考量:第一个维度是模型权重。以相同算力条件为例,对比多参数低精度模型与少参数高精度模型 , 如 100B 参数规模的 FP16 模型和 200B 参数规模的 FP8 模型,从数学表达能力来看,其可表达的理论空间是等价的。

但当前行业趋势更倾向于优先扩展模型参数规模。这是因为模型训练中实际使用的精度范围仅占理论值域的一部分,造成 " 精度空间浪费 ",而增大参数规模能有效提升模型效果。

从行业技术演进来看,精度格式正沿着 FP32 → TF32 → FP16/BF16 → FP8 的路径发展。此前业界对 FP8 的应用尚处探索阶段,而 DeepSeek 已将其成功应用于模型训练,预计未来会有更多模型采用 FP8 精度。

三、FP8 训练挑战解析:数值范围局限与精度损失引发的梯度问题

FP8 训练面临什么挑战?首先我们看一下不同浮点数的值域。因为指数位不同,取值范围其实差别很大。比如 BF16,忽略正负号,可以看到值域靠低端的部分可以到 2-126,然后高端的可以到 2127。FP16 的值域会小很多,但有十位尾数,值域靠低端部分接近 2-14,然后高端部分是六万多。

FP8 有 E4M3 和 E5M2 两种,可以看到,E4M3 的取值范围其实非常窄,只有 2-6 到 448,E5M2 跟 FP16 类似,但其实跟现在广泛用的 BF16 比,取值范围还是小很多。这里面有两个因素,一个是取值范围,一个是精度。

取值范围就是刚刚讲到的从小数到大数的范围,因为 FP8 的数值范围小,很可能在计算过程中遇到数值上溢和下溢的问题,如此就会带来一个典型问题:梯度爆炸和梯度消失。

精度就是尾数部分能够表达的数量。精度低会带来舍入误差的问题。例如在做数值转换的时候,可能 BF16 能表示的数在 FP8 里就会丢失掉一些小数。另外就是一个大数加一个很小的数,由于小数部分太小了,两者就相当于没加,这样就会造成信息丢失,对模型训练过程会带来梯度无法更新的问题。

四、FP8 训练技术不断演进,4 大创新攻克低精度核心难题

这两年 FP8 训练技术取得多项进展,已经应用在一些模型的训练中。

模型训练中不同操作对精度的需求是不一样的:

1、矩阵乘操作:作为两数相乘的基础运算,FP8 的数值范围易于控制,可通过值域限定避免溢出,对精度要求较低;

2、累加与规约操作:矩阵乘中隐含的累加过程(尤其大矩阵运算时多数相加)存在值域溢出风险,对精度要求处于中等水平;

3、非线性函数运算:如指数函数等场景,数值易快速超出值域,对精度要求最高。

基于此,训练中可对不同操作采用差异化精度策略,通过中间过程的量化与反量化实现精度适配。

Tensor Core 技术提供了混合精度运算的硬件支持。自 2017 年引入以来,该技术持续进化,现可支持以 FP8 格式矩阵为输入,通过硬件级混合精度运算输出高精度矩阵结果。

此外,训练框架也在支持混合精度训练。例如在 BF16 与 FP32 的混合训练中,多数操作采用 BF16 执行,但权重更新时会切换至 FP32,通过维护 FP32 权重副本确保训练稳定性。

还有就是 Tensor Scaling(张量缩放)技术。在进行高精度向低精度转换时,由于值域范围不同,会出现信息丢失问题。因此在数据类型转换前,需先将高精度值域乘以 Scaling Factor(缩放因子)参数,使其缩放到低精度值域范围内,以此确保转换过程中尽可能减少数据丢失。

Scaling Factor 的选择可以有不同的策略。在时间维度上来看可以是在量化前直接计算,也可以采用基于历史数据的 Delayed Scaling Factor(延迟缩放因子)。

从颗粒度来看,既可以对整个 Tensor 应用统一的 Scaling Factor,也能进行更精细的选择,比如 Per-Channel(逐通道)缩放,甚至还能进一步细化到 Per-Channel 的子区域。DeepSeek 在其论文中提及,他们采用的是 Per-Block(逐块)的缩放策略。

简单说一下 DeepSeek 的论文。DeepSeek-V3 就使用了 FP8 混合精度训练,其中主要采用了以下策略:

1、前向和后向传播的 3 次 GEMM 使用 FP8;

2、激活值的缓存和传输使用 FP8;

3、Embedding、激活函数等模块使用高精度浮点数;

4、主权重、权重梯度、优化器状态使用高精度浮点数。

五、摩尔线程全栈支持 FP8 训练,性能提升 20%~30%,对标主流水平

那我们说回到摩尔线程在采用 FP8 训练上面的一些工作。

首先,摩尔线程的全功能 GPU 计算卡在精度上的支持非常全面,摩尔线程是国内少数可以支持 FP8 精度的 GPU 供应商。不同计算精度可以用在图形、计算等不同场景,摩尔线程计算卡的优势就是支持全精度计算。

第二点就是在集群方面的工作。摩尔线程可以说是在集群这一方面投入很大的国产 GPU 公司。我们的夸娥(KUAE)智算集群系列产品可以让客户实现开箱即用,已经做到千卡规模,可支持万卡,未来还会向着更大规模集群前进。

在这一整个过程中,我们积累了很多实践。摩尔线程搭建了完整的软硬件栈,从硬件设计到集群管理、调度等全部包含。在大规模集群的运维方面也积累了丰富的经验。在大规模训练时,经常会出现计算错误、卡异常等情况,如何快速定位出现故障的部分将其替换是很重要的。我们采用了分布式的故障监测方法,实现分钟级的故障定位和恢复。

另外还有支持 FP8 训练的摩尔线程软件栈。我们开源了 3 个组件:提供 MUSA 后端加速支持的 Torch-MUSA、混合并行训练框架 MT-MegatronLM 以及主要用于 Transformer 的高效训练和推理优化的 MT-TransformerEngine。基于摩尔线程软件栈,我们成功复现了 DeepSeek-V3 满血版训练。

在此之上我们做了一系列的实验,基于我们自己的夸娥(KUAE)集群,在性能方面,在 Llama3 8B、Qwen、DeepSeek-V2 16B 以及 V3 30B 上,目前采用 FP8 混合训练可以带来 20%~30% 的性能提升,且引入 FP8 前后 loss 曲线基本一致,在采用 FP8 训练方面,摩尔线程的 GPU 计算卡与国际主流的卡做精度对比也基本吻合。

此外,摩尔线程在 Scaling Factor 的选择上也做了许多探索,例如:amax 的统计信息表明 Per-Tensor 的 Scaling Factor 适合采用 Delayed Scaling 策略,而 Per-Block 则适合采用 JIT Scaling 策略。我们还用摩尔线程 GPU 计算卡做了 Smooth SwiGLU 论文的复现,我们发现,通过 Smooth SwiGLU 可以有效降低 outlier 的影响。

今天我给大家汇报的内容就是这些,谢谢。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

王华 摩尔 ai 技术创新
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论