热搜词:

OpenAI采用新数据类型MXFP4, 推理成本降低75%

无论OpenAI的新开放权重模型性能如何,其采用的相对较新的数据类型MXFP4可能更为重要,尤其是如果这种技术在OpenAI的竞争对手中得到推广的话。

相比大语言模型传统使用的数据类型,MXFP4格式承诺能够大幅节省计算成本,允许云服务提供商或企业仅用四分之一的硬件来运行模型。

**什么是MXFP4?**

如果你从未听说过MXFP4,这是因为虽然它已经开发了一段时间,但OpenAI的gpt-oss模型是首批利用这一技术的主流大语言模型之一。

MXFP4是由开放计算项目(OCP)定义的4位浮点数据类型。OCP是由Facebook于2011年发起的超大规模数据中心联盟,旨在让数据中心组件更便宜、更易获得。具体来说,MXFP4是一种微缩放块浮点格式,因此名称是MXFP4而不是简单的FP4。

这种微缩放功能相当重要,因为FP4本身无法提供太多精度。仅有四位——一位符号位、两位指数位和一位尾数位——它只能表示16个不同的值:8个正值和8个负值。相比之下,BF16可以表示65,536个值。

通过巧妙的数学运算,MXFP4能够表示更广泛的数值范围。MXFP4量化的工作原理是取一个高精度值块(默认为32个),并用8位二进制指数形式的公共缩放因子对其进行乘法运算。

在推理过程中,这些数值会通过将其4位浮点值的倒数与缩放因子相乘来实时反量化。虽然仍会遇到舍入误差,但精度仍比标准FP4高得多。

**MXFP4的重要性**

MXFP4之所以重要,是因为权重越小,运行模型所需的显存、内存带宽和计算量就越少。换句话说,MXFP4让生成式AI变得更加便宜。

与目前大语言模型最常用的数据类型BF16相比,MXFP4可将计算和内存需求减少约75%。根据gpt-oss模型卡片,OpenAI对约90%的模型权重应用了MXFP4量化。这使得他们能够将1200亿参数的模型装入仅有80GB显存的GPU中,或将200亿参数的较小版本装入仅有16GB内存的GPU中。

通过将gpt-oss量化为MXFP4,该大语言模型不仅比同等规模的BF16训练模型占用的内存少4倍,Token生成速度也可以提升4倍。

**OpenAI引领潮流**

量化并不是新概念。模型开发者已经发布FP8甚至4位量化版本的模型有一段时间了。然而,这些量化版本通常被视为一种妥协,因为较低的精度必然伴随着质量损失。

研究反复表明,对于大语言模型而言,从16位降到8位的质量损失基本可以忽略不计。事实上,一些模型构建者如DeepSeek已经开始原生使用FP8训练模型。

虽然MXFP4比标准FP4好得多,但它并不一定是万能的解决方案。英伟达认为,该数据类型与FP8相比仍可能出现质量下降,部分原因是其32值块大小不够精细。为解决这个问题,这家GPU巨头推出了自己的微缩放数据类型NVFP4,旨在通过使用16值块和FP8缩放因子来提高质量。

对于gpt-oss,OpenAI已经做出了选择。没有BF16或FP8版本的模型,只有MXFP4版本。鉴于OpenAI在市场中的重要地位,他们基本上在说:如果MXFP4对我们来说足够好,那对你们也应该足够好。

这无疑是为负责服务这些模型的基础设施提供商带来的好消息。在那之前,OpenAI可以宣传其开放模型比其他人的模型更容易运行,以及如何利用支持FP4数据类型的英伟达和AMD新芯片。

Q&A

Q1:MXFP4数据类型是什么?它有什么优势?

A:MXFP4是由开放计算项目定义的4位浮点数据类型,是一种微缩放块浮点格式。相比大语言模型传统使用的BF16数据类型,MXFP4可将计算和内存需求减少约75%,让生成式AI运行成本大幅降低,同时Token生成速度可提升4倍。

Q2:OpenAI的gpt-oss模型为什么只提供MXFP4版本?

A:OpenAI在gpt-oss模型中只提供MXFP4版本,没有BF16或FP8版本。鉴于OpenAI在市场中的重要地位,他们通过这种做法向业界传达信息:如果MXFP4对OpenAI来说足够好,那对其他人也应该足够好,从而推动这一技术标准的普及。

Q3:使用MXFP4会不会影响模型质量?

A:虽然较低精度通常伴随质量损失,但研究表明从16位降到8位的质量损失基本可以忽略不计。MXFP4虽然比标准FP4好得多,但与FP8相比仍可能出现一定的质量下降,这主要是因为其32值块大小不够精细造成的。