量子位 08-11
推理成本骤降75%!gpt-oss用新数据类型实现4倍推理速度,80GB显卡能跑1200亿参数大模型
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

OpenAI 在最新的开源模型gpt-oss上采用的MXFP4数据类型,直接让推理成本暴降75%!

更惊人的是,MXFP4 在把内存占用降为同规模 BF16 模型的四分之一的同时,还把生成 token 的速度提升了整整4 倍。

换句话说,这一操作直接把1200 亿参数的大模型塞进80GB显存的显卡,哪怕是只有16GB显存的显卡也能跑200 亿参数的版本。

(注:显存容量通常会大于 Checkpoint Size)

相比以往的数据类型,MXFP4 提供了极高的性价比,模型运行所需的硬件资源仅为之前的四分之一。

MXFP4 有什么魔力?

在 gpt-oss 中,OpenAI 将 MXFP4 量化应用于大约 90% 的权重,这一操作的直接动机(收益)就是让模型运行成本变得更加便宜。

将 gpt-oss 模型量化为 MXFP4 后,大语言模型的占用内存仅为等规模 BF16 模型的 1/4,而且生成 token 的速度最高可提升 4 倍。

如何通过改变数据类型降低模型运行成本?这里的逻辑是这样的:

模型的运行成本主要由权重存储内存带宽两个部分组成。

前者是模型参数存放和占用的空间,也就是存储它们所需要的字节数。

后者则是模型在推理时,数据读写速度和容量的限制。

数据类型的变化将直接影响权重存储和内存带宽的占用。

例如,传统模型权重通常用FP32(32 位浮点数)存储,每个参数占用 4 字节内存。

如果用 MXFP4,那么每个权重只有半字节权重存储大小是 FP32 的 1/8,这就极大地压缩了权重数据量的大小。

这一压缩不仅降低了模型的存储空间,还能让模型在同样的带宽下完成更快地数据读取和写入,从而提高推理速度。

由此,通过改变数据类型就能实现推理成本的降本增效。

那么,MXFP4 是怎么实现这一点的?

MXFP4

MXFP4 的全称是微缩放 4 位浮点数(Micro-scaling Floating Point 4-bit),是由 Open Compute Project ( OCP ) 定义的 4 位浮点数据类型。

(注:OCP 是 Facebook 于 2011 年发起的超大规模数据中心合作组织,旨在降低数据中心组件成本并提高可获取性。)

在深度学习领域中,数据类型的精度和效率一直是研究者取舍的重点。

例如,传统的 FP4 只有四位,1 位符号位(表示正负),2 位指数位(决定数值的量级),1 位尾数位(表示小数部分)。

这种表示方法虽然压缩了数据量,但也导致了非常有限的可表示的数值范围,它只能表示 8 个正数和 8 个负数。

相较之下,BF16(1 位符号位,8 位指数位和 7 位尾数位)则能表示 65,536 个数值,不过表示范围的增加也带来了计算成本的上升。

如果为了提高计算效率,直接把这 4 个 BF16 数值:0.0625、0.375、0.078125、0.25 直接转换成 FP4,那么它们会变成 0、0.5、0、0.5。

不难看出,这样的误差显然是无法接受的。

于是,为了在减少数据量的同时确保一定的精度,MXFP4 通过将一组高精度数值(默认 32 个)乘以一个公共缩放因子(这个缩放因子是一个 8 位二进制指数)。这样,我们前面那 4 个 BF16 数值就会变成 1、6、1.5、4。

这样就既实现了极致的数据大小,又维持了数值间大小关系的精度。

此外,这一过程的实现还与计算硬件相关

一般规律是,每将浮点精度减半,芯片的浮点吞吐量就能翻倍。

比如,一个 B200SXM 模块的稠密 BF16 运算性能约为2.2 petaFLOPS,降到 FP4(Nvidia Blackwell 芯片提供硬件加速)后,就能提升到9petaFLOPS

虽然这会在吞吐量上带来一些提升,但在推理阶段,更多 FLOPS 的意义主要是减少模型开始生成答案的等待时间

值得注意的是,运行 MXFP4 模型并不要求硬件必须原生支持 FP4

用于训练 gpt-oss 的 Nvidia H100 就不支持原生 FP4,不过它依然可以运行,只是无法享受该数据类型的全部优势。

低精度与计算量的取舍

事实上,MXFP4 并不是新概念。早在 2023 年的报告中,OCP 就在报告《OCP Microscaling Formats ( MX ) Specification Version 1.0》中详细介绍过这一数据类型。

然而,这种低精度的数据类型通常被认为是对性价比的妥协,因为精度下降会导致质量损失。损失的程度取决于具体的量化方法。

不过,已经有足够多的研究表明,将数据精度从 16 位降到 8 位,在大语言模型场景下几乎没有质量损失,这种精度已经足够支撑模型的正常工作。

事实上,一些模型开发者,例如 DeepSeek 已经开始直接用 FP8 进行训练。

此外,虽然 MXFP4 比标准 FP4 好得多,但它也有缺陷

例如,英伟达就认为这种数据类型相比 FP8 仍可能出现质量下降,部分原因是其缩放块大小(Scaling Block Size)为 32,不够细粒化。

为此,英伟达推出了自己的微缩放数据类型NVFP4,通过将缩放块大小降至 16 和使用 FP8 缩放因子来提高质量。

这几乎等同于 FP8 的工作方式。只不过 MXFP4 是在张量内部的小块上应用缩放因子,而不是作用于整个张量,从而在数值之间实现更细的粒度。

最后,在 gpt-oss 上,OpenAI 只使用了 MXFP4。

鉴于 OpenAI 在 AI 领域上的影响力,这基本上就等于在说:

如果 MXFP4 对我们够用,那对你也应该够用。

参考链接

[ 1 ] https://www.theregister.com/2025/08/10/openai_mxfp4/

[ 2 ] https://cdn.openai.com/pdf/419b6906-9da6-406c-a19d-1bb078ac7637/oai_gpt-oss_model_card.pdf

[ 3 ] https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf

一键三连「点赞」「转发」「小心心」

欢迎在评论区留下你的想法!

—    —

希望了解 AI 产品最新趋势?

量子位智库「AI 100」2025 上半年

「旗舰产品榜」和「创新产品榜」

给出最新参考

点亮星标

科技前沿进展每日见

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

数据中心 facebook 深度学习 开源
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

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

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