分隔符如何让乘法 Transformer 学会进位传播?

数字间插入空格令牌,4x4 乘法精确匹配率从 1% 升至 89%,进位被编码为环上角度。

直接答案

在数字之间插入一个空格令牌,能把 4x4 乘法从几乎无法学习变成可单次前向传播解决的任务:一个 4.8M 参数的 Llama 风格 Transformer 在有分隔符时达到 89% 精确匹配,没有分隔符时只有 1%。分隔符让每个输出数字拥有一个专属的预测槽,而在学会该任务的模型中,这个槽把该列的进位输入编码为残差流中一个环上的角度;匹配激活修补显示,这一状态在中间层被因果性地使用。

1篇文献引用

本文由 WisPaper 驱动的搜索和论文分析生成。

输入格式决定进位能否被学会

这篇论文的核心比较是同一道题的两种写法。在带空格格式中,一个空格令牌按最高位在前的顺序分隔相邻数字,例如 0 1 2 3 * 0 4 5 6 = 0 0 0 5 6 0 8 8。紧凑格式则去掉这些空格。两者都在 100 万个零填充的 4x4 乘法样本上训练,操作数范围是 [0,9999],答案零填充到八位,只输出答案,不使用思维链。

差距并非边际性的。带空格格式达到 89% 精确匹配(三个随机种子中的最佳值,三个种子分别达到 89%、80% 和 78%),而紧凑格式在单次运行中只达到 1%。跟踪训练过程中的逐位误差可以解释原因:在紧凑格式中,中间位置始终不收敛;而在带空格格式中,所有位置都收敛,且由外向内依次收敛。

作者对此给出了一个机制解释,应把它读作作者的解释而非实测结果:分隔符让每个数字拥有一个没有其他职责的预测槽,而在紧凑格式中,同一个隐藏状态必须既表示一个数字又预测下一个数字。论文指出,使用思维链时模型在 13k 步达到 100%,但此时计算过程被写在输出里,网络内部已没有可发现的东西。

各位置由外向内依次收敛

对每个按最低位优先索引的输出位置,研究在 2000 个留出样本上全程测量逐位对数误差 log(|p_i - g_i| + 1)。在带空格格式中,各位置在不同随机种子间以一致的顺序收敛:最外侧位置(0 和 7)最先,然后是 1 和 6,接着是 2 和 5,中间位置(3 和 4)最后。

这一顺序与长乘法的依赖结构一致。位置 0 和 7 只依赖一对输入数字,位置 1 和 6 依赖两对,而位置 3 依赖其所在列的全部四对数字再加上最大的进位。论文由此得出一个实用推论:处于中间精确匹配率的模型并不是完成了一半,而是已经干净地解决了若干位置,仍在少数位置上挣扎。

那些预测槽覆盖环最多部分的位置,即 3 和 4,正是最后才学会的位置。这把学习动态与接下来描述的几何结构联系了起来。

进位输入是环上的一个角度

在答案一侧,空格令牌不再中立。按输出列分开后,每个预测槽在前几个主成分中形成自己的环状云团。按进位计数 k 拆分样本并为每组单独拟合一个 PCA,可以看到两个极端:k = 0 时预测槽形成短弧,k = 7 时形成近乎闭合的环,中间的 k 则介于两者之间。

对第 3 列预测槽的扩散映射揭示了环所编码的内容。在第 3 个块处,各点围绕环按各自的进位输入排序。这解释了它对 k 的依赖:进位多的样本取到许多不同的进位值,因而填满环的更大一部分;而没有进位的样本进位输入都为零,只占据环的一小部分。论文把该环称为进位刻度盘,进位计数决定刻度盘被用到多少。

这个环并非一成不变。到第 5 个块时,环上的点不再按进位输入排序,而是按输出数字分组,因为该槽已确定要输出的数字。另外,对输入令牌嵌入的 PCA 显示,训练后数字 0-9 按数值顺序排成一个圆,空格令牌靠近圆心,因为作为输入它不携带任何数字值。

激活修补显示该状态被因果性使用

仅凭环的几何结构,只能说明预测槽状态与进位输入之间存在相关。为检验模型是否使用这些状态,作者对输出第 3 列施加匹配激活修补,源进位输入为 5,目标进位输入为 10。每个目标样本都与列和最接近的单个源样本配对,在所测各列中 90-96% 的情况下为精确匹配,从而固定住决定正确数字的唯一另一个量。

在第 0-1 个块中效应很小(0.05-0.11),且分散在输入数字和答案位置上。从第 2 个块起,效应集中到第 3 列的预测槽上:数字变为源进位所隐含值的样本比例在第 2、3、4 个块后分别达到 0.46、0.67 和 0.84,而其他所有位置都接近零。在中间层替换这一个向量,同时后续层仍能读取序列其余部分,就足以让模型像进位不同那样作答。

匹配过程对解读这个数字很重要。若改为修补未匹配的源组均值,会把进位与列和的变化混在一起,结果约为 0.10;而在匹配条件下,对第 4 列、进位从 5 到 10、修补所有层时结果为 0.85-0.95。论文还指出,在最后一个块修补只是合理性检查而非证据,因为第 5 个块之后预测槽的状态单独决定输出;关于进位保存在何处的证据来自第 4 个块及更早。

边界列早早进入平台,内部列较晚

对第 1-7 列各自的预测槽逐层重复修补,并在三个随机种子上进行,揭示出两种情形。第 1 列的进位输入只依赖一个上游乘积,第 7 列没有自己的部分积,它们在三个种子中都在第 1 个块前达到平台(0.78 和 1.00)。对于内部第 2-6 列,其进位输入累积了上游各列的一条链,效应只在较晚的块中上升,起始点在不同种子间略有差异。

改变进位差值可以检验该槽是否保存进位值。只修补预测槽直到第 4 个块,让最后一个块自由读取序列其余部分,第 3 列数字在所测的每个差值下都以 95-100% 的比例跟随进位差值所隐含的偏移,第 1、2、7 列也是如此。对第 4-6 列,偏移只是部分的,这与它们的进位在第 4 个块时仍保存在相邻槽中一致。

到达预测槽的路径因列而异。对第 4 列,修补该列自己的预测槽直到第 3 个块都没有效应;在第 2-3 个块,效应反而位于前一个更高阶列的预测槽(0.36-0.39),该列也需要第 4 列的进位输入来预测自己的数字,之后才转移到第 4 列的槽(第 4 个块后为 0.15)。进位是在相邻答案槽中被组装并传递过来的,而不是就地累积。

剩余误差几乎总是相差一

收敛时残留的误差集中在位置 3 和 4,且几乎总是相差正负一。论文给出两种解读,都指向进位。按数字方程,进位估计高一个单位或低一个单位会使数字恰好偏移一。而由于数字被表示在一个圆上,一个小的角度误差也会得到相邻的数字。

这是一个诊断而非独立结果:它告诉读者,在模型已基本学会任务之后,残余的失败模式是什么样子,并且它与进位表示是剩余不精确性所在之处这一点相符。

因果结论覆盖到哪里为止

修补结果支持一个具体论断:单个位点足以改变数字。它们并不表明信息只存在于那里。对第 4-6 列,进位在预测槽中有表示,但仅修补它只能部分地传递进位。由于配对是按列和匹配的,一次成功的修补也无法把进位与列和加进位区分开;需要列和模 10 不同的配对才能做到这一点。而且修补定位的是进位保存在哪里,而不是它如何被计算:执行传递的注意力头并未被识别出来。

适用范围比标题框架可能暗示的更窄。主要带空格配置用三个随机种子训练,但紧凑配置只用单次运行,且研究只使用一种模型规模和架构:隐藏维度 256、4 个注意力头、中间维度 704、6 层、4.8M 非嵌入参数。所有结果都针对 4x4 乘法和一种分词方式。几何分析每张图只用一个种子,而环对进位计数 k 的依赖反映的是一个组覆盖了多少个不同进位值,而不是编码本身发生了变化。

作者把这些发现定位为对预训练 LLM 中“启发式集合”图景的补充而非反驳,理由是那些模型从未在给进位提供专属槽位的格式上训练过。

分隔符槽位是最值得关注的信号

这篇论文中最具决策相关性的区分不在模型之间,而在列之间和格式之间。先说格式:同一架构和同一数据,仅靠在数字间插入一个空格令牌,就从 1% 精确匹配变为 89%,因此任何在多位数算术上训练 Transformer 的人都应把输入格式当作一阶变量,而不是预处理细节。

再说列:边界列 1 和 7 在第 1 个块前就达到修补平台,而内部列 2-6 只在较晚的块中上升,且第 4-6 列在第 4 个块时把进位保存在相邻槽而非就地保存。如果你要探测进位存在于何处,所选的列会改变答案,而每个数字紧前面的预测槽是应首先查看的地方。

残余误差分布给出了一个判断进展的具体阈值。由于剩余误差集中在位置 3 和 4 且几乎总是相差一,一个中间的精确匹配数字反映的是模型已干净解决外侧位置、仍在最长程的中间列上失败,而不是均匀地完成了一半。

本文引用的文献

1

Separators Make Carry Propagation Learnable:The Geometry of Latent Carry in a Multiplication Transformer

在数字之间插入一个空格令牌,使一个 4.8M 参数的 Llama 风格 Transformer 在只输出答案的 4x4 乘法上精确匹配率从 1% 升至 89%;在学会该任务的模型中,每一列的进位输入被编码为预测槽处一个环上的角度,匹配激活修补显示这一状态在中间层被因果性使用。