

华为给昇腾950列过两个算力数字:用FP8计算,每秒能算1000万亿次;用FP4,每秒2000万亿次。
FP8、FP4里的数字,说的是记一个数用几位二进制:8位,或者4位。
芯片没换,只是每个数少记了一半的位,算力就翻了一倍。
这两个数字是华为2025年9月在全联接大会上公布的。今年9月,华为轮值董事长汪涛说:“昇腾950超节点也已规模商用。”超节点,就是把成百上千颗芯片连成一台大机器。
把数字变短的不只华为。摩尔线程在今年的半年报里写,最新一代的花港架构加强了对FP8、FP4的硬件加速。据媒体报道,DeepSeek去年8月发布新模型时也说,它用的一种8位格式,是为即将发布的下一代国产芯片设计的。
少记几位,为什么能多算?记得粗了,模型为什么还能算对?同样是8位,华为为什么还要自己定一种?
还有一个更实际的问题:算力翻了一倍,回答问题也能快一倍吗?

图1:同一颗昇腾950,用4位算的标称算力是8位的两倍。这是华为公布的规格,不是模型实测的速度。(来源:华为全联接大会2025徐直军主题演讲)
1. 数字短一半,芯片省在哪里?
大模型说到底是一大堆数字,存在芯片旁边的显存里。一部分是训练好的参数,叫权重;一部分是计算途中的中间结果,叫激活值。芯片的活,就是把这些数反复相乘、相加。
把这些数换成更短的格式,业内常叫量化。它主要省三样:
存得下:同样的显存,能装更多的数。
搬得快:路一样宽,同样时间能运更多的数。
算得多:同样的时间,能做更多次乘法。
先说存。假设有10亿个数,用16位记,占2 GB;8位占1 GB;4位只占0.5 GB。
省下的显存,可以装下更大的模型,也可以同时接待更多用户。
不过,模型跑起来,显存里还有中间结果,以及记录已读内容的KV缓存。只把权重变短,整套服务占的显存不会跟着减半。

图2:同样10亿个数,从16位换成4位,占用空间降到四分之一。只算数字本身,不含格式附带的额外信息;GB按十进制计。
再说搬。数据要从显存运到计算单元,路就那么宽。每个数短一半,同样时间就能多运一倍。
如果芯片原本主要在等数据,这一步能省下不少等待。前提是数字在路上也保持短格式;先还原成16位再运,就省不下来。
最后才是参数表上的算力。数字越短,做一次乘法要处理的位越少。芯片可以专门做一套短数字的计算电路,同样的时间、相近的硬件资源,做更多次乘加。
昇腾950那两个数字,比的就是这一项。前提是硬件里真有4位的计算电路,软件才调得动;只把模型文件压小,旧芯片不会凭空多出这套电路。
2. 少记几位,模型为什么还能算对?
数字记得粗了,计算就会有误差。
大模型用起来分两种场景。推理,是拿训练好的模型回答问题,要的是快和省;训练,是一边算一边改参数,小误差会一轮轮累积,对精度更挑剔。华为介绍自研的4位格式时,说的也是能提升推理吞吐。
哪里能变短,得先看一个数是怎么记的。
计算机记小数用浮点数,和科学计数法一个思路:12300写成1.23乘以10的4次方。浮点数换成了二进制,一部分位记数有多大,叫指数;一部分位记有效数字,叫尾数;另有一位记正负。
位数就那么多,只能分配:多给指数,能表示的范围更大;多给尾数,同一档里的数分得更细。
可以把它想成一把尺子:指数管量程,尾数管刻度有多密。
16位的尺子最多有65,536个刻度,8位只有256个,4位只有16个。4位浮点(E2M1格式)能写出的正数,只有0.5、1、1.5、2、3、4、6这七个。落在两个刻度之间的数,只能取最近的那个。
所以,不能什么都用4位。
同样是8位,也有不同分法。英伟达从H100这代GPU起支持的FP8有两种,名字就写着分法:E4M3是4位指数、3位尾数,E5M2是5位指数、2位尾数,各另有1位符号。前者刻度细,后者量程长。
训练时,模型先算一遍结果,叫前向;再根据结果的误差,往回算每个参数该怎么调,叫反向。反向传回来的调整量叫梯度,大小相差悬殊,更需要量程。
所以英伟达的文档说,前向最好用E4M3,反向最好用E5M2,等于备了两把尺子。

图3:同样8个位,E4M3多给尾数,刻度更细;E5M2多给指数,量程更长。(来源:英伟达Transformer Engine文档)
DeepSeek-V3在英伟达H800集群上训练时,把活分了档:大部分矩阵乘法用FP8;模型的入口、出口和几处对误差敏感的环节,保留16位或32位;更新参数用的那份主权重,保留32位。
乘完之后,结果也要换到更高精度再累加,免得误差越加越大。
它还多做了一步:没有两把尺子混着用,而是全程用刻度更细的E4M3。量程不够,就把数分成小组,激活每128个数一组,权重每128×128个数一块,每组配一个自己的倍率。DeepSeek的技术报告说,这和业界的微缩放(MX)格式是同一个思路。
所以,FP8训练不是全程8位,而是8位和高精度各管一段。

图4:DeepSeek-V3的FP8训练,大部分矩阵乘法用8位,入口、出口等敏感环节和主权重仍用16位或32位。(来源:DeepSeek-V3技术报告)
3. 同样是8位,华为为什么还要自己定一种?
用英伟达那两种格式,要么备两把尺子,要么像DeepSeek那样,靠分组倍率补量程。华为的HiF8想换一把尺子:一把就能管前向和反向。
办法是让刻度的疏密跟着位置变。E4M3、E5M2里,指数和尾数各占几位是固定的;HiF8是可变的。按每2倍算一档:
中间7档:在1附近,留3位尾数,刻度和E4M3一样细。
往外8档:尾数减到2位。
最外16档:尾数只剩1位,位置都让给量程。
再加上专门记极小数的写法,HiF8一共覆盖38档,FP16是40档。华为的论文据此说,HiF8可以同时用在训练的前向和反向。
华为发布时说,HiF8“在保持FP8的高效的同时,精度非常接近FP16”。论文给出的硬指标是量程:38档对40档。单个数能记多细,HiF8最多3位尾数,FP16有10位,仍是8位的水平。
昇腾950同时也支持业界通用的MX格式。MX走的是另一条路:不改单个数的分法,让一组数共用一个倍率。
这有点像表格上方写着“单位:万元”。格子里只填3、5、8,读表时统一乘上一万。MX的倍率是2的几次方,原理一样:大小交给倍率,每个数就能用更少的位来记。
MX规范由AMD、Arm、英特尔、Meta、微软、英伟达和高通共同制定,2023年通过开放计算项目(OCP)这个行业组织发布。按规范,MXFP8、MXFP4都是每32个数共用一个8位倍率。
拿MXFP4算一笔:32个数各4位,加上8位倍率,一共136位,摊下来每个数4.25位。
开头提到DeepSeek那种为国产芯片设计的格式,叫UE8M0 FP8。其中的UE8M0,正是MX规范里这种8位倍率的写法:只记2的几次方。DeepSeek在模型说明里也写明,用它是为了兼容微缩放格式。
MX也有难处。假如一组里大部分数很小,偏偏夹着一个特别大的,倍率就不好选:照顾大数,小数就容易被抹平。分组怎么分、倍率怎么选,都成了软件要处理的事。
HiF8重排的是一个数内部的刻度,MX让一组数共用倍率,昇腾950两种都支持。
到了4位,华为也要用自己的格式。昇腾950列出的4位格式,是业界通用的MXFP4;规划中的昇腾960,华为写明要支持自研的HiF4,说它“能进一步提升推理吞吐”。

图5:HiF8让1附近的刻度更密、两头更疏,量程接近FP16;MX让每32个数共用一个8位倍率,平均每个数4.25位。图中按每2倍一档画刻度。(来源:HiF8论文、OCP MX规范)
4. 国产芯片把数字变短,走到了哪一步?
格式写进规格,只是第一步。要真省下时间,硬件得有对应的计算电路,软件得调得动,模型得在上面跑通。
按这几步看,8位已经进了产品,4位正在铺开。国产AI芯片厂商不少,下面看公开资料写到具体格式和型号的三家。
华为:8位、4位都写进了昇腾950,下一代还要换上自研的4位格式。昇腾950支持业界的FP8、MXFP8、MXFP4和自研的HiF8;规划中的960,再加上自研的HiF4。
摩尔线程:S5000用原生FP8跑模型、做训练,最新一代架构加上了FP4。摩尔线程的旗舰训推一体智算卡MTT S5000,基于第四代平湖架构,算力覆盖从FP8到FP64(64位)。半年报称,公司联合生态伙伴,基于原生FP8低精度算力等技术,在S5000上完成了对DeepSeek-V4的深度适配;万卡集群也“在原生FP8精度下完整复现了顶尖大模型的训练流程”。
软件这一层,摩尔线程基于英伟达开源的训练加速软件Transformer Engine,做了适配版MT-TransformerEngine,让自家GPU“能够使用FP8训练”。再往后一代,半年报写明,最新的花港架构加强了对FP8、FP4等低精度格式的硬件加速。
海光:FP8模型已经落到具体型号上。GitHub上署名海光信息的HYGON-AI账号,公开了一份大模型部署指南。其中0.28.1版写明,阿里开源模型通义千问Qwen3的几款FP8版本,只给了海光BW1100卡的启动命令。“支持FP8”这句话,要落到具体型号和软件版本上看。

图6:三家都已把8位做进产品,华为、摩尔线程已写到4位。深色为已在产品或软件里,浅色为已公布的架构或规划。(来源:华为全联接大会2025、摩尔线程2026年半年报、HYGON-AI部署指南)
5. 算力翻倍,回答问题能快一倍吗?
你问AI一个问题,到第一个字跳出来,芯片要做好几件事:从显存读数据,排队等调度,做乘法,几张卡之间还要互相传话。算力翻倍,快的只是做乘法那一段。
举个简化的例子:一个任务原来花100毫秒,其中60毫秒在做矩阵计算,40毫秒在做别的。
矩阵计算快一倍,60毫秒变成30毫秒;别的不变,总共70毫秒。整体快了约1.43倍,不是2倍。

图7:计算部分快一倍,总耗时从100毫秒降到70毫秒,整体约快1.43倍。这是简化算例:假设其余40毫秒不变,也不计格式转换的开销。
实际情况更复杂。计算和搬数据常常同时进行;数字进出时,还要花时间转换格式。摩尔线程的FP8训练软件文档就提醒,矩阵太小、序列太短、同步太频繁,都可能发挥不出FP8的优势。
所以要看真实效果,得拿同一个模型、在同样条件下比:第一个字等多久,后面出字多快,一张卡能同时接待多少人,回答质量有没有掉。
质量是另一笔账。数字变短,有的任务效果会掉下来;掉得多了,就得把那部分换回更高精度,或者重新调分组和倍率,甚至重新量化、重新训练。
回到开头的问题。同一颗芯片的算力翻了一倍,翻的是4位乘法的速度。它能变成多少真实的快,要看数据搬不搬得动、误差扛不扛得住。
为什么国产芯片都在做这件事?摩尔线程在半年报里的解释是,对FP8、FP4等低精度格式的硬件加速,是大模型训练和推理时“突破内存墙瓶颈”的关键门槛。内存墙,说的是数据从内存搬来的速度,跟不上芯片计算的速度。
参数表上的翻倍只是起点。同样的回答质量下,一张卡能多接待多少人、每次回答少花多少钱,才是这笔账的结果。
参考资料:(上下滑动可查看):

