跳转至

Structured Sparse Memory for Recurrent Reasoning

会议: NeurIPS2026
arXiv: 2609.33270
代码: https://github.com/water-vapor/charm
领域: 大语言模型推理 / 循环推理 / 结构化任务记忆
关键词: 组合式稀疏嵌入、任务条件记忆、循环推理、规则保真合成数据、持续学习

一句话总结

CoSE 用因子化 FiLM 条件分支与 rank-32 实例残差替代庞大任务表,在受控 ARC 实验中将任务记忆参数缩至约 1/15 并提高 pass@2;结合合成数据、循环计算和延长训练的 CHARM 系统达到 ARC-AGI-1 / 2 公共评测 84.0% / 46.7%,不能把这一系统成绩全部归因于 CoSE。

研究背景与动机

HRM、TRM、URM 这类从头训练的循环模型不把推理写成自回归文本,而是反复更新潜在状态和候选输出。它们常以 7–27M 的主干规模与大型预训练模型形成对照,但 ARC 求解器并不只有主干:一个按“题目、几何变换、颜色置换”联合索引的任务表,为每个增强实例保存独立条件向量。ARC-AGI-1 的这张表约有 448M 参数,ARC-AGI-2 约有 610M;忽略稀疏查表参数,会把真正的记忆容量隐藏起来。

直接删除或压窄任务表会掉点,而完全按已知因素分解也不够。旋转后的同一道题应该共享规则信息,但每个题目与增强组合又可能需要独有的修正;只保留共享表示,会丢掉这种实例容量。另一方面,规则程序生成的新输入输出比单纯旋转、翻转和换色提供了更丰富的训练覆盖,因此研究“循环架构是否有效”时,也必须拆开记忆、合成数据和测试时计算的作用。

核心 idea:把可共享的题目与增强结构交给组合式条件分支,把无法共享的实例差异留给窄残差表,再在同一系统中分别测量记忆、规则保真数据与循环计算的贡献。

方法详解

整体框架

CHARM 接收 ARC 输入网格与任务描述符,输出预测网格。训练时先用规则保真数据扩展官方训练任务;每个样本的题目 ID、二面体变换和颜色置换进入 CoSE,得到 512 维任务条件。该条件放进任务前缀,循环主干多次细化潜在状态,评测器最后把不同增强视图与近期检查点的输出逆变换、投票排序。

这里有两条不同的数据流:规则生成器提供的是训练监督,不会在推理时替模型生成答案;CoSE 则在每次前向中提供条件。主实验沿用 XRM 协议,训练可访问公共评测题的示范输入输出,但不访问其待预测输入对应的测试输出。真正未见题目的适应另有实验,不能混作同一种泛化设置。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    S["官方训练题"] --> D["规则保真数据"]
    X["输入网格与任务描述符"] --> F["因子化 FiLM"]
    D -.->|仅训练样本与监督| X
    F --> M["实例残差记忆"]
    X -->|联合实例索引| M
    M --> R["循环细化与聚合"]
    X -->|网格编码| R
    R --> O["排序后的预测网格"]
    R -->|外循环潜在状态反馈| R

关键设计

1. 规则保真数据:扩展同一规则的实例,而不只改变外观

旋转、翻转和换色能增加样本,但不会让模型看到同一规则下更多对象布局和输入结构。Re-ARC 为 ARC-AGI-1 的训练题提供程序化生成器;Re-ARC2 则覆盖 ARC-AGI-2 的 1,000 道训练题,其中 391 道沿用既有 Re-ARC,另外 609 道通过 coding agent 编写生成器与验证器。每个任务包要求验证器复现官方样例,生成最多 1,000 个唯一且非恒等的新样例,并经过程序检查、人工目视检查和跨模型审计。

这不是“无人工”的数据生成,也不是凭空增加新任务家族。规则实现与审核本身提供了题目级先验,论文也承认有无合成数据的比较不是严格等价输入条件。生成只针对官方训练任务;公共评测示范的可访问性来自另外的 XRM 协议。默认采样使用每题 100 个合成增强视图,普通任务最多 1,000 个几何—颜色视图,并将 ConceptARC 和公共评测示范在采样索引中重复两次,避免它们被合成数据淹没。

2. 因子化 FiLM:让题目规则与增强结构共享条件参数

原任务表把联合描述符压成一个索引,每个索引取出完全独立的 512 维向量。CoSE 不再让旋转和换色重新记一遍整道题:题目 ID 和八种二面体变换分别查小表,颜色置换则用一个共享基向量与九个颜色槽向量组成表示。改变置换时只是重排槽向量,因此一组共享参数就能覆盖 \(9!=362{,}880\) 种非背景颜色置换。实现中共享基为 53 维,每个颜色槽为 51 维,总宽度仍为 512。

几何和颜色向量拼接后产生 FiLM 的缩放与偏移,逐维调制题目向量。几何条件因此可以改变“这道题的表示应如何随视图变化”,而不必拥有一整张组合表。设题目向量为 \(p_i\),增强条件为 \(a_{g,\pi}\),核心机制为:

\[ e^{\mathrm{comp}}_{i,g,\pi}=(1+\gamma_{g,\pi})\odot p_i+\beta_{g,\pi},\qquad \gamma_{g,\pi}=W_\gamma a_{g,\pi}+b_\gamma,\quad \beta_{g,\pi}=W_\beta a_{g,\pi}+b_\beta. \]

这部分负责可迁移的规律,而不是保证全部实例都能由少数因素精确表示。短训练的训练题实验中,换成更复杂的 FiLM、hypernetwork 或 mixture-of-experts 仍不能完全填平与独立任务表的 pass@1000 差距;有 19 道题能被全表解出,却不能被任何纯组合方案解出。作者没有找到这些题统一的人工类别,因此这里只能说观察到容量缺口,不能声称证明了某种特定规则无法因子化。

3. 实例残差记忆:用窄的私有容量补共享分支的盲点

仅把独立表从 512 维压到 32 维,会损害拟合;只保留组合分支,也可能失去实例特异信息。CoSE 同时保留两者:仍按原联合索引取一行 rank-32 残差,经共享无偏置投影升到 512 维,再加到组合表示上。这样,共享分支不必为少数特殊组合承担全部表达负担,实例表也不必重复保存大部分规则结构。

可选 sigmoid 门控由组合表示产生,控制各隐藏维度接收多少残差。设联合实例索引为 \(j\),残差表为 \(R\),其融合为:

\[ e^{\mathrm{CoSE}}_{i,g,\pi}=e^{\mathrm{comp}}_{i,g,\pi}+m_{i,g,\pi}\odot UR[j],\qquad m_{i,g,\pi}=\sigma(W_m e^{\mathrm{comp}}_{i,g,\pi}+b_m). \]

无门控时 \(m\equiv\mathbf{1}\)。\(32/512=1/16\) 只描述残差行宽,不是整个模型参数缩小到 1/16:组合器、升维投影、门控和主干仍要计入。ARC-AGI-1 + Re-ARC 的全表为 448.9M 任务记忆参数,CoSE 无门控约 29.6M、有门控约 29.9M;对应总模型约 43.3M / 43.5M,而不是 29.6M / 29.9M。约 1/15 的说法针对任务记忆总体。

门控不是必需模块,也没有一致提升所有指标。ARC-AGI-1 有合成数据时,无门控 pass@2 为 80.71%,有门控为 80.00%;最终 ARC-AGI-1 配置仍使用门控,ARC-AGI-2 使用无门控。正文报告 48.92% ± 0.06% 的平均门控利用率,但这是软门控行为统计,没有给出由此跳过存储或计算的稀疏算子证据,不能进一步推成显存又减半。

4. 循环细化与聚合:把前向推理深度、可学习跨度和答案排序分开

得到任务条件后,模型把网格放在 \(30\times30\) 画布上,展平为 900 个 token,前面加 16 个前缀位置;任务向量只占第一个位置。主干沿用 URM 风格的非因果注意力与带深度卷积的 SwiGLU,隐藏宽度 512、八个注意力头。四个独立 Transformer 层构成一块,重复 12 次,一次内循环共有 48 次层应用;每轮重新注入输入嵌入,梯度只穿过最后六次块应用。

外循环最多运行 16 步,携带潜在状态但在步间截断梯度,每步都有输出监督。因此“循环更深”与“训练能把错误归因到多早”是两回事:前者增加前向计算,后者决定学习跨度。等前后向 FLOPs 的实验发现,独立层太多会过拟合,太少又缺容量;固定前向配置后,中等反传跨度优于过短或完整反传。CoSE 主要替换条件记忆,并非另造一个全新的循环主干。

标准评测固定运行 16 步,不提前停止;不同几何和颜色视图的预测先逆变换,随后按票数排序,置信度用于同票决胜,汇总最近十个检查点的票。额外测试时计算版本再混合 16 / 24 步输出,并对近期检查点使用半衰期为十个检查点的指数衰减。它在标准训练预算上有收益,但延长训练接近收敛后收益变小,所以 84.0% / 46.7% 的最终成绩使用标准聚合,而非额外 replay 版本。

一个完整示例

考虑同一道 ARC 题的一个旋转并换色的训练视图;这是机制示意,不是论文新增的定量案例。原方案会给这一联合组合查一个独立 512 维行。CoSE 则先取这道题共享的 512 维题目向量,查旋转表示、重排九个颜色槽,经 FiLM 得到增强后的组合表示;同一联合索引只另取 32 维私有残差,再升维融合。

融合结果进入网格前缀,循环主干细化输出。评测时旋转和颜色映射被撤销,使各个视图对同一个原始答案投票。训练监督仍来自已知示范或规则生成样本,不会在这一步取得待预测输出。

若遇到预训练从未见过的新题,独立的持续适应协议可冻结所有共享权重,只新增题目行;纯组合版本仅训练 512 个参数。加 rank-32 残差则还要训练该题多个增强实例的残差行,因此不是“每题仍只需 512 参数”。

损失函数 / 训练策略

通用循环主干使用非 padding 输出 token 上的 stablemax 交叉熵,加上是否整张网格预测正确的 halt 二元交叉熵:

\[ \mathcal{L}=\mathcal{L}_{\mathrm{tok}}+\tfrac{1}{2}\mathcal{L}_{\mathrm{halt}}. \]

这不是 CoSE 专属损失。训练可以依据 halt logit 提前停止,并以 0.1 的概率强制一个 2–16 步之间的最小步数,鼓励探索更晚的细化。未见题适应还比较了 halt 权重 0 与 0.5;移除该辅助损失不等于移除自适应停止机制。

默认全局 batch 为 768,私有任务行采用 SignSGD,学习率 \(10^{-2}\);最终系统的二维稠密参数用 Muon,其余稠密参数用 AdamW,学习率 \(10^{-4}\),权重衰减均为 0.1。前 2,000 步线性 warmup,此后学习率保持不变。稠密参数评测采用衰减 0.999 的 EMA,稀疏任务行保留当前值。

常规 ARC-AGI-1 / 2 预算分别为 600k / 1M 更新,延长训练分别为 1.6M / 2.38M。受控模块实验和最终系统成绩必须在这一预算区别下解读。

实验关键数据

主实验

以下为公共评测 pass@2,单位为百分比;重复行报告 3–4 次运行的均值与样本标准差。前八行来自原文表 1 / 12,最后两行是表 5 的延长训练系统结果;后者不是同预算模块消融。

数据集 合成数据 任务记忆 / 系统 pass@2 训练更新
ARC-AGI-1 无 全任务表 59.97 ± 1.77 600k
ARC-AGI-1 无 CoSE,有门控 64.91 ± 2.25 600k
ARC-AGI-1 Re-ARC 全任务表 78.50 ± 1.03 600k
ARC-AGI-1 Re-ARC CoSE,无门控 80.71 ± 0.51 600k
ARC-AGI-2 无 全任务表 15.42 ± 1.51 1M
ARC-AGI-2 无 CoSE,无门控 18.61 ± 1.63 1M
ARC-AGI-2 Re-ARC2 全任务表 28.23 ± 3.58 1M
ARC-AGI-2 Re-ARC2 CoSE,无门控 37.22 ± 1.77 1M
ARC-AGI-1 Re-ARC CHARM 完整系统,有门控 84.0 1.6M
ARC-AGI-2 Re-ARC2 CHARM 完整系统,无门控 46.7 2.38M

ARC-AGI-2 上,全表加入匹配合成数据提高 12.81 个百分点;无门控 CoSE 加入合成数据提高 18.61 个百分点。CoSE 相对全表的差距从无合成数据的 3.19 增大到有合成数据的 8.99 个百分点,支持记忆结构与数据覆盖之间的相互作用,但匹配合成数据仍是最大的已测驱动因素。

消融实验

原文表 4 固定 ARC-AGI-1 + Re-ARC 的主干、数据与优化设置,只改变任务记忆。参数列仅统计任务记忆,不含主干;没有误差条的结构变体为单次运行。pass@1000 检查正确答案是否进入最多 1,000 个候选,不等于最终只提交两个答案的性能。

配置 任务记忆参数 pass@1 pass@2 pass@1000
全任务表 448.9M 73.25 ± 0.74 78.50 ± 1.03 91.38 ± 0.65
仅 rank-32 表 28.1M 70.62 76.62 88.88
仅组合分支 1.5M 73.50 79.25 89.00
CoSE,rank-32 29.6M 74.29 ± 0.75 80.71 ± 0.51 90.62 ± 0.50
CoSE,门控 rank-32 29.9M 74.59 ± 0.74 80.00 ± 0.70 90.94 ± 1.10
CoSE,rank-512 450.4M 77.75 81.50 92.12

纯组合分支在这个有合成数据的公共评测设置中,pass@2 已超过全表,但 pass@1000 仍较低。无合成数据时其 pass@2 只有 51.50%,低于全表的 59.97%;不能把“纯组合不够”或“纯组合已足够”说成不依赖数据与指标的普遍结论。rank-32 CoSE 的 pass@2 改善也不意味着所有候选覆盖指标都胜过全表。

未见题适应另列如下。模型从 ARC-AGI-1 的 600k 检查点出发,顺序适应 233 道此前未见的 ARC-AGI-2 训练题与 114 道公共评测题,只用各题示范优化,共享权重冻结;每题 1,000 次更新。表为原文表 26 的 memory-only CL,不是 46.7% 的主评测协议。

未见题适应配置 每题更新参数:训练流 / 评测流 训练流 pass@2 评测流 pass@2
全表,rank-512 499.93k / 510.10k 19.73 ± 0.49 4.47 ± 0.57
CoSE,仅组合分支 512 / 512 39.73 ± 1.48 10.76 ± 0.96
CoSE,rank-32 31.76k / 32.39k 43.58 ± 0.58 12.19 ± 0.90

关键发现

  • 候选覆盖与候选排序应分开看:CoSE 提高低候选数 pass@2,并未在全部设置下提高 pass@1000。短训练的能力诊断也不能直接当作公共评测成绩。
  • 冻结共享参数使保留旧知识有明确结构保障:只新增私有行不改旧行。表 28 的最终 retained-model 对照为 43.37% ± 0.48%,不是表 26 的 43.58% ± 0.58%;两种汇总口径不合并。
  • 跨组合迁移不是残差越多越好:CAR 七次重复实验中,三因素 CoSE 的 seen pass@2 为 58.86% ± 0.90%,但 unseen 为 2.73% ± 0.48%;纯组合分支的 unseen 为 3.69% ± 0.56%,全表为 0。残差帮助拟合已见组合,也可能减弱早期学习共享规律的压力。
  • 语言模型证据有具体范围:nanochat d12、1.19B token 的 Engram 哈希 2/3-gram 记忆中,约 254M / 258M 记忆容量的 Engram / CoSE 验证 bpb 为 0.84638 / 0.84436。零查表容量时纯组合几乎无收益,增加训练 token 后优势缩小;这不是所有 LLM 或所有下游任务都改善的证明。

亮点与洞察

  • 把隐藏容量计回模型规模:任务表不是免费的“输入编码”。这让小主干推理模型的容量与效率比较更诚实,也提示其他系统应单列条件记忆、主干与聚合计算。
  • 共享规律与私有例外互补:因子分解不必追求消灭全部实例记忆。给组合结构保留一个窄残差,往往比纯压缩或纯共享更容易保住低候选数性能。
  • 新任务可写入而旧任务不必改动:冻结主干与共享组合器、只加题目行,是一种可检查的不遗忘路径。它仍有每题存储增长,不等于拥有无限容量的持续学习。

局限与展望

  • 公共评测示范已用于主训练,测试输出未用于优化;不能称其为完全未见任务的零样本求解,也没有这里可据以报告的私有测试成绩。
  • 多项关键实验重复 3–4 次,但不少结构变体仅一次,部分探索实验提前结束。小幅差异需要更多种子、相同训练预算和完整置信区间支持。
  • 参数节省不等于速度提升。附录 H 的单节点八张 H100 估计中,ARC-AGI-1 的 URM / CHARM 训练步耗时为 0.385 / 0.390 秒,总时长估计为 86.8 / 87.6 小时;这些是估计,不是生产运行实际墙钟时间。
  • 合成数据依赖规则实现和多轮人工审核,验证器与生成器也可能共享错误。值得补充独立规则检查、分布外输入审计与人工投入成本。
  • 原文有应保留的口径差异:正文 CAR 段落写“structured composition”达到 unseen 3.69%,表 16 明确这是纯组合分支,完整 CoSE 为 2.73%;表 44 的 80.71% 行与表 12 的无门控结果一致,而实现段指定 ARC-AGI-1 最终配置有门控,不能据此把所有 80.71% 结果标成有门控。
  • 未来可显式约束残差对共享因素学习的干扰,并在真正未见任务、固定存储预算和可测稀疏执行条件下验证泛化与系统效率。

相关工作与启发

  • vs HRM / TRM / URM:继承其循环细化、任务条件与深监督框架,重点重构任务记忆并拆解系统收益。贡献不是仅靠更深循环替代数据和容量。
  • vs VARC / Re-ARC:沿用规则保真生成的价值,把它扩展到 ARC-AGI-2;与此同时,CHARM 主评测并非 VARC 式逐题测试时训练,不能忽略协议差异。
  • vs FiLM / 因子化嵌入:FiLM 提供因素调制,CoSE 的关键增量是给组合条件保留实例残差,而不是单独提出仿射调制。
  • vs Engram:语言实验保留哈希查表、上下文 gate 和短卷积,新增由当前与前两个 token 嵌入组成的共享 FiLM 路径。该版本融合的是 n-gram 特征,不是把 ARC 的题目 ID 机制直接搬进语言模型。

评分

  • 新颖性: 4/5 — 以共享组合与实例残差重构任务记忆,并对隐藏容量作清晰实证拆解。
  • 实验充分度: 4/5 — 包含受控消融、未见题适应及跨域验证,但部分变体单次运行且协议较复杂。
  • 写作质量: 4/5 — 机制与参数核算明确,少数表间与正文口径需要读者核对。
  • 价值: 4/5 — 对小主干推理系统的容量审计和条件记忆设计有直接借鉴意义。