新闻详情

新闻详情

首页 / 资讯中心 / 详情

NVFP4 vs MXFP4 vs 普通 FP4:4bit 浮点进化史——区别、怎么想到的、解决什么问题

发布时间:2026/10/1 4:02:20来源:尧图网络
NVFP4 vs MXFP4 vs 普通 FP4:4bit 浮点进化史——区别、怎么想到的、解决什么问题
NVFP4 vs MXFP4 vs 普通 FP44bit 浮点进化史——区别、怎么想到的、解决什么问题声明本文作为笔者个人备忘的文章不喜勿喷。· 综合 NVIDIA 技术博客、CSDN/知乎/腾讯云、OCP MicroScaling 规范、壁仞/AMD 公开资料等2026-09〇、导读英伟达 Blackwell 把 FP44-bit 浮点算力推到了惊人的 9~15 PFLOPS宣传语常说4 位精度、16 位表现。但当你真去部署时会碰到三个长得像的格式普通 FP4、MXFP4、NVFP4。它们都叫4 位却根本不是一回事——普通 FP4 几乎没人直接用真正上战场的是 MXFP4 和 NVFP4 这对师兄弟。这篇讲清楚① 三种格式到底是什么 → ② 核心解决什么问题 → ③ 这个思路怎么想到的 → ④ 工程上带来的差异与代价。一、三种格式到底是什么1. 普通 FP4原生 4-bit 浮点E2M12 位指数 1 位尾数一共 4 位。指数只能表达 4 种状态尾数只能表达 1.0 / 1.5 两种精度。数值范围只有 [-6, 6]极其有限。问题张量里一旦出现大数值outlier 离群值要么溢出爆炸要么大量普通数值被压到相近值、欠拟合。所以裸 FP4 直接用来算精度几乎不可用。2. MXFP4OCP Micro-Scaling 微缩放由 OCPOpen Compute Project制定的MicroScalingMX通用框架下的 FP4 格式跨 FP8/FP6/FP4/INT8 统一。核心把一个张量切成每 32 个连续元素的小块每个块共享一个E8M08 位指数、0 位尾数缩放因子——它是一个2 的幂乘数。重建每个元素 该元素的 4-bit 尾数 × 块共享的 2 的幂缩放。特点每个小块有自己的动态范围不会被全局 outlier绑架且 2 的幂缩放对硬件极友好适配 Blackwell 张量核的 1×32 粒度。AMD 的 MI355X 也原生支持。3. NVFP4NVIDIA 自家微缩放格式同样是块内共享缩放的思路但做了三处针对精度的升级块更细从 32 元素缩到16 元素微块缩放因子更准把 E8M0只能 2 的幂换成E4M34 位指数 3 位尾数的 FP8支持分数倍缩放1.5×、2.5×…舍入误差远小于只能乘 2 的幂的 MXFP4加了一层全张量 FP32 全局缩放对数值跨度极大的张量做全局协调形成微块精细缩放 张量全局缩放的双重缩放。4. 三者一张表看懂维度普通 FP4MXFP4NVFP4位结构E2M14bit 尾数 块共享指数4bit 尾数 微块共享缩放缩放方式无缩放32 值块 E8M0(2的幂)16 值微块 E4M3(FP8,分数倍) 全张量 FP32数值范围[-6,6]很窄大块级动态范围大更精细块级全局缩放精度—粗指数级舍入偏大细可分数倍更准主导方IEEE/原生OCP 开放标准NVIDIA 专有硬件通用Blackwell/AMD 张量核Blackwell 原生定位理论 4bit统一生态 硬件效率高精度 训练稳定二、核心解决什么问题解决普通 FP4范围太窄、精度崩溃的死穴一个张量里数值可能差好几个数量级单靠裸 FP4 必然溢出/欠拟合。块缩放让每个小块有独立动态范围是最关键的破解。在 4-bit 下逼近 16-bit 精度NVFP4 官方宣称实现了16 位训练的精度 4 位训练的速度和效率通过哈达玛变换重排数值分布、随机舍入、2D 块量化等让低精度不损失质量MIT 的研究也用 NVFP4SVDQuant 在 FLUX 上接近 16 位输出。极致省显存、带宽和算力4-bit 数据只有 FP16 的1/4、FP8 的1/2直接砍掉显存占用、通信量AllGather 减半和计算 FLOPs是 Blackwell 冲上 FP4 9~15 PFLOPS、缓解显存墙/带宽墙的根本。统一生态 vs 高精度两条路线MX 系列要的是跨厂商、跨精度统一框架 硬件高效NVFP4 要的是单家极致精度 训练可用——这就是两者的分野。三、这个思路是怎么想到的思想来源本质是块浮点 / 共享指数的再次升级整张量共用一个缩放per-tensor不够就细化到 per-channel、per-block、再到 per-microblock——量化粒度从全局一刀切走向局部自适应是低精度表示演进的主线。直接前辈是 FP8 的缩放策略FP8 训练从per-tensor → per-tensor-block128×128DeepSeek-V3 验证→ MXFP8 的 1×32 细粒度Blackwell 张量核原生。FP4 只是在 FP8 这条路上再走深一步。两个组织用不同价值观给了答案OCP/MX想统一MXFP4 用最笨但最便宜的E8M02 的幂换硬件极致简单和跨厂商互操作代价是缩放粗糙、有舍入误差NVIDIA/NVFP4想做到极致用 E4M3 的分数倍缩放换更准的量化再叠加随机哈达玛等工程魔法把 4-bit 训练稳定地卷上16 位精度。一句话总结思路“与其让所有数共享一个量程不如给每个局部小块一个自己的量程。”四、工程上带来的差异与代价实战认知缩放因子决定了精度天花板E8M0 只能乘 2 的幂 → 块内数值被成倍压缩遇到非 2 的幂的真实分布误差大E4M3 支持 1.5×/2.5× 等分数倍 → 更贴合数据分布、误差小。块大小影响适应性MXFP4 用 32、NVFP4 用 16块越小越能避免大数掩盖小变化但缩放开销和硬件成本越高。NVFP4 不是改一行类型就能用要稳定需要重做量化感知训练QAT、校准敏感度、重写低精度内核甚至做哈达玛变换随机舍入的融合内核。硬把 FP8 权重截断成 4-bit 会快速崩精度连 NVIDIA 自家 DLSS 都还没完成全量 NVFP4 量化。MXFP4 生态更开放NVFP4 精度更极致追求跨硬件、省事、统一 → MXFP4OCPIntel/AMD/ARM/NVIDIA 都参与追求极限精度、训练质量、单一家 Blackwell → NVFP4。目前原生 A4W4 训练的开源大模型还很少如 GPT-OSS 仅 MoE 层用 MXFP4未来缩放粒度/格式可能仍有演化。五、总结个人备忘普通 FP4E2M1范围 [-6,6] 太窄裸用会溢出/欠拟合——是地基不当主力。MXFP432 块 E8M0(2的幂) 共享指数块级动态范围宽动态 硬件高效 开放统一但缩放大、精度略粗。NVFP416 微块 E4M3(FP8,分数倍) 全张量 FP32更细、更准、训练稳定但 NVIDIA 专有、实现重。路线一句话——“给每个局部小块一个自己的量程”从 per-tensor 一路细化到 per-microblock。选型跨平台省事用 MXFP4单家 Blackwell 要极限精度/训练用 NVFP4。声明本文作为笔者个人备忘的文章不喜勿喷。以及AI生成。主要参考来源公开资料NVIDIA 技术博客Introducing NVFP4 / NVFP4 16-bit 精度 4-bit 速度 / FP8 按张量与按块缩放、CSDN 文库MXFP4 vs NVFP4 全对比选型、腾讯云开发者社区NVFP4 量化 2.3× 推理加速、腾讯新闻/AMDMXFP4 微缩放与训练不稳定性研究、壁仞MXFP4 缩放粒度与异常值平滑、知乎Megatron-Core 下 FP8/FP4 训练实战。本文由 AI 辅助整理。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

读完 Claude Code 源码才发现:Skills、MCP、Rules 的区别,远没有你想的那么大|TaoToken 统一 Key 实测 2026/10/1 7:07:02

读完 Claude Code 源码才发现:Skills、MCP、Rules 的区别,远没有你想的那么大|TaoToken 统一 Key 实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
PHP7.4.3 imagettftext(): Could not find/open font 报错排查与 TaoToken 配置骨架 2026/10/1 7:07:01

PHP7.4.3 imagettftext(): Could not find/open font 报错排查与 TaoToken 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
MCP协议实现实例:从MCP Server到MCP Client,用TaoToken统一Key打通调用链 2026/10/1 7:07:01

MCP协议实现实例:从MCP Server到MCP Client,用TaoToken统一Key打通调用链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
开题报告研究背景总被批太空泛?用智一刻3步把立项依据写扎实 2026/10/1 7:07:01

开题报告研究背景总被批太空泛?用智一刻3步把立项依据写扎实

每年大四刚开学,导师在批改开题报告时,最常画红线的一句话就是:“研究背景太空、太虚,赶紧重写!” 很多同学满肚子委屈:自己熬夜查阅了大量文件,第一段写国家宏观战略,第二段写行业…

阅读更多 →
配电柜温湿度监控实战:RJ45以太网传感器与PoE部署全解析 2026/10/1 7:07:01

配电柜温湿度监控实战:RJ45以太网传感器与PoE部署全解析

前年我在一个厂房配电室做过一次事故抢修:低压抽屉柜运行了五六年,柜内从来没有环境监控,夏天负荷一上来,母排连接点温度直接顶到90多度,绝缘层热老化加剧,最后爬电短路,一个抽屉烧穿了。那次之…

阅读更多 →
解决Mongoose出现MongoServerError: E11000 duplicate key error collection的报错:用TaoToken统一Key排查索引冲突 2026/10/1 7:06:55

解决Mongoose出现MongoServerError: E11000 duplicate key error collection的报错:用TaoToken统一Key排查索引冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉