找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 38|回复: 4

[科技新闻] Deepseek V3.1的UE8M0 FP8和英伟达的FP8格式有什么区别

[复制链接]
  • 打卡等级:已臻大成
  • 打卡总天数:411
发表于 2025-8-24 20:29 | 显示全部楼层 |阅读模式

马上注册,查看更多内容,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
这是前天的消息了,相信大家都已经看到了,Deepseek V3.1发布,引入了UE8M0 FP8,说了针对即将发布的下一代国产芯片。

这个消息发布的时候,我们就在星球里面发了一个前一天的国产GPU纪要,根据纪要内容,也基本能确定是哪款国产芯片了。

1.webp




本来我对这件事并没有太关注,因为感觉下一代芯片支持FP8应该是非常合情合理的,毕竟英伟达的B200都已经支持FP4和FP6了。后来想了一下,这件事的意义确实也是不小的,下面来分析一下。

2.webp




要聊 UE8M0,得先说说 “FP8” 这个基础概念。咱们平时听得多的是 FP32、BF16 这些数据格式,数字越大,代表每个数据占用的存储空间越多,精度也越高,但反过来,内存消耗、计算速度都会受影响。相信写过代码的朋友对这些应该都很熟悉。

FP8 就是 “8 位浮点数”,核心作用就一个:压缩数据。比如把原本用 32 位存的数据改成 8 位,内存占用直接少 75%,计算速度还能提上去 —— 不管是训练大模型,还是用模型做推理,效率都会明显提升。

但 FP8 也不是只有一种。国外现在主流的是 Nvidia搞的 “MXFP8”,分两种:一种叫 E4M3,侧重精度;另一种叫 E5M2,侧重数据的动态范围。这些都是为 Nvidia 的 GPU(比如 H100、B100)量身定的,在其他芯片上用,就容易出问题。

UE8M0 是一种针对 FP8 张量数据的编码格式,其中 U 代表无符号(Unsigned),E8 代表指数位(Exponent)占 8 位,M0 代表尾数位(Mantissa)为 0 位。

UE8M0 是由 Open Compute Project(OCP)提出的。OCP 是 2011 年由 Facebook(现 Meta)联合英特尔、Rackspace 等发起的开源硬件协作计划,其成员包括微软、谷歌、亚马逊、AMD、英伟达等国外企业,以及阿里、腾讯、百度等国内企业。2023 年,OCP 发布了《Microscaling(MX)Formats Specification v1.0》,其中定义了 MXFP8 格式,UE8M0 就是 MXFP8 路径里的 “缩放因子”。

看到这里,有些非技术出身的读者可能还是有点晕,简单总结一下就是,FP8就是8位的浮点数,UE8M0、E5M2和E4M3都是FP8的一种,目前国外主流是支持后面两种,我们现在支持的第一种。

再解释下什么是原生FP8,很多读者可能看到有两家国产芯片公司宣传自己支持原生FP8。

原生 FP8指的是硬件直接支持 8 位浮点数(FP8)格式的计算能力,而无需通过软件模拟或降级到其他格式(如 FP16 或 INT8)来实现。摩尔线程 MUSA 架构宣称原生 FP8 张量加速,并点名能很好支持 UE8M0 FP8 Scale;芯原 VIP9000 NPU 亦被多家产业媒体与高管采访稿提到增加 FP8(E4M3/E5M2)支持,强调与主流框架/工具链的易部署性。

为什么Deepseek要用UE8M0,而英伟达用的却是E4M3和E5M2?

NVIDIA 用的FP8,是平衡了精度和范围,E4M3偏精度,E5M2偏范围,依托Tensor Core和专有软件优化,追求高性能和稳定性。但这套逻辑放到国产芯片上就不灵了,因为硬件的计算单元都不一样。

网上都在说UE8M0是“范围优先”,牺牲小数精度,换取大范围和硬件简约性。其实还有一层,就是 “兼容性优先”:放弃了靠 FP8 本身保证精度,转而用 “通道级校准”和 “高精度累加” 来补精度,把所有精力放在 “让国产芯片能稳定跑起来” 上。

很多人以为 V3.1 只是多了个 UE8M0 的选项,其实没这么简单。从官方透露的信息看,他们这次是把 UE8M0 深度融入了整个模型开发流程,核心是在做 “向前兼容”。首先,V3.1 整个训练过程都用了 UE8M0 FP8,不是事后补的功能。他们特别提到了 “microscaling 适配”,简单说就是通过调整数据缩放比例、用更高精度的累加器(比如 FP16)来补精度,确保用了 FP8 压缩,模型效果还能跟原来一样。

其次,虽然没明说和哪家国产芯片厂商合作,但明确说了 UE8M0 是给 “即将发布的下一代国产芯片” 准备的。这意思很明显:芯片还没上市,软件已经提前适配好了,等硬件一出来,模型就能直接用,不用再花时间调试。

这次的核心目标不是 “比国外 FP8 更高效”,而是 “能在更多国产芯片上稳定跑”。DeepSeek 之前也用过国外的 E4M3 格式,这次换 UE8M0,更像是在给行业探路 ,证明我们能做出适配国产硬件的通用方案。

为啥非要给国产芯片做专属 FP8?

可能有人觉得,直接用国外的 FP8 标准不行吗?为啥非要自己搞一个?其实这背后是中国 AI 生态的现实问题:

首先,国产芯片和 Nvidia 的 “底层逻辑” 不一样。比如同样算一个 FP8 的矩阵乘法,Nvidia 的 GPU 和国产芯片由于底层架构不同,所以计算步骤、数据流向都不同。直接套用国外标准,就像给中式厨房装西式的灶台,要么用不了,要么容易出故障 。比如训练到一半数值溢出,模型突然 “学歪了”,又得从头再来,成本太高。

其次,这是摆脱依赖的关键一步。我们上面已经提到,英伟达已经专门为E4M3和E5M2做了优化,而目前我们的国产GPU中,支持FP8的还不多,如果再都去针对E4M3和E5M2做优化,并不是最优解,反倒不如抛开英伟达的标准,找一个适合国产GPU的路线。

而且,这是 “软硬件协同” 的开始。以前我们搞 AI,要么是先有国外硬件再做软件适配,要么是先做模型再等硬件跟上,总是慢半拍。这次 DeepSeek 提前和国产芯片厂商合作,软件跟着硬件的节奏走,相当于 “软硬件一起设计”,能大幅缩短国产芯片从实验室到实际应用的时间。

UE8M0 的实际效果

虽然 UE8M0 主打兼容性,但也没牺牲 FP8 的核心优势 —— 效率。根据官方和行业的测试:

内存方面,相比 FP32 能省 75% 左右(当然实际用的时候会受缓存策略、数据类型影响,不一定能到这么高)。这意味着同样的显卡,用 UE8M0 能训练更大的模型,或者推理时同时处理更多请求。

速度方面,推理吞吐量差不多是 BF16 的 2 倍。比如原来一张卡每秒能处理 100 个请求,用了 UE8M0 可能能到 200 个,而且延迟不会明显增加 —— 这对需要大规模服务的场景(比如 AI 对话、内容生成)特别有用。

当然,也得清楚一点,UE8M0 没比国外的 FP8 更快,只是在国产芯片上能达到差不多的效率。它的价值不是 “超越”,而是 “补位”—— 让国产芯片也能享受到 FP8 的高效。

UE8M0 不是万能的

虽然 UE8M0 解决了不少问题,但也不是所有场景都能用。很多计算步骤(比如梯度累加)还是得用 BF16 或 FP16,不然精度会丢得太厉害。UE8M0 本质是 “FP8 存数据,16 位算累加” 的混合方案,不是纯 FP8。

而且还得看国产芯片的支持程度,如果芯片厂商没做好 FP8 的底层优化,就算用了 UE8M0,也发挥不出性能。这还需要芯片厂商和软件厂商一起推进。

最后,精度校准不能省。因为 UE8M0 的尾数位简化了,必须做好数据校准 —— 比如处理极端大或极端小的数值,不然可能在某些场景里出误差。
  • 打卡等级:已臻大成
  • 打卡总天数:411
发表于 2025-8-24 20:56 | 显示全部楼层
技术宅表示UE8M0这招妙啊,就像给国产芯片定制了‘万能钥匙’,75%内存节省相当于显卡多装3个大型游戏的空间,兼容性优先的思路确实接地气
回复 支持 反对

使用道具 举报

  • 打卡等级:已臻大成
  • 打卡总天数:411
发表于 2025-8-24 21:06 | 显示全部楼层
这篇文章对uefp8 理解有误
回复 支持 反对

使用道具 举报

  • 打卡等级:初窥堂奥
  • 打卡总天数:15
发表于 2025-8-25 01:26 | 显示全部楼层
果断回帖,如果沉了就是我弄沉的很有成就感
回复 支持 反对

使用道具 举报

  • 打卡等级:自成一派
  • 打卡总天数:279
发表于 2025-8-25 09:43 | 显示全部楼层
感谢楼主分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

文字版|手机版|小黑屋|RSS|举报不良信息|精睿论坛 ( 鄂ICP备07005250号-1 )|网站地图

GMT+8, 2025-9-12 21:54 , Processed in 0.229028 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表