论文
测试时学习
★ 必读
Self-Adapting Language Models (SEAL)
SEAL:让模型自己生成微调数据、用 RL 学会怎样更新自己的权重
Adam Zweiger, Jyothish Pari, Han Guo, Ekin Akyürek, Yoon Kim, Pulkit Agrawal · MIT · NeurIPS 2025 · 2025-06 · 被引 58
一句话MIT 提出 SEAL:模型对新输入生成 "self-edit"(自己写的微调数据 + 优化超参),用 LoRA/SFT 写入权重,再用 ReST-EM 式 RL 以更新后模型的下游表现为奖励来优化 self-edit 生成策略。SQuAD 无上下文问答从 33.5% 提到 47.0%(略超 GPT-4.1 合成数据的 46.3%),ARC 简化子集适配成功率 20%→72.5%;但每个 self-edit 的奖励评估要 30-45 秒,且连续多次 self-edit 仍会灾难性遗忘。
这是什么
LLM 部署后权重是静态的,遇到新知识、新任务只能靠上下文窗口硬塞。SEAL 的出发点是一个类比:学生备考不是把讲义原文背下来,而是先重写成自己的笔记再学。对应到 LLM,就是不直接在原始数据上微调,而是让模型先把数据"消化重写"成更好学的形式,顺便决定用什么超参去学。
具体做法:给定新输入(一段文章或几个 few-shot 例子),模型生成一个 self-edit——可能是从文章推出的一串 implications(合成训练句子),也可能是一个 JSON,指定用哪些数据增强工具、学习率、epoch 数。然后对 self-edit 做 SFT(LoRA)得到更新后的模型,在下游任务上测,成绩作为 RL 奖励回传去训练 self-edit 生成策略。整个框架不用额外的 adaptation 模块或 hypernetwork,更新指令就是模型自己的普通文本输出。
论文出自 MIT CSAIL(Improbable AI Lab,Pulkit Agrawal 组,Yoon Kim 参与),NeurIPS 2025,代码全开(GitHub 1.8k stars,MIT license)。它常被媒体渲染成"AI 自我改写代码",实际范围小得多:是在两个有明确 ground-truth 评测的小域(SQuAD 知识注入、ARC 简化子集)上验证"模型能学会为自己造更好的训练数据"这一点。
SEAL 总体框架:每轮外层 RL 迭代中,模型对上下文 Ctx 采样多个 self-edit(SE1-SE3),各自做一次内层优化得到更新后的模型 θ',在测试上评对错,(state, action, reward) 三元组用于更新 self-edit 生成策略。注意 state 里含当前参数 θ_t,这就是 PPO/GRPO 训不稳、只能用 on-policy ReST-EM 的根源。机制与做法
双层循环:外层 RL 学策略,内层 SFT 改权重
每个任务实例是 (C, τ):C 是上下文(文章或 few-shot 演示),τ 是下游评测。内层循环:模型在 C 上采样 self-edit SE,执行 θ' ← SFT(θ, SE),在 τ 上评测。外层循环:以评测结果为奖励,更新 self-edit 生成策略。
一个关键的非标准之处:奖励依赖当前参数 θ(因为被更新、被评测的就是策略本身),所以旧模型采的 (state, action, reward) 会过期,必须严格 on-policy。作者试过 GRPO 和 PPO 都训不稳,最后退回 ReST-EM(rejection sampling + SFT):采样若干 self-edit,只对带来性能提升的那些(二值奖励)做行为克隆。论文推导了这等价于在二值奖励、对奖励项 stop-gradient 下优化原 RL 目标。
知识注入的具体流程:左边是 SQuAD 原文(Apollo 计划),中间模型把它重写成 implications 列表并 SFT 进权重,右边评测时不给原文直接问问题(谁是反对载人航天的肯尼迪科学顾问),答对与否即 RL 奖励。实例化一:知识注入(SQuAD 无上下文问答)
用 Qwen2.5-7B base。给一段 SQuAD 文章,prompt 模型"列出这段话直接或间接的 implications",对生成的句子做 LoRA SFT(rank 32、lr 1e-3、10 epochs),然后不给原文回答对应问题,准确率即奖励。RL 训练做 2 轮 ReST-EM,每轮 50 篇文章 × 5 个采样 × 3 seeds,挑每篇最好的一条做 SFT。
训好的策略还被拿到 continued pretraining(CPT)场景外推:对 200 或 2067 篇文章各采 5 份合成数据,汇总起来做全参数微调。这说明学到的"怎么写好学的数据"能泛化到超出单篇 RL 训练设置的规模。
单篇知识注入准确率随 ReST-EM 轮数的变化:第 0 轮(即 base 模型自产数据)39.7%,2 轮后 47.0%,刚好越过 GPT-4.1 合成数据的 46.3%(绿色虚线)。注意纵轴范围和只有 2 个迭代点——增益真实但 headline 的"超过 GPT-4.1"差距只有 0.7 个点。实例化二:few-shot 任务适配(ARC 简化子集)
用 Llama-3.2-1B-Instruct,沿用 Akyurek et al. 2024 的 test-time training(TTT)协议,但把"用哪些数据增强(旋转/翻转/链式变换等)+ 什么优化配置(lr、epochs、loss 算全部 token 还是只算输出)"这些原本人工调的决策交给模型:模型看到 few-shot 例子后输出一个 JSON 配置,按配置做 LoRA TTT,在留出测试输入上对/错即奖励。
注意规模:训练集只有 11 个 ARC 任务,评测集 8 个,而且都是预先筛过、保证在最优 TTT 配置下可解的。评测指标是每任务采 5 个 self-edit 共 40 个配置中成功的比例。
灾难性遗忘矩阵:行是连续第几次 self-edit,列是各篇文章,值是该文章 QA 准确率。对角线(刚学完)最深,往下(后续更新后)逐渐变浅:第 0 篇文章的准确率从刚学完的 0.38 掉到 8 次更新后的 0.19。这是论文自报的核心 limitation——SEAL 目前不是真正的持续学习。成本与限制
这个 RL 的奖励评估极贵:每个 self-edit 都要走一遍完整的 finetune + 推理评测,约 30-45 秒;一轮 ReST-EM 的 E-step 是 50×5×3=750 次内层循环,2×H100 上约 6 小时。附录里试了用 GPT-4.1 rubric 打分做 proxy reward,5 分钟出结果、47.0%→45.6% 只差 1.4 个点,反而可能是更现实的路线。
另外两个作者自己承认的限制:(1) RL 训练要求每个 context 自带带标注的下游任务(QA 对),没法直接上无标注语料;(2) 连续做多次 self-edit 时旧知识持续衰减(见灾难性遗忘图),"持续学习"目标本身并没有解决。
关键结果
- 单篇知识注入(Qwen2.5-7B,SQuAD 无上下文 QA):base 32.7%,直接在原文上微调仅 33.5%(几乎无效),base 模型自产合成数据 39.7%,2 轮 RL 后 47.0%,略超 GPT-4.1 合成数据的 46.3%——7B 模型学会了为自己造比 GPT-4.1 更好用的训练数据。
- 但 CPT 多篇场景 SEAL 并未胜出:n=200 时 GPT-4.1 合成数据 59.4% > SEAL 58.2%;n=2067 时 49.2% > 46.4%;和启发式方法 EntiGraph(pairs+triples)比,n=2067 时也输(46.4% vs 48.6%)。
- 附录 prompting 消融很诚实:只把 prompt 换成"列一个长长的 implications 清单"(implications-long),不做任何 RL 就有 49.3%,已超过主表 RL 训练后的 47.0%;RL 在各种 prompt 上稳定带来约 6-11 个点增益(如 rewrite 49.4%→55.6%),说明 RL 学到的很大一部分是"写得更长更细",prompt 工程能拿到其中不少。
- ARC 简化子集:ICL 0%,不经 RL 的 self-edit TTT 20%,SEAL 72.5%,人工最优配置的 Oracle TTT 100%——提升明显,但只有 8 个精心筛选的评测任务。
- 灾难性遗忘未解决:连续 8 次 self-edit 后,最早文章的 QA 准确率从约 0.38 降到 0.19(见 fig06),论文将其列为 limitation。
- 模型规模趋势:Qwen2.5-3B 上 SEAL 相对 base self-edit 的增益比是 1.75x,7B 上是 2.04x,作者谨慎地暗示更大模型可能收益更大,但承认没有真正 scale 上去验证。
实证核查
扎实代码、数据、逐 run 结果 JSON 全部开源且与论文 v2 数字一致,作者在 issues 里有问必答,limitation 写得诚实(自己承认 CPT 场景输给 GPT-4.1 数据、遗忘未解决)。水分主要在外围:媒体炒作远超论文实际范围,实验域小且贵,精确复现因 seeds 丢失做不到。
论文声称 SEAL 自产数据超过 GPT-4.1 合成数据(47.0% vs 46.3%)。
只在单篇 LoRA 设置成立且差距仅 0.7 个点;论文自己的 Table 2 显示 CPT 设置下 GPT-4.1 数据反超(59.4 vs 58.2,n=200;49.2 vs 46.4,n=2067),附录里 EntiGraph 在 n=2067 也胜出(48.6 vs 46.4)。更微妙的是附录 Table 8:不做 RL、仅把 prompt 改成 implications-long 就有 49.3%,高于主结果 47.0%。核心贡献"RL 能稳定提 6-11 个点"成立,但"胜过 GPT-4.1"这一 headline 依赖特定设置。
论文报告的 CPT 数字(58.2/59.4 等)与开源结果可对上。
repo 的 general-knowledge/results/cpt/200/ 下 gpt4_1_200.json adapter_accuracy=0.594、iter2_200.json=0.582,与 v2 论文完全一致。但要注意 issue #13:arXiv v1(2025-06)的 CPT 数字是 39.4/43.8,v2(2025-09-18)把 CPT 从 LoRA 改成全参微调后大幅上调,作者在 issue 里确认了这次改动。读旧版博客/转述文章时数字会对不上。
README 声称 both folders include code, data, and documentation,可复现实验。
结构属实(general-knowledge 与 few-shot 两目录含 data/results/scripts/src),但精确复现有硬伤:issue #12 中复现者发现两轮 ReST-EM 用了不同的 50 篇文章、且与 alternate_prompts 目录的选篇不一致,作者回复 "Unfortunately I don't remember / have-saved the random seeds"——选篇 seeds 已丢失,只能近似复现。
媒体与社交平台渲染为"MIT 造出能改写自己代码、自我进化的 AI"。
论文实际只在两个带 ground-truth QA 的小域上训练"生成微调数据"的策略。HN 讨论(id=44271284,246 分)的高赞评论准确指出:结果真实但每次奖励评估 30-45 秒"计算开销残酷"、且只适用于有显式评测的任务;r/LocalLLaMA 的 "Self Adapting LLMs - legit?" 帖子共识类似:方向成立、但离"持续自我改进的 agent"很远。ARC 侧 72.5% 这个数只基于 8 个预筛选任务 × 5 次采样。
SEAL 是迈向持续学习(continual learning)的一步。
论文 Figure 6 + 附录 SEM 表自己给出了反面证据:连续 8 次 self-edit 后早期文章准确率近乎腰斩(0.38→0.19),训练目标里没有任何保持旧知识的机制。仓库归属的 GitHub org 就叫 Continual-Intelligence,但当前版本更准确的定位是"单次测试时适配"而非持续学习。
与我们方向的关系
对我们 continual-learning 方向,SEAL 是"把自我改进落到权重层面"的代表作,和上下文侧的 memory/agent 方法形成对照。最可借鉴的是框架设计:用模型自己的文本生成来参数化权重更新(而不是 hypernetwork 或独立 adaptation 模块),这让"怎么学"变成一个可以被 RL 优化的普通生成任务,而且生成的合成数据可以复用到 CPT、换 base 模型。另一个务实的教训是 RL 算法选型:reward 依赖当前参数导致 GRPO/PPO 不稳,ReST-EM(拒绝采样+SFT)反而是能跑通的选择——做任何 "self-modify 后再评测" 类实验时都会遇到同样的非平稳问题。
跟进实验前先记住三个数:每个 self-edit 评估 30-45 秒、一轮 ReST-EM 约 6 小时(2×H100)、proxy reward(GPT-4.1 rubric)只掉 1.4 个点但快 70 倍——如果做类似的"学习如何自我更新"实验,proxy reward + 偶尔真实评测校准可能是更可行的配方。另外它的 baseline 消融(implications-long prompt 不用 RL 就 49.3%)提醒我们:做这类工作必须先把 prompt 工程 baseline 打满,否则 RL 的增益容易被高估。
阅读笔记
读的是 arXiv v2 / NeurIPS camera-ready(本地 tex 与 v2 一致)。注意 v1→v2 的 CPT 数字变化(LoRA→full-FT,39.4/43.8→59.4/58.2),网上不少二手文章引的是 v1 数字。few-shot 与 knowledge 两个实验用的模型不同(Llama-3.2-1B vs Qwen2.5-7B),不能横向比。复现需要 OpenAI API key(GPT-4.1 做自动判分),2×A100/H100 起步。
材料清单
TeX 源码已存档:Raw/self-adapting-language-models-seal/source/
同类条目