在 Transformer 架构中,实现可靠的多位数加法运算一直是测试模型泛化与最小化能力的经典挑战。Anadim 推出的 AdderBoard 项目,将这一挑战推向极致:构建参数最少的自回归 Transformer,能够在保留测试集上以 99% 以上准确率完成两个 10 位整数的加法。[1] 本文聚焦单一技术路径 —— 通过优化分词方式、位置编码机制以及训练策略,避免传统 BPE 分词在数字序列上的崩溃,实现参数级别的极致压缩,同时确保从个位到最高位的进位传播可靠落地。
数字级分词:摒弃 BPE,避免序列崩溃
传统语言模型依赖 BPE(Byte-Pair Encoding)子词分词,在处理长数字时容易产生不均匀的 token 粒度,导致进位传播依赖隐式模式学习,参数需求激增。AdderBoard 参赛方案普遍采用纯数字级(digit-level)分词,将每个数字拆为单个字符 token(0-9,加上分隔符如 '+'、'='),总词汇表大小仅 11-20。这种 token-free 于子词的策略,直接将输入表示为固定长度序列,例如反转数字顺序(从最低有效位 LSD 开始),格式如 “123+456=” 后逐位生成输出。
关键落地参数:
- 输入格式:数字反转 + 固定分隔符,例如 “9 8 7 + 6 5 4 =” 逐 token 输入,确保对齐。
- 输出解码:自回归生成,从 LSD 开始预测 sum_digit + carry_out(联合 20 类分类:10sum×2carry)。
- 嵌入维度压缩:因子化嵌入(factorized embed),d_model=4-7,仅学习低秩表示,参数节省 50% 以上。
这一分词避免了 BPE 在数字上的 “崩溃”(如 “999+999” 被拆为不规则子词),证据见排行榜中 311 参数模型,使用 rank-3 因子化嵌入,在 d=4 时实现 99.999% 准确。[1] 实践清单:词汇表 = digits (10)+pad/sep (2-3),嵌入共享 input/output,节省参数达 30%。
专用位置编码:基 10 权重与进位路由
位置编码是进位传播的核心瓶颈,标准 Sinusoidal 在长序列衰减快,而 RoPE 在小模型中旋转过度。AdderBoard 方案创新采用混合位置编码:
- ALiBi (Attention with Linear Biases):斜率 log (10),模拟基 10 位置权重,最小 36 参数手码模型即用此实现 100% 准确。
- RoPE (Rotary Position Embedding):周期 19 或 digit-routing 变体,hd=2,确保低维 d=2-5 时位置区分清晰。
- Sinusoidal PE:周期 11(匹配 10 进制 + 1),用于 Q 旋转或稀疏嵌入。
这些编码参数不计入总数(遵循原 Transformer 约定),但极大提升小模型容量。证据:40 参数模型用 RoPE period-19 + tied Q/K,实现完美对齐与进位。[1] 可落地配置:
| 编码类型 | 适用 d_model | 关键超参 | 效果 |
|---|---|---|---|
| ALiBi log(10) | 2-5 | slope=ln(10) | 基 10 权重,36p 最佳 |
| RoPE digit-route | 3-4 | period=19, hd=2 | 进位链路由 |
| Sin period=11 | 4 | freq=11/2π | 低秩 Q 旋 |
集成时,优先 ALiBi 于单层解码器,避免学习 PE 参数。
无 BPE 崩溃训练策略:课程学习与 Grokking
训练小 Transformer 易卡在浅层模式(如无进位),需专用 regime 避免 BPE 式崩溃(数字模式碎片化)。核心策略:
- 课程学习(Curriculum):先预训 I/O 身份映射(identity acc=1.0),再全状态转移(200 种 carry_in + a/b_digit 组合,穷举而非随机)。
- Grokking 与相变:延长时间至 10k 步,观察~800 参数悬崖(sudden generalization)。用 Adam,grad clip=1.0,早停于 exact match。
- 架构辅助:rank-3 分解(shared-A tied-KV),RMSNorm,no bias FFN(或 ff=0 无 FFN),MQA(multi-query attn)。
74 参数模型示例:共享 I/O 解码器 + 核心算术层,45s 训练即达 test10k=1.0,无 FFN 仅 scalar attn。[2] 风险控制:
- 过拟合:用 held-out 10k 验证,seed=2025 固定。
- 泛化限:限 10 位,超长需 scale d_model×1.5。
实践训练清单:
- 数据:10 位随机对,LSD-first,反转编码。
- 优化:Adam lr=1e-3,batch=256,steps=10k-50k。
- 监控:io_identity_acc→1,core_transition_acc→1,val_exact>0.99。
- 回滚:若 grok 无相变,降 rank-2 或加 ff=4。
这些优化使 311 参数训练模型超越 1644 参数基线,证明 minimal Transformer 可可靠算术。实际部署,结合 verify.py 验证,确保自回归 forward 纯净(无问题特定循环)。
总结与扩展
AdderBoard 揭示:通过 digit 分词、log10-PE、课程 grokking,小 Transformer(<500p)即可端到端 10 位加法,远优传统 BPE 大模型。未来,可扩展乘法(加 d=8,rank-4)或多模(图像数字)。
资料来源: [1] https://github.com/anadim/AdderBoard (2026 访问,leaderboard 最新)。 [2] https://answqhnqv.blogspot.com/?page=en-git-anadim-adderboard-1771994421478 (74p 案例)。
(正文约 1250 字)