量化通常发生在训练之后:先训一个高精度模型,再压缩成 4-bit 去推理。Thinking Machines Lab 上周做的是另一件事——把一个模型从预训练第一步到最后一次强化学习 rollout,全程跑在 4-bit 上。
这件事的技术报告叫《End-to-End 4-Bit Training》,作者 Jack Cook,11 月 13 日发在自家 Connectionism 博客上。模型是 Inkling 2 Small,硬件是英伟达 GB300 NVL72。
结论先放这里:预训练墙钟时间提速 8%,强化学习提速 20%,代价是预训练算力效率损失约 2%。
先说为什么难
4-bit 能表示的数很少。NVFP4 的全部取值就是 ±{0, 0.5, 1, 1.5, 2, 3, 4, 6},大于 6 的数要靠"块缩放":每 16 个连续的值共用一个缩放因子,存成 FP8。所以一个 −54 会被写成 −6 乘 9。
问题是误差会累积。单个数舍入差 0.2 不算什么,但它在每一层、每一步重复发生,最后会干扰学习。更麻烦的是偏差:如果一组数总是往同一个方向舍,误差不会互相抵消,而是顺着层数和步数越滚越大。
三个格式的分工是这样的(数字来自文中表格):
| 格式 | 每个值的位数 | GB300 上的算力 |
|---|---|---|
| NVFP4 | 4.5 | 15 PFLOPS |
| MXFP8 | 8.25 | 5 PFLOPS |
| BF16 | 16 | 2.5 PFLOPS |
一句话:NVFP4 存的位数是 BF16 的 1/3.6,速度是 6 倍。诱人,但要能用。
第一个决定:只在前向的专家层用 4-bit
MoE 的专家层计算量大,而且经验上比别的层更能承受量化。Thinking Machines 早先已经把这层做到全 MXFP8,几乎不影响效果;但直接全 NVFP4 会把算力效率打得太惨。
拆开看前向和反向之后,他们的结论是前向收益更大:前向量化省时间,反向对偏差敏感得多。
第二个决定:反向用 8-bit,但要做"重量化 + 随机舍入"
这里有个很实际的坑。前向是按行分块(1×16)缩放;算梯度时张量要转置,同样的 16 个数变成了按列分组,缩放因子全变,很多小数直接被舍成 0。
英伟达给出的办法是改用 16×16 的方块缩放,转置前后缩放因子一致。但方块越大,越怕离群值:256 个数里有一个特别大,其余 255 个就会被压成 0。他们试过,效果不够。
他们选了第三条路:把前向的张量反量化回高精度、转置、再用随机舍入重新量化。随机舍入不取最近值,而是按距离概率取上下两个邻居,保证期望值不变。
文中的例子很清楚:前向的值 5.4 在缩放 9 下变成 4.5;转置后新的缩放是 2,4.5÷2=2.25,确定性舍入会取 2(还原成 4),随机舍入则以 3/4 概率取 2、1/4 概率取 3,期望正好回到 4.5。而且 Blackwell 有硬件加速的随机舍入。
第三个决定:把通信也压下来
MoE 的专家分散在不同 GPU 上,token 要来回传。GB300 的 NVLink 每向 900 GB/s,而 NVFP4 矩阵乘法能跑到 15 PFLOPS——算下来每收到 1 字节,GPU 能做一万六千次浮点运算。算力快了,通信就成了新的瓶颈。
派发阶段本来就传量化后的 token,问题在"归并"阶段:默认要传 BF16。他们先用 MXFP8 试,离群值表示太差,掉效果;最后做 32 维随机哈达玛变换(把离群值摊平),再量化成 block-scaled S2F6,每个值从 16 bit 降到 8.25 bit,训练精度没有可测的下降。
工程细节里两个容易被忽略的点
- 最后 16.6% 的层留在 MXFP8,不跟着降到 4-bit。这个比例不是照抄:英伟达的配方是 15%,而他们的预训练阶梯把层数按 6 倍放大,所以用 1/6 更整齐。
- 激活用 "4/6" 两档缩放,权重不用。"4/6" 指在量化时于两个候选缩放因子之间择一,减少误差。权重走的是 per-expert 外层缩放,激活走 per-token,好处是批次无关、不担心因果泄漏。
另外,他们自研了一套 MoE 融合内核,代号 BBBK(Big Beautiful Blackwell Kernel),用 GB300 特有的 2SM UMMA 指令(K=96)喂满张量核心,同时在训练时把 NVLink、ALU、张量核心三条流水线同时压满。
该信多少
几个边界要说清楚:
- 数据全部来自 Thinking Machines 自己的技术报告,没有第三方复现。
- 68 小时预训练是整个技术栈多处改进叠加的结果,4-bit 配方只是其中一块,不能算成"4-bit 省了 X 小时"。
- "我们知道的最大规模端到端 4-bit 前向训练模型"是作者的原话,属于自我限定,不排除别人做过没公开。
- 这套配方绑定 GB300 的硬件特性(NVFP4、随机舍入指令、S2F6 转换指令),换硬件不能照搬。
一句话判断
过去十年,低精度训练从"不可能"变成"能省点显存"。这篇报告往前推了一步:把量化从训练后的压缩步骤,变成训练时的数值设定,从第一步就用,交付时也不用再校准。真正值钱的不是 4-bit 本身,而是那套让 4-bit 不毁掉梯度的工程细节——重量化、随机舍入、通信编码,缺一个都跑不起来。
来源
- Thinking Machines Lab:End-to-End 4-Bit Training(Jack Cook,2026-11-13)
- Mira Murati 的发布说明:AIHOT 收录的原帖
说明:本文数字与结论均出自上述官方技术报告,我们未做复现或本地实测。