【CANN经验传递】昇腾950超节点镇场WAIC,低精度如何支持澎湃算力——一文看懂昇腾Ascend 950低精度怎么选
随着大模型进入多模态、长上下文、MoE和复杂Attention架构时代,训练和推理的计算压力持续上升。为了在有限算力、显存和带宽条件下支撑更大的模型、更长的序列和更高的吞吐,低精度计算已经成为大模型系统优化的核心方向。
在昇腾 Ascend 950 上,面向大模型训练和推理,已经支持多种低精度数据格式,包括:
HiF8
MXFP8/MXFP4
FP8
这些格式都可以降低计算和访存开销,但它们的设计目标、数值表达能力、scaling方式和适用场景并不相同。真正高效的低精度方案,并不是简单地“bit 越低越好”,而是要根据模型结构、训练或推理阶段、Attention类型、MoE结构和精度敏感性来选择合适格式。
本文将用相对直观的方式介绍这些格式,并给出在多模态模型、语言模型及其更细化的不同Attention和MoE场景下的推荐选择。
1. 为什么低精度格式很重要?
大模型中的主要计算来自矩阵乘,包括:
Linear
Attention QK/PV
MoE Expert GroupMatMul
FFN gate-up/down projection
如果这些计算从BF16降到8-bit或4-bit,通常可以带来三类收益:
第一,计算吞吐提升。低精度矩阵计算可以利用更高吞吐的硬件单元;
第二,显存和带宽压力降低。同样的数据量用更少bit表示,可以减少显存占用和访存压力;
第三,端到端训练和推理性能提升。在大模型中,矩阵计算、通信、KV cache访问和MoE expert计算往往是瓶颈,低精度格式可以从多个环节降低开销。
但低精度也带来挑战。模型并不是所有部分都一样“抗量化”。例如,多模态模型中的视觉 token和动作/视频生成路径对数值误差很敏感;语言模型的Attention在prefill和decoding 阶段也有不同瓶颈;MoE模型中的expert计算则更关注极致吞吐和带宽效率。因此,不同场景需要不同的数据格式组合。
2. Ascend 950支持的几类低精度格式
2.1 FP8:基础8-bit浮点格式
FP8是最容易理解的一类8-bit浮点格式。它通常采用固定的指数位和尾数位划分,例如类似 E4M3或E5M2的设计。
可以直观理解为:
FP8 = sign + exponent + mantissa
其中exponent决定动态范围,mantissa决定表示精度。相比BF16,FP8将每个数从16 bit 降到8 bit,可以显著降低计算和访存开销。


FP8继承了传统IEEE 754浮点格式的设计逻辑,其中E4M3精度优先,但仅支持[-9, 8]共18个二进制指数;而动态范围优先的E5M2,也仅能支持[-16, 15]共32个二进制指数。当前业界普遍认为E5M2精度过低,训练时只用了E4M3,如DeepSeek V3系列网络。
DeepSeek-V3对权重和激活采用不同的分组(per-block量化)方式:

LLM训练对动态范围诉求极高,FP16已经式微于BF16。18个指数的E4M3只能通过极端细粒度Scaling,牺牲训练性能保精度。例如Ling-1T,FP8训练只带来了15%的E2E加速,远远低于FP8相比16-bit浮点算力翻倍的预期。上文中的FP8 per-block量化是cv mix所以性能相对较差。
FP8有明显限制:如果只采用per-tensor scaling,一个scale需要覆盖整个tensor的数值范围。当tensor内部存在outlier或不同 head、不同token、不同channel分布差异较大时,per-tensor FP8可能出现精度不足以及上下溢出的严重精度问题。因此,在部分Attention decoding场景中,普通FP8的表达能力并不够,尤其是采用per-tensor量化时更容易出现精度损失。
2.2 MXFP8:带microscaling的8-bit格式
MXFP8可以理解为带有block scaling的FP8。它不是让整个tensor共用一个scale,而是让一小块数据共享一个scale。直观表示为:
一组32个FP8数据 + 一个共享scale
这种microscaling方式可以改善普通FP8 per-tensor scaling粒度过粗的问题。相比FP8,MXFP8能更好地适配局部数值分布,因此在很多语言模型的GQA和MoE GroupMM场景中,可以取得较好的精度和性能。
不过,MXFP8的缺点是数据流和scale管理更复杂。在Linear层的训练场景以及某些Attention decoding场景,尤其是KV cache合一的Attention中,MXFP8可能会引入二次量化问题。也就是说,数据在Linear反传、KV cache保存和后续计算中可能经历多次量化/反量化或重新定标,导致性能劣化以及误差累积;此外,在像deepseekv3.2/v4这类sparse attention且kvcache合一的场景中,MXFP8天然不适合,除非牺牲精度和性能通过mxfp8支持perblock的scale,但精度的牺牲可能导致整网精度不达标;在以上几类场景中,MXFP8并不是最优选择。
2.3 HiF8:昇腾推荐的高精度8-bit格式
HiF8是面向大模型训练和推理设计的8-bit数据格式。与传统FP8不同,HiF8的设计重点是更好地兼顾动态范围和中心区域精度。

HiF8利用即时可译的变长前缀码编码点位域Dot,显示指示阶码存储的位宽和Denormal标志,实现符合AI数据分布特征的锥形精度格式。同时阶码采用原码编码,并隐藏了1-bit固定值不存储,确保了不同位宽的阶码表达范围不重复,进而实现无冗余编码。最后通过特殊的Denromal设计,将综合阶码范围从[-15, 15]提升到了[-22, 15], 共38个阶码,接近FP16的40个阶码值表达。综上,HiF8兼顾精度和动态范围,为神经网络的训练和推理,提供了能力更全面的8-bit单数据格式表达。
大模型中的数值分布通常具有两个特点:
大多数值集中在中心区域
少量 outlier 分布在尾部
HiF8的优势在于,它通过更适合深度学习分布的数值设计,在保持宽动态范围的同时,尽量保留常见数值区域的表示精度。

上图是根据HiF8的编码原理画出的“有效位数—阶码”分布图,这里的有效位数包含浮点表达中1.M 的隐藏位1,因此有效位数会比显式Mantissa位宽多1bit。
从有效位数随阶码变化的分布可以看到,HiF8具有典型的渐缩精度特征:当数值绝对值接近1时,HiF8提供更高精度;当数值逐渐远离1时,其精度会平滑降低。这种精度变化不是突然跳变,而是以 1 bit 为粒度逐步变化,从而在不同数值范围内实现更自然的精度过渡。
在动态范围方面,HiF8的综合二进制指数范围达到:[-22, 15]
这一范围已经接近 FP16 的:[-24, 15]
因此,HiF8虽然只有8 bit,但仍具备接近FP16的指数覆盖能力,能够有效表示大模型训练和推理中常见的宽动态范围数据。同时,HiF8编码了4个特殊值,并且不区分正负零,是一个表达完备的8-bit单数据浮点格式。
从精度区间来看,HiF8 可以划分为四类典型区域:

这种设计使 HiF8 能够在大模型张量最常出现的中心区域保留较高精度,同时在远离中心的尾部区域保留足够动态范围。换句话说,HiF8并不是简单地在8 bit内平均分配精度,而是根据大模型数值分布特征,将更多表达能力集中在最常用、最重要的数值区间中。
这也是HiF8能够在训练和推理中减少对复杂细粒度scaling依赖的关键原因:大部分权重和激活值经过简单静态缩放后,都会落入HiF8的高精度或中精度区间,从而在保持较高保真度的同时,显著简化低精度数据流。
因此,HiF8对细粒度scaling的依赖更弱,在很多场景中可以采用更简单的数据流,例如 activation per-tensor、weight per-channel或类似简化scaling策略,即可取得很好的精度。
2.4 MXFP4:面向极致压缩和MoE的4-bit格式
MXFP4是4-bit microscaling格式,可以理解为:
一组(32个)FP4数据 + 一个共享scale
相比8-bit格式,MXFP4进一步将单个数压缩到4 bit,因此可以显著降低权重和activation 的存储与访存开销。不过,4-bit的数值表示空间非常有限,因此通常不适合无差别地用于所有模块。
MXFP4更适合用于对吞吐和带宽极其敏感、同时结构相对规整的计算,例如MoE expert中的大规模GroupMM。对于MoE,可以采用:
W4A8 = MXFP4 weight + MXFP8 activation
也就是权重采用MXFP4,activation采用MXFP8。这种W4A8组合可以在保证精度的同时,大幅降低expert计算中的权重访存压力,并充分释放MoE场景的性能潜力。
3.HiF8训练与推理Recipe:从数据格式到大模型训推落地
前文介绍了Ascend 950支持的几种低精度数据格式,本章主要介绍HiF8训练与推理Recipe,相比传统FP8或MXFP8,HiF8不仅是一种新的数值表达格式,更需要配合系统化的训练与推理 recipe,才能充分释放低精度计算的性能潜力。
通过算法设计和系统实验,我们形成了大模型HiF8训练与推理recipe,并将其作为HiF8 training/inference scaling的推荐策略。该recipe的核心目标是:在尽量保持数据流简单的前提下,实现稳定训练、精度保持和端到端性能提升。
3.1 HiF8数据格式:动态范围与精度的平衡
HiF8是一种新型8-bit浮点格式。它创新性地引入点位域Dot设计,实现即时可译的变长前缀码编码。与传统低比特浮点格式采用固定exponent/mantissa划分不同,HiF8可以根据数值大小动态调整指数和尾数的表达能力,从而在动态范围和有效精度之间取得更好的平衡。
大模型张量通常具有明显的非均匀分布特征:大多数数值集中在中心区域,少量outlier分布在尾部。传统低比特格式如果动态范围不足,容易受outlier影响;如果依赖复杂细粒度缩放,又会增加工程复杂度和额外数据搬运。HiF8的设计优势在于,它能够在较宽动态范围下保持中心区域的高保真表示,从而摆脱传统低比特格式对复杂per-token/per-block scale细粒度缩放的强依赖。因此,HiF8特别适合大模型训练和推理中的主干计算路径,例如Linear、Attention matmul、FlashAttention、FAG、通信量化和部分优化器状态处理等。
3.2 HiF8训练Recipe:Delayed Scaling释放8-bit Training潜力
在训练场景中,低精度格式不仅要保证forward计算精度,还要保证backward梯度稳定。训练误差会通过参数更新长期累积,因此scaling策略对训练稳定性至关重要。
HiF8的大动态范围使delayed scaling成为可行方案。实验表明,采用interval=5-20的delayed scaling,可以稳定训练大语言模型,并充分发挥8-bit training的性能潜力。
HiF8训练recipe可以概括为:
Delayed Scaling训练
通信全HiF8
FlashAttention全HiF8
FAG全HiF8
Linear全HiF8
Softmax/Norm/Loss等敏感模块保持高精度
其中,Delayed Scaling的核心思想是:不在每一步都重新统计和更新scale,而是使用历史amax信息周期性更新scale,从而减少频繁统计与同步带来的额外开销,并提升低精度训练效率。


推荐配置如下:
权重N_guard:11或12,剩余27或26个阶码表达数据
激活/梯度N_guard:9、10 或 11,剩余 29–27 个阶码表达数据
Amax统计频率Interval:5-20次迭代统计一次
默认Interval:10
Amax History Length:64、128或256
训练初始化或训练重启时,由于尚未积累Amax History,第一次迭代建议使用Current Scaling;从后续迭代开始,再切换到 Delayed Scaling。
异常处理策略也很关键。如果某次迭代检测到Inf或NaN,建议停止当前步计算,不更新权重;不丢弃当前训练步数据,然后重新启动Delayed Scaling训练。这样可以避免异常scale污染后续训练,同时保持训练数据利用率。
整体来看,HiF8由于拥有较大动态范围,可以通过Delayed Scaling实现8-bit训练性能最大化,在保证训练稳定性的同时减少scale更新和统计开销。
3.3 HiF8推理Recipe:简单Scaling即可获得高精度
在推理场景中,HiF8的核心优势是摆脱了对复杂细粒度scaling的依赖,实现更简单、更高效的数据流。
通常情况下,HiF8推理采用简单的:
Activation:Per-Tensor
Weight:Per-Channel
即可获得很好的推理精度。在kvcache合一类模型,如LongCat/智谱 MLA、DeepSeek-V4 Sparse Attention等新型Attention量化场景中,HiF8可以用更简单的数据流实现更稳定的精度表现。
推荐的HiF8推理recipe为:
Weight:离线per-channel校准
Activation:直转或静态per-tensor
Cache:静态per-tensor
其中,weight可以通过离线校准确定per-channel scale;activation可以根据模型特点选择直接转换,或通过校准集统计静态per-tensor scale;Cache通常采用静态per-tensor scale。
HiF8推理scaling策略的核心,是将大部分数据静态缩放到HiF8的高精度区间中。由于HiF8本身具备较宽动态范围和中心区域高保真表达能力,通常不需要复杂的per-token或per-block scale缩放,就能获得不差于MXFP8的推理精度。


以Qwen3-8B Layer 3为例:为什么HiF8的简单Scaling有效?
以Qwen3-8B Layer 3为例,从累积概率分布可以观察到,权重和激活的数值阶码分布都集中在HiF8的高保真表达区间附近。
对于权重,阶码主要集中在:[-12, -5]
直接转换为HiF8后,大多数数据基本落在中精度区间,因此保真度可以与E5M2基本一致。如果进一步采用per-tensor或per-channel方式,将最大幅值Amax静态缩放到2^4附近,则保真度可以达到与MXFP8-E4M3一致的水平。
对于激活,阶码主要集中在:[-7, -2]
可以通过PTQ校准集统计激活值特征,采用以下策略确定静态缩放系数:使用per-tensor或 per-token方式,将最大幅值静态缩放到2^2–2^4;或将97%–99%分位幅值缩放到2^2;或通过MSE最小化离散搜索,确定静态缩放系数。
基于以上策略,HiF8激活量化的保真度通常可以与MXFP8-E4M3一致,甚至略优于 MXFP8-E4M3。主要原因是HiF8在中心和小值区域保留了更好的表达能力,可以保留更多小幅值信息。
因此,HiF8推理scaling的关键并不是引入更复杂的scale粒度,而是利用HiF8本身的数值格式优势,将大部分数据通过静态缩放放入高精度表达区间。通常简单的Activation Per-Tensor/Weight Per-Channel缩放,就能获得很好的推理精度。
3.4 小结:HiF8 Recipe的核心价值:不只是提供一种新的8-bit数据格式,而是通过格式设计、scaling策略和训推recipe的协同,实现大模型低精度训练和推理的系统化落地。
在训练中,HiF8依靠大动态范围支持Delayed Scaling,使interval=5-20的稳定训练成为可能,从而充分释放8-bit training的性能潜力;
在推理中,HiF8摆脱了复杂细粒度缩放依赖,通常只需要简单的A Per-Tensor/W Per-Channel scaling,即可获得优秀精度,并且更适配LongCat MLA、DeepSeek-V4 Sparse Attention等大模型Attention架构创新。
4. 不同场景低精度数据格式尝试案例列表
|
场景 |
探索的recipe |
案例实践 |
收益 |
|
多模态训练 |
HiF8量化Linear/GMM/FA/FAG/ALL2All |
字节联创:Wan 2.1-14B/SD1.0/SD2.0 @950PR |
整网端到端相对BF16提速1.43x, 精度达标 |
|
北大袁粒:OSP-Next-14B @950PR |
整网端到端相对BF16提速1.37x,精度达标 |
||
|
per-block(32x32) scale MXFP8量化Linear/GMM/FA/FAG/All2all (暂无实例) |
/ |
预计整网端到端相对BF16提速1.43x |
|
|
多模态推理 |
HiF8量化Linear/GMM/FA/ALL2All |
字节联创:Wan 2.1-14B/SD1.0/SD2.0 @950PR |
性能预估收益相对BF16有30%-40%+,精度达标 |
|
北大袁粒:OSP-Next-14B @950PR |
性能预估收益相对BF16有30%-40%+,精度达标 |
||
|
MXFP8量化Linear/GMM/FA/ALL2All |
/ |
性能不差于HiF8多模态推理方案,精度达标 |
|
|
语言模型训练 |
HiF8量化Linear/GMM/All2All (Olmo-1B/盘古v3 34B裁剪版/DSv3裁剪版/DSv4裁剪版) |
DSv3裁剪版@950DT |
HiF8端到端性能相对MXFP8提升1.113x, 相对BF16提升1.295x, 精度达标 |
|
盘古v3 34B裁剪版@950DT |
精度达标 |
||
|
DSv4裁剪版@950DT |
精度达标 |
||
|
Olmo-1B@910B |
精度达标 |
||
|
MXFP8量化Linear/GMM/All2All |
DSv3裁剪版@950DT |
精度达标 |
|
|
盘古v3 34B裁剪版@950DT |
精度达标 |
||
|
DSv4裁剪版@950DT |
精度达标 |
||
|
语言模型推理-KVCache合一网络(龙猫,智谱,DS) |
HiF8量化Linear/MLAProlog/FA |
LongCat@950DT |
精度达标,IFA相对BF16提速1.7x-2.6x |
|
DSv3.1@950DT |
精度达标,IFA相对BF16提速1.7x-2.6x |
||
|
MXFP8量化Linear/FP8量化 MLAProlog/FA |
LongCat@950DT |
部分任务精度不达标 |
|
|
DSv3.1@950DT |
部分任务精度不达标 |
||
|
语言模型推理-稀疏attention(DSv4) |
HiF8量化Linear/QLI/sFA/Compressor/TQBMM |
DSv4@950DT |
精度达标,端到端性能相对MXFP8/FP8 prefill阶段提升7.6%-9.62%,decode阶段相比提升5.74%-6.33% |
|
MXFP8量化Linear/TQBMM+FP8量化QLI+伪量化sFA |
DSv4@950DT |
精度达标 |
|
|
MoE-预训练 |
HiF8+HiF8 W8A8 |
模型预训练 |
预训练场景使用,无二次量化问题,性能好,精度达标 |
|
MoE-推理&后训练 |
MXFP4+MXFP8; MXFP4+MXFP4 |
模型后训练/推理 |
相比于w8a8带来1.7x+的收益,精度达标 |
以上任务掉点相比bf16在1%以内,则认为精度达标;在训练任务中loss gap在0.5%以内认为精度达标;
5. 总结
Ascend 950支持HiF8、FP8、MXFP8、MXFP4等多种低精度格式。它们并不是互相替代的关系,而是面向不同场景的工具箱。
HiF8凭借更适合大模型分布的动态范围和精度设计,在多模态训练、多模态推理、语言模型训练、prefill以及复杂decoding Attention中成为优先推荐格式;FP8是基础8-bit浮点格式,数据流简单,但per-tensor量化在复杂Attention场景下精度可能不足,其应用场景可完全由HiF8替代;MXFP8通过microscaling改善局部分布表达能力,在GQA和部分GEMM场景中表现优秀,但在KV cache合一Attention中可能存在二次量化问题。MXFP4则主要面向更激进的4-bit压缩,尤其适合与MXFP8组成W4A8,用于MoE expert场景。
总而言之,低精度的目标不是把所有模块都压到最低bit,而是在不同模型结构和不同执行阶段中选择最合适的数据格式,最终实现精度、性能和工程复杂度的最优平衡。
附录:各场景实际尝试案例
附录1. 多模态视频生成模型:训练和推理均可采用HiF8/MXFP8/FP8,训练使能Delayed Scaling,释放8-bit Training极致性能
与纯语言模型相比,视频生成模型的低精度量化难度更高,因为它不仅需要处理文本条件,还要建模图像/视频中的空间结构、时间连续性和生成细节。模型内部的activation分布更复杂,数值动态范围更宽,对量化误差也更加敏感。
这类模型通常具有几个典型特点:
文本条件与视觉/视频特征共同参与生成
视频token同时包含空间和时间维度信息
时序建模要求帧间运动连续、稳定
生成质量对局部纹理、主体一致性和运动细节非常敏感
训练和推理链路中包含大量Linear、Attention和FFN计算
因此,视频生成模型的量化不仅要保证单步数值误差足够小,还要避免误差在时空生成过程中累积。如果量化格式动态范围不足,可能会破坏视频token或条件特征的表示;如果中心区域精度不足,可能会影响画面细节、主体一致性、动作连贯性和文本-视频对齐效果。
Wan-2.1-14B HiF8 SFT实测结果

OSP-Next HiF8 RL实测结果

在Ascend 950的多模态视频生成模型训练和推理场景中,可以采用HiF8量化。原因主要有三点:
第一,HiF8的宽动态范围更适合视频生成模型中的复杂activation分布。视频模型同时处理文本条件、视觉空间特征和时间维度特征,不同模块之间数值分布差异明显。HiF8可以更好覆盖这类高方差数据,降低overflow、underflow和outlier对量化精度的影响。
第二,HiF8在中心数值区域具有更高保真度,有利于保持视频生成质量。视频生成模型对细节误差非常敏感,量化误差可能表现为纹理退化、主体漂移、运动不连续或文本响应变弱。HiF8的渐缩精度设计可以将更多表达能力集中在大模型张量最常见的数值区间,从而更好保留关键特征。
第三,HiF8对复杂细粒度scaling的依赖较弱,工程实现上更具性能优势,更适合端到端训练和推理落地。对于 Wan2.1、Wan2.2 这类大规模视频生成模型,训练和推理链路长、模块多,如果依赖过细的per-token或per-block scale,会显著增加工程复杂度和数据流开销。HiF8通常可以通过较简单的scaling策略获得良好精度,并且使能HiF8-Delayed Scaling训练策略获得极致端到端性能提升,更适合规模化部署。

Wan-2.1-14B HiF8训练950PR单机8卡实测数据
因此,多模态视频生成场景低精度数据格式可以尝试:
视频生成模型训练:HiF8/MXFP8/FP8(可以使能Delayed Scaling以获得极致训练性能)
视频生成模型推理:HiF8/MXFP8/FP8
Linear/Attention/FFN:HiF8/MXFP8/FP8
Softmax/Norm/Loss:保持高精度
VAE、Text Encoder、输出头等精度敏感模块:根据模型情况决定是否保留高精度
对于Wan2.1、Wan2.2这类模型,HiF8的价值不只是降低bit数,而是在保持生成质量的同时提升训练和推理效率。它能够在复杂视频生成链路中兼顾动态范围、中心区域精度和工程简洁性,因此是Ascend 950上多模态视频生成模型训练和推理的优先推荐格式。
附录2. 语言模型训练:HiF8使能Delayed Scaling,释放8-bit Training极致性能
在语言模型训练场景中,低精度格式不仅要保证前向计算结果准确,还要保证反向传播中的梯度稳定。相比推理,训练对数值格式的要求更高,因为量化误差会持续参与参数更新,并在长时间训练中逐步累积。因此,低比特训练的关键不只是“用什么数据格式”,还包括“scale 如何统计和更新”。
低比特训练中常见的 scaling 方案主要包括两类:
Current Scaling和Delayed Scaling
Current Scaling是指在当前迭代中实时统计tensor的最大幅值或分布特征,并立即用于当前计算的量化缩放。这种方法的优点是scale与当前数据分布匹配度高,精度相对更稳;缺点是每一步都需要统计和更新scale,带来额外开销,限制低精度训练的性能释放。
Delayed Scaling则是使用历史迭代中的amax信息来确定当前scale,而不是每一步都实时统计当前tensor。它可以减少scale统计、同步和更新开销,更有利于释放8-bit training的端到端性能。但它对低比特数据格式的动态范围要求更高:如果格式动态范围不够,历史scale与当前数据分布之间的偏差就可能导致overflow、underflow或clipping,从而造成训练不稳定。

这也是很多基于传统FP8或其他低比特格式的delayed scaling训练方案容易不稳定的原因。Delayed Scaling的性能潜力很大,但它要求数据格式本身必须能够容忍scale延迟带来的分布波动。

图片1 上图中展示FP8+delayed scaling无法获得稳定训练的工作为:Fishman, Maxim, et al. "Scaling fp8 training to trillion-token llms." ICLR 2025. 以及 Hernández-Cano, Alejandro, et al. "Towards Fully FP8 GEMM LLM Training at Scale." NeurIPS 2025.
HiF8的优势正在于此。HiF8具有大动态范围和动态精度特性,能够更好覆盖训练过程中activation、weight和gradient的分布变化,因此可以有效使能delayed scaling,在保持训练稳定性的同时获得更高性能。换句话说,HiF8不只是一个8-bit表示格式,更是一个适合delayed scaling训练范式的数据格式。
在实际训练 recipe 中,语言模型训练可以采用:
Linear:HiF8
FlashAttention / Attention matmul:HiF8
FAG:HiF8
通信:HiF8
Softmax / RMSNorm / Loss:保持高精度
Scaling:优先采用 HiF8 Delayed Scaling
实验结果也验证了 HiF8 delayed scaling 在语言模型训练中的稳定性和性能优势。
首先,在OLMo-1B预训练实验中,我们复现了官网训练3T数据所得到的下游任务精度,证明HiF8可以支撑完整语言模型预训练任务。在该实验中,HiF8使能delayed scaling预训练,并在训练最后阶段将相对BF16预训练的loss gap维持在约千分之二点五,说明HiF8 delayed scaling不仅可以稳定训练,而且可以保持非常接近BF16的训练收敛质量。


其次,在DeepSeek-V3裁剪版训练实验中,我们在8卡950DT上完成实测。在精度达标的情况下,HiF8训练端到端性能相对MXFP8提升1.113倍,相对BF16提升1.295倍。这表明HiF8 delayed scaling不仅具备精度可用性,也能够在真实训练系统中带来明确端到端性能收益。

此外,在盘古V3先导实验中,我们对34B MoE裁剪模型进行了HiF8预训练验证。在训练进入稳定阶段后,HiF8相对BF16的loss gap做到约千分之一,进一步说明HiF8在大规模MoE 语言模型预训练中同样具备良好的稳定性和可扩展性。
相比MXFP8,HiF8的优势在于动态范围和简化数据流;相比普通FP8,HiF8在per-tensor 量化下更容易保持精度。因此,在Ascend 950的语言模型训练场景中,推荐优先使用 HiF8。下图中可以清晰地看到,HiF8训练场景相对MXFP8性能优势明显:HiF8支持比较大的动态范围,可以使用pertensor量化支持精度达标,减少了量化算子个数,提升整网性能。

综合来看,语言模型训练场景可以采用HiF8的原因可以概括为三点:
第一,HiF8的大动态范围使delayed scaling成为稳定可用方案;
第二,HiF8的动态精度特性可以在保持精度的同时降低复杂scaling依赖;
第三,HiF8 delayed scaling能减少scale统计和同步开销,从而释放8-bit training的极致性能。
附录3. 语言模型推理:
语言模型推理通常可以分为两个阶段:
Prefill阶段:一次性处理完整输入prompt
Decoding阶段:逐token生成,并不断读取历史 KV cache
这两个阶段的计算特征不同,因此低精度格式的选择也不同。Prefill阶段更接近训练中的forward,大量计算集中在Linear、Attention QK/PV、FFN和MoE GEMM 上,主要瓶颈是大规模矩阵计算吞吐;Decoding阶段则通常是逐token生成,除了计算本身,还受到KV cache访问、cache格式、Attention结构和数据搬运路径的影响。
因此,语言模型推理不能简单地用一种格式覆盖所有阶段,而需要根据prefill和decoding的不同执行特点分别选择。
附录3.1 Prefill 阶段:
在prefill阶段,模型需要对完整输入序列进行一次前向计算,计算密度高,矩阵乘占比大,低精度格式可以充分发挥高吞吐优势。典型计算包括:
Q/K/V projection
Attention QK matmul
Attention PV matmul
Output projection
FFN gate-up / down projection
MoE expert GEMM
在Ascend 950上,HiF8和MXFP8都经过了针对prefill场景的性能优化,并且在精度验证中均可达到无损效果。二者的特点可以简单理解为:
HiF8:动态范围大,对复杂细粒度scaling依赖较弱,数据流更简单
MXFP8:通过microscaling提升局部分布表达能力,适合规整GEMM场景
因此,prefill阶段的推荐策略是:
Prefill Linear:HiF8 或 MXFP8
Prefill Attention QK / PV:HiF8 或 MXFP8
Prefill FFN:HiF8 或 MXFP8
Prefill MoE dense 路径:HiF8 或 MXFP8
Softmax / Norm:保持高精度
一句话总结:语言模型prefill阶段,HiF8和MXFP8都能实现无损精度和高性能,均是推荐格式。
附录3.2 Decoding阶段:格式选择取决于Attention结构
Decoding阶段与prefill阶段不同。它通常逐token生成,每一步都需要读取历史KV cache,并基于当前query与历史key/value计算attention。此时,性能瓶颈不再只是矩阵计算吞吐,还包括:
KV cache读写
cache 数据格式
Attention 数据流
历史 token 访问模式
低精度格式是否引入额外量化/反量化
因此,decoding阶段的低精度格式选择必须结合Attention结构来判断。
附录3.3 KV cache合一Attention:HiF8是唯一合理选择
对于龙猫、智谱、DeepSeek等采用KV cache合一设计的Attention,推荐使用HiF8,并且可以认为HiF8是当前唯一合理选择。
这类Attention的特点是KV cache存储格式与后续Attention计算路径高度耦合,cache中的数据既要长期保存,又要在每一步decoding中被重复读取和参与计算。此时,量化格式不仅影响单次矩阵乘精度,也会影响KV cache的持续复用和数据流稳定性。
在这类场景中,MXFP8存在二次量化问题。由于MXFP8依赖microscaling,KV cache在存储、读取和参与Attention计算时,可能需要经历额外的量化、反量化或重新定标过程,从而引入误差累积和额外数据流开销。对于decoding这种高频、逐token的执行路径,这类额外开销和精度扰动都会被放大。
普通FP8如果采用per-tensor量化,也难以满足精度要求。Decoding阶段的KV cache跨token、跨head、跨位置分布差异明显,一个per-tensor scale很难同时覆盖所有数值区域,容易出现outlier拉大scale、正常值有效精度下降的问题。
HiF8则更适合这类场景。它具备更大的动态范围和更好的中心区域保真度,对复杂细粒度scaling的依赖更弱,可以用更简单的数据流覆盖KV cache合一Attention的decoding 计算路径。
因此,对于KV cache合一Attention:
Attention:推荐HiF8,不推荐MXFP8:存在二次量化问题 FP8 per-tensor:不推荐,精度不足


附录3.4 DeepSeekV4-Flash-HiF8推理案例
下图为DeepSeekv4-Flash模型采用HiF8量化的整网推理方案:

精度持平官网技术报告:
性能数据:8P
|
batchsize |
seq |
场景 |
MXFP8方案(ms) |
HiF8方案(ms) |
HiF8相对MXFP8性能提升 |
|
1 |
8k |
prefill |
920.8 |
835.65 |
9.25% |
|
decode |
19.47 |
18.27 |
6.16% |
||
|
1 |
16k |
prefill |
1780.51 |
1609.2 |
9.62% |
|
decode |
19.51 |
18.3 |
6.20% |
||
|
1 |
32k |
prefill |
3586.76 |
3290.17 |
8.27% |
|
decode |
19.52 |
18.4 |
5.74% |
||
|
1 |
64k |
prefill |
7367.09 |
6807.12 |
7.60% |
|
decode |
19.75 |
18.5 |
6.33% |
||
|
1 |
128k |
prefill |
14222.59 |
13713.1 |
3.58% |
|
decode |
19.81 |
18.67 |
5.75% |
||
|
1 |
1M |
prefill |
30265.73 |
29592.36 |
2.22% |
|
decode |
22.86 |
21.63 |
5.28% |
精度分析
HiF8方案Benchmark推理精度验证(相对官方开源精度无损)
|
BenchMark |
官方开源 模型精度 |
方案A精度 |
Acc Drop |
few-shot |
|
World Knowledge |
||||
|
MMLU |
88.7 |
88.3 |
-0.4 |
5-shot |
|
MMLU-Pro |
68.3 |
67.8 |
-0.5 |
5-shot |
|
CMMLU |
90.4 |
90.4 |
0 |
5-shot |
|
GPQA-diamond |
71.2 |
70.7 |
-0.5 |
0-shot |
|
Languages & Reasoning |
||||
|
Drop |
88.6 |
88.1 |
-0.5 |
1-shot |
|
HelloSwag |
87.7 |
88.0 |
+0.3 |
0-shot |
|
Winogrande |
84.3 |
83.5 |
-0.8 |
0-shot |
|
Code & Math |
||||
|
Humaneval |
69.5 |
73.4 |
+3.9 |
0-shot |
|
GSM8K |
90.8 |
90.7 |
-0.1 |
8-shot |
|
Math500 |
85.7 |
86.6 |
+0.9 |
8-shot |
|
Livecodebench |
69.2 |
70.3 |
+1.1 |
0-shot |
|
HumanevalX |
39.0 |
38.9 |
-0.1 |
0-shot |
|
Long Context |
||||
|
LongBenchV2(128K) |
49.0 |
48.6 |
-0.4 |
1-shot |
|
LongBenchV2(1M) |
45.4 |
44.8 |
-0.6 |
1-shot |
HiF8与MXFP8数值精度分析(基于DeepSeekV4-Flash网络)
权重HiF8(per-tensor量化) vs MXFP8量化数值分析(基于DeepSeekV4-Flash)

HiF8在权重量化保真度上明显优于MXFP8,且优势是系统性的,而不是局部偶然现象。Weight SQNR结果显示,HiF8在0–40层范围内consistently高于MXFP8,最高达到34.8dB,而MXFP8最高约为31.4dB,且波动更明显。该结果表明,HiF8在权重量化中具有更高的信号保真度,能够更有效地降低weight quantization error。结合activation和KV cache侧的对齐结果,HiF8在整网推理中具备与MXFP8对齐甚至更优的数值基础。

Weight zero-rate结果显示,HiF8与MXFP8在0–40层范围内整体趋势相近,置零率均处于e-4数量级,仅约0.01%–0.06%。这表明两种格式在权重量化中均未引入明显小值塌缩或异常置零。MXFP8在部分层的zero-rate峰值略高于HiF8,说明HiF8在小权重保留方面不弱于 MXFP8。结合Weight SQNR中HiF8全层领先的结果,可以进一步说明HiF8在权重侧同时具备更高信号保真度和稳定的小值保留能力。

激活HiF8(per-tensor量化) vs MXFP8量化数值分析(基于DeepSeekV4-Flash)

Activation zero-rate结果显示,HiF8与MXFP8在0–40层范围内保持高度一致。除layer 0由于输入分布或统计口径导致zero-rate较高外,后续层zero-rate快速下降并稳定在约0.12附近。该结果表明,HiF8未相比MXFP8引入额外的小值塌缩或异常置零现象,在activation稀疏性和低幅值保留能力上与MXFP8基本对齐。HiF8 与 MXFP8 在 activation 小值保留和置零行为上高度一致;结合后面SQNR图,可以初步证明HiF8在DeepSeek V4 Flash推理中的activation量化行为与MXFP8基本对齐,没有观察到额外噪声放大或小值塌缩问题。

在DeepSeek V4 Flash上,我们统计了HiF8与MXFP8的逐层Activation SQNR。结果显示,两种格式在0–40层范围内高度接近,SQNR主要分布在30.5–33.5dB区间,曲线整体呈交错重合趋势。该结果表明,HiF8在激活量化保真度上与MXFP8 基本一致,未观察到明显的系统性SQNR下降或随层数加深的误差累积现象。从逐层Activation SQNR看,HiF8与MXFP8几乎不可区分,说明HiF8能够在DeepSeek V4 Flash推理中提供与MXFP8相当的激活数值保真度。

KVCache HiF8(per-tensor量化) vs per-block scale FP8量化数值分析(基于DeepSeekV4-Flash)

下面这张图可以支撑:HiF8和MXFP8在KV cache上均能保持较高量化保真度,KV cache不是HiF8相比MXFP8的主要精度风险来源,在KV cache SQNR上,未观察到HiF8相比 MXFP8的系统性退化,两种格式整体稳定在相近水平。一个孤立的超高 SQNR 点通常不代表模型整体更好。相反,它更像是统计指标的数值边界情况。HiF8的KV cache保真度与MXFP8基本对齐。

在KV cache量化中,MXFP8在部分层更容易产生零值,而HiF8的cache置零比例相对更低、更平缓。
这说明:MXFP8在某些层可能把更多小幅值cache元素量化成了0。虽然HiF8和MXFP8在KV cache整体误差能量上接近,但HiF8对小幅值cache信息的保留可能更充分;MXFP8在部分层可能存在更高的小值置零现象。
这对KV cache是有意义的。因为K/V cache会参与后续attention,如果大量小值被置零,虽然SQNR可能仍然很高,但细粒度信息可能有损失,尤其在长上下文或attention边界场景下可能影响输出。
Cache zero-rate结果显示,HiF8与MXFP8在各层均保持较低置零比例,但MXFP8在部分层出现更高zero-rate峰值,而HiF8曲线整体更平缓。该结果表明,HiF8在KV cache量化中未引入额外的小值置零风险,并可能相比MXFP8更好地保留低幅值cache信息,HiF8在KV cache数值保真度和小值保留方面均与MXFP8基本对齐,甚至在部分层具备更低置零率优势。
MXFP8对部分层cache的小值分布不如HiF8友好,某些层的K/V分布可能有大量低幅值元素,MXFP8的scale或编码粒度使这些值更容易落到0。
HiF8对低幅值区间的表达更充分
如果HiF8的格式/scale策略能更好覆盖小值,那么zero-rate会更低,保留更多非零信息。

附录3.5 GQA Attention:HiF8和MXFP8均可达到最优
对于GQA,GQA结构更加规整,多个query head共享较少数量的key/value head,已经是主流语言模型推理中的常见Attention形式。
在GQA decoding场景下,HiF8和MXFP8均可以达到较优精度和性能。HiF8的优势在于动态范围大、数据流简单,对细粒度scaling依赖较弱;MXFP8的优势在于microscaling可以更好适配局部分布,在规整GQA计算中也能够充分发挥性能。
因此,对于GQA Attention:
GQA + HiF8:推荐,精度和性能均可达到最优
GQA + MXFP8:推荐,精度和性能均可达到最优
附录4. MoE 场景:可以使用MXFP4 + MXFP8的W4A8组合或MXFP4+MXFP4的W4A4组合;训练场景可以使用HiF8+HiF8的W8A8组合
MoE模型的核心计算来自expert。每个token只路由到部分expert,但expert内部仍然是大规模FFN GEMM。MoE的性能瓶颈通常集中在:
Expert weight 访存
Expert GEMM 吞吐
Token dispatch / combine
跨卡通信
对于MoE expert,权重规模巨大,访存压力突出。因此,相比单纯使用8-bit,更激进的 W4A8/W4A4组合可以带来更高收益。
在Ascend 950上,MoE可以采用:
Weight:MXFP4;训练采用HiF8
Activation:MXFP8/MXFP4; 训练采用HiF8
组合:W4A8/W4A4
这种组合的优势是:
第一,MXFP4 将 expert weight 降到 4-bit,大幅降低权重带宽压力。
第二,MXFP8保留activation的8-bit表示能力,避免activation过度压缩导致精度损失。
第三,W4A8在MoE expert GEMM中可以取得较好的精度与性能平衡。
第四,在Ascend 950预训练场景推荐采用HiF8+HiF8的W8A8组合,可以支持delayed scaling获得极致的8bit训练性能且保证精度;
第五,在某些场景即便activation采用4-bit依然可以保证精度,此时采用W4A4获得极优性能。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)