AREXOpen in interactive Feed

AREX Feed Article

Thinking Machines 发文详解 Inkling 2 Small 训练:原生 4-bit 前向传播贯穿预训练到最后一次 RL rollout

November 14, 2026

“用更少的比特训练更快,但量化误差可能干扰学习。”北京时间 11 月 14 日凌晨(11 月 13 日 21:23 UTC),Thinking Machines 官方 X 账号 宣布,公司当天在其 Connectionism 博客发布一文,详解 Inkling 2 Small 的训练方式:以原生 4-bit(native 4-bit)前向传播完成训练,从预训练的第一步一直贯穿到最后一次 RL(强化学习)rollout。

博客称,Inkling 2 Small 是“我们所知范围内”以端到端原生 4-bit 前向传播训练的最大模型;在该公司最大规模的训练任务中,这套配方较全 MXFP8 训练带来预训练 8% 的墙钟时间加速和 RL 阶段 20% 的加速——这些数字均为公司自述,文章署名 Jack Cook 与 Thinking Machines Lab。被详解的模型是 Thinking Machines 的第二代 Inkling 系列首个成员(Hugging Face 的亦如此归类):写明其为 48 层 decoder-only transformer,稀疏 MoE(Mixture of Experts,混合专家)前馈骨干,每个 token 路由到 384 个专家中的 8 个;总参数 594B、激活参数 17B,接受文本与图像输入,支持 100 万 token 上下文。

更少的比特换更快的算术,量化误差是代价

博客以莫奈《The Seine at Vétheuil》被压到 16 色的画开场,随后把低精度训练的核心矛盾摆上桌面:训练大模型要计算并存储大量数字,每个值占的比特越少,显存占用越低、GPU 算得越快;但比特越少,可表示的数越少,舍入越激进。想存 3.2 而格式只能表示 3 和 4,舍入到 3 就引入 −0.2 的量化误差(quantization error)——单个误差不大,却在各层、各优化步反复发生并累积,足以干扰学习。

Thinking Machines 的训练用到三种格式:BF16(每值 16 位)、MXFP8(8.25 位)与 NVFP4(4.5 位)。精度固定,速度取决于硬件:训练跑在 NVIDIA Grace Blackwell Ultra 平台的 GB300 上,NVFP4 的存储位数只有 BF16 的约 1/3.6,最高可跑出 6 倍速度;博客给出的算力为 NVFP4 15 PFLOPS、MXFP8 5 PFLOPS、BF16 2.5 PFLOPS。

误差的敏感性因阶段而异,博客用一张表拆开:预训练与监督微调(SFT)的前向传播要压误差;反向传播要压偏差,因为反向把一批 token 的梯度取平均,随机分布的舍入误差会被稀释,而持续向上或向下舍入的偏差会跨层、跨样本、跨训练步累积;RL 采样最看重速度和显存,每个采样 token 都要把权重从显存里读一遍。速度最要紧的是两个大批量环节:跑在数万亿 token 上的预训练,以及每次 rollout 生成数万 token 的 RL 采样。

只把专家层的前向传播降到 4-bit

选层是第一个决定。MoE 层计算量大,经验上量化后对精度的伤害小于其他层。公司今年早些时候对 MoE 层做过全 MXFP8 训练,CE(compute efficiency,衡量引入新技术后训练与评估损失变化的指标)几乎不受影响;但全 NVFP4 的最初实验让 CE 大幅下滑,超出可接受范围。把前向与反向的效果分开测之后,公司发现只量化前向传播的权衡最好。最终方案有三条:专家层前向传播用 NVFP4 并配专门内核;反向传播用 MXFP8,辅以重量化和随机舍入来压梯度偏差;再用量化加速 GPU 通信,处理计算提速后冒出来的新瓶颈。

转置打散分组,随机舍入保住期望值

FP4 能表示的只有 16 个值:±0、±0.5、±1、±1.5、±2、±3、±4、±6,装不下大于 6 的数,于是靠块缩放(block scaling)扩程:NVFP4 按每 16 个连续值分块,以块内绝对值最大的数定缩放因子。块内最大值若是 −54,就记作 −6、缩放因子取 9,其余值按 9 缩放后舍入。NVFP4 的缩放因子用 E4M3 格式,精度更高、范围较小;MXFP4/MXFP8 的缩放因子是 E8M0,精度低但范围极宽。博客称 E4M3 缩放对大模型负载的表示更准,量化误差小于 MXFP4。

麻烦出在反向传播要转置前向的张量:原本沿行取的 16 值分组,转置后改沿列取,块内成员换成另一方向的邻居,缩放因子与量化值随之改变。博客的图示里,一行大数值抬高整列缩放因子后,256 个值中 221 个被舍入为零。NVIDIA 的做法是按 16×16 方块取单一缩放因子,让转置前后逐位一致;但 256 个值共享一个因子对离群值极其敏感,Thinking Machines 试过后认为粒度太粗,对 CE 的损害超出可接受范围。

公司的替代方案是放弃逐位一致、只保期望相等(E[w_q] = E[(w_qᵀ)ᵀ]):把前向保存的张量先反量化到高精度,转置,再用随机舍入(stochastic rounding,SR)重量化。博客举例:前向中 5.4 在缩放因子 9 的块内记为 0.5,量化值 4.5;反向时它落进缩放因子 2 的新块,4.5÷2=2.25,确定性舍入会得 2,SR 则以 3/4 的概率取 2、1/4 的概率取 3,期望仍是 4.5。SR 在 Blackwell GPU 上有硬件加速。方案受 Quartet II 启发,但没有沿用其随机旋转加偏差校正的组合,而是直接对反量化值做 SR,好处是重量化时可以自选精度。公司实测:权重与激活重量化为 MXFP8、梯度用 MXFP8 矩阵乘计算,权衡最佳。

计算提速后,NVLink 通信成了新瓶颈

MoE 层太大,专家通常拆在多块 GPU 上:路由器决定每个 token 的去处,token 被“派发”(dispatch)到持有对应专家的 GPU,算完再“合并”(combine)回源 GPU。GB300 NVL72 上这些传输走 NVLink,单向带宽 900 GB/s,而 NVFP4 矩阵乘最高 15 PFLOPS——折算下来,每收到 1 字节,GPU 本可完成约 16,000 次浮点运算;字节带来的计算量不足时,Tensor Core 只能空等。公司观察到两种卡顿:MoE 矩阵乘因等 token 到达而无法执行,或下一步算子(在 Inkling 2 Small 中是短卷积)因等合并结果而无法启动。

派发侧的解法是直接以 NVFP4 传 token:反向传播直接复用前向保存的量化激活(Quartet II 同样如此),NVLink 上的数据量随之下降。合并侧的输出激活默认保持 BF16;先试 MXFP8,因离群值表示不佳而损害性能,最终改为先做 32 维随机 Hadamard 变换(RHT)把离群值摊平(正交变换,之后可精确求逆),再量化为块缩放 S2F6(每 32 个值一个缩放因子)。S2F6 是 2 位符号整数加 6 位小数的定点格式,可表示 −128/64 到 127/64,训练中未测得精度下降。Blackwell 提供专门的 PTX 指令做这一转换,团队把 RHT 与量化直接融进 w2 矩阵乘的收尾阶段,合并数据量从每值 16 位降到 8.25 位。

承载这些低精度运算的是自研内核栈 BBBK(Big Beautiful Blackwell Kernel):博客称其以峰值硬件利用率驱动训练与推理,并保持计算完全确定;它用 GB300 独有的 2SM UMMA 指令(K=96)持续填满 Tensor Core,让 NVLink 与算术逻辑单元(ALU)同步保持满载;RL 采样时则触及 NVLink 与 HBM 决定的延迟下限。

配方的代价:预训练约 2% 的计算效率

配方还有几处细节:最后 16.6% 的层保留更高精度,用 MXFP8 而非 BF16 计算;激活量化用 4/6(Four Over Six)技术在两个缩放因子间择优以降低误差,权重则不用;借鉴 Composer 2,权重按专家取外层缩放、激活按 token 取外层缩放,以换取更高效率、batch 不变性与无因果泄漏。公司称该配方在其最大任务中贯穿 SFT 与 RL 全程,未做改动。

代价也写在明处:预训练约 2% 的 CE——与全 MXFP8 训练相比,模型达到的损失相当于少用约 2% FLOPs 训出来的水平,换回的是 NVFP4 的速度。RL 阶段的收益大得多:端到端大幅提速,公司称奖励“没有可辨识的差异”。同一套数值配置贯穿全程,训练结束时交付的量化 checkpoint 无需再校准;模型卡也把 MXFP8 与 NVFP4 一同列在数值格式支持里。

数月前的“数周”变成 68 小时,下一步是反向传播的 FP4

博客结尾把这件事放进更长的时间线:直到 2020 年 BF16 随 Ampere 架构登上 NVIDIA GPU 时,FP32 还是训练的默认格式;如今公司已把 BF16 称作“高精度”,8-bit 乃至 4-bit 训练都有了稳定用例。具体到这次训练:数月前,一次与 Inkling 2 Small 规模相近的训练要跑数周;这次预训练在 GB300 NVL72 机架上只用了 68 小时。公司同时强调,数值配方只是贯穿全栈的多项改进之一。下一步,团队称在探索让反向传播也用 FP4 计算,以及配方如何迁移到 NVIDIA 最新的 Vera Rubin 系统。

参考链接