大模型真的需要“睡觉”吗?这篇论文想把短期记忆慢慢熬成长期能力

核心摘要

如果你做过长期部署的 LLM 系统,大概率都会碰到一个很拧巴的问题:模型在上下文里学得很快,但一旦会话结束,这些新东西又像没发生过一样;可你真去反复微调,它又很容易把旧本事忘掉。这篇《Language Models Need Sleep》抓的就是这个矛盾。作者把持续学习拆成两个阶段:清醒时吸收新信息,睡眠时不接收外部输入,而是专心做两件事——把短期、脆弱的上下文记忆“巩固”进更稳定的参数里,再靠“做梦”生成合成数据继续自我改进。思路不算凭空发明,但组合得相当完整:参数扩容、向上蒸馏、RL 驱动的自生成 rehearsal,被它们打包成了一套像生命周期管理一样的范式。实验上,它在持续分类、长上下文、知识注入、few-shot 抽象推理、数学推理这些任务上都拿到了不错结果。我的判断是:这更像一个系统级设计,而不是单点算法爆破。可它确实把一个老问题讲顺了——模型不只是要会学,还得会在“离线阶段”整理自己。


📖 论文信息

  • 标题:Language Models Need Sleep: Learning to Self-Modify and Consolidate Memories
  • 作者:Ali Behrouz, Farnoosh Hashemi, Vahab Mirrokni
  • 机构:Google Research、Cornell University
  • 提交时间:2026 年 6 月 2 日
  • 论文链接:https://arxiv.org/abs/2606.03979
  • HTML 版本:https://arxiv.org/html/2606.03979v1

🧠 这篇论文到底在别扭什么

我觉得它抓到的是一个很真实的工程痛点。

现在的大模型有两种“学习”其实是割裂的:

  • 一种是上线前的大规模预训练、指令微调、RL。
  • 另一种是上线后靠上下文临时适应,也就是大家已经很熟的 in-context learning。

问题在于,后者很灵,但不长久。

你把一堆新事实、新规则、新任务示例塞进上下文,模型当场可能表现得像真的学会了;可会话一结束,这些知识并不会自然沉淀进参数里。反过来,你如果频繁微调,又会掉进 catastrophic forgetting 这个坑:新知识进去一点,旧能力掉一截。

作者的切入点很像一句人话:人类不是一直醒着学东西的,模型为什么默认要一直“在线吸收”,却没有一个整理记忆的阶段?

所以他们提了个很直白的范式:

  • Active / Wake:清醒阶段,模型接触外部数据、做推理、做 in-context adaptation。
  • Sleep:睡眠阶段,模型尽量不接新输入,而是把内部已经形成的短期记忆做整理、压缩、巩固、自我训练。

这个比喻其实挺讨巧。但说实话,真正值钱的不在“睡觉”这个词,而在它后面那套操作链路。


🏗️ 核心想法:把持续学习从“边学边忘”改成“先学,再整理”

论文里的 Sleep 分两步:

  1. Memory Consolidation:记忆巩固
  2. Dreaming:做梦式自我改进

它的基本判断是:模型在清醒阶段形成的大多是高频、脆弱、依赖上下文的短期记忆;如果不专门做一次离线整理,这些记忆要么消失,要么在后续更新里被覆盖。

图 1:作者对“传统训练”和“持续学习”的区别判断

图1:传统机器学习与持续学习的差别

图 1 想表达的不是一个新结构,而是一种新的生命周期视角:传统机器学习习惯把时间切成训练期和测试期;持续学习里这条边界其实很模糊,所以作者改用“清醒 / 睡眠”来描述模型不同阶段的工作状态。右侧的多频记忆层次也埋了后文的关键设定——高频模块更灵活,低频模块更稳定。

这个视角我觉得挺有启发。很多持续学习方法仍然默认模型一直在“工作态”,顶多加一点 replay、正则或者 adapter。可这篇论文是把离线整理提成了第一等公民。


🔧 Sleep 的第一步:记忆巩固,不只是蒸馏,还要扩容

如果只做普通蒸馏,其实不够。

因为持续学习里有个很现实的问题:你要把新知识写进旧参数,天然会和旧知识争地盘。 这就是干扰的来源。

作者的处理办法是两层:

1. 先做参数扩容

他们把模型里的不同记忆模块看成不同更新频率的层级,高频模块更新快,低频模块更新慢。每次进入 sleep,不是直接拿旧参数硬写,而是给更稳定的那一层增加新的低秩 expert 参数,相当于先腾新房间,再搬东西。

这一步很关键。因为它的潜台词是:

忘记并不只是训练技巧问题,很多时候就是容量不够。

这和经典 continual learning 里只靠 EWC 之类正则守住旧权重的思路不一样。作者更像是在说,别老想着让老参数忍一忍,不如给模型一点可塑性。

2. 再做 Knowledge Seeding

参数扩出来以后,作者用一种他们叫 Knowledge Seeding 的过程,把“小一些、更新更快的自己”里学到的知识,蒸馏到“更大、更稳定的自己”里。

注意这里有个挺有意思的点:

很多 distillation 是大模型教小模型,图的是压缩;这篇论文反过来,是小一些的当前状态去教扩容后的更大状态。它不是为了压缩,而是为了把短期知识转写到更长期的参数空间。

而且这个蒸馏不是纯 imitation。论文里把它做成了两部分:

  • On-policy distillation:对齐 teacher 与 student 的输出分布
  • RL-based imitation / knowledge alignment:让 student 真正在任务上学会这些种子知识

图 2:记忆巩固的整体流程

图2:Sleep 的记忆巩固机制

图 2 很直观。左边是多频记忆结构,中间是“路由到已有 expert + 新增 expert”的扩容过程,右边是巩固时的训练目标:一部分靠 on-policy distillation 保持行为一致,另一部分靠 imitation learning 让新扩出来的参数真的承接住知识。这个设计比单纯 replay 更讲究,因为它在处理“知识搬家”而不是只做“样本复读”。

作者还把这种巩固做成了分层、反复发生的过程,而不是一次性迁移。

图 3:不同频率的记忆,不是一起更新,而是分批巩固

图3:多频记忆层级与巩固节奏

图 3 展示的是一个很工程化的安排:高频 FFN 每 1K 步扩一次、往中频层做巩固;中频层每 5K 步再向更低频层巩固;低频层 10K 步再更新。这个“1K → 5K → 10K”的节奏,本质上是在模拟不同时间尺度的记忆沉淀。你可以把它理解成:不是所有新知识都该立刻刻进最稳定的长期记忆。

这个地方我挺喜欢。不是因为它多像脑科学,而是因为它确实在解决一个老问题:短期适应和长期稳定,本来就不该共享完全同一个更新节奏。

图 4:扩容不是全量扩,而是路由选择性激活

图4:通过路由器选择激活与扩展 expert

图 4 更偏实现细节:router 在每次 sleep 里只激活一小部分 expert,新加的参数也不是一次性全打开。这样做的目的很现实——减少干扰,避免每次巩固都把整层参数搅一遍。它有点像“选择性长新突触”,不是全脑一起改。


🌙 Sleep 的第二步:Dreaming,不靠人工标注做自我 rehearsal

光把旧信息存稳还不够,作者还想让模型在睡眠期继续自我改进。

这部分他们直接借了 SEAL 那条线的思路:模型基于当前上下文和任务,自己生成一批 dreams,也就是合成训练样本;再从里面挑更有用的样本,做小步 SFT / RL 更新。

但它不是把 SEAL 原封不动搬过来,而是额外做了三件事:

  • 用 sleep 前面的 consolidation 先把记忆问题处理掉,降低自我改进时的遗忘风险。
  • 通过 gradient-based selection 去挑更有潜力的 dream。
  • 在 MoE router 采样时再混入一个随机 expert,让梦不是只在模型已有知识空间里原地打转,而是保留一点“乱想”的探索性。

说实话,这里我第一反应是:这个设计挺聪明,但也挺危险。

聪明在于它终于不把 synthetic data generation 只当数据增强,而是当作睡眠阶段的主动内部计算;危险在于,一旦 dream 的质量控制不好,模型也可能把自己的偏差越练越实。论文里用 reward 和筛选机制压这个问题,但它还远没到“一劳永逸”的程度。


📊 实验看什么:这篇论文到底是不是只会讲故事

这篇论文的实验面铺得挺开,覆盖了:

  • 持续文本分类
  • 长上下文问答与检索
  • 新语言持续学习翻译
  • BABILong 超长上下文
  • 数学推理
  • 知识注入
  • few-shot 抽象推理

这很加分。因为如果只测一种任务,“睡眠”很容易沦为一个被特定 benchmark 奖励的设定。

1. 持续分类:Sleep 不是勉强能用,而是明显更稳

图5:持续文本分类结果

图 5 用 CLINC、Banking、DBpedia 三个持续分类数据集做测试。可视化里最清楚的一点是:无论在 Llama-3B 还是 Llama3-8B 上,Sleep 版本都站在最右边。也就是说,相比纯 ICL、EWC、外部 learner 的 InCA,还有没有显式蒸馏的 Hope,Sleep 都更强。作者的解释是:它把 prompt 里的临时适应,转成了更耐久的参数记忆。这个解释我基本买账。

这里有个很重要的比较对象是 Hope。因为 Hope 已经有多层记忆结构了,但还没有这篇论文强调的显式 self-distillation。Sleep 比 Hope 再往前走一步,说明单靠“多层更新频率”还不够,你还得真的做一次知识抽象和迁移。

2. 新语言持续学习:单次学会不难,连续学两个还不忘才难

图6:持续学习新语言翻译

图 6 是我很喜欢的一组结果。横轴是 Manchu → English 的 ChRF,纵轴是 Kalamang → English 的 ChRF。左下角那个很孤独的点就是 ICL 在连续学习场景下的翻车:两个语言一起学时,性能直接掉回去。Sleep-1、Sleep-2、Sleep-3 都明显更靠右上,而且 sleep 阶段越多,点越往右上推。这个趋势很关键,它说明“巩固阶段数”不是装饰变量,确实和保留新技能有关。

论文里还提到一个挺扎心的结果:Cartridges 和常规 SFT 在至少一个语言上都出现了灾难性遗忘,甚至比 ICL 还差。 这说明持续学习里“把东西写进参数”这件事,真不是微调一下就完了。

3. 超长上下文:Sleep 不是最便宜,但稳定得夸张

图7:BABILong 超长上下文结果

图 7 给人的冲击其实挺直接:随着上下文长度从 1K、16K、128K 一路拉到 10M token,很多方法都在明显下滑,Llama3.1-8B-Instruct、GPT-4 这几条线掉得尤其厉害;而 Llama + Sleep 那条黄线一直维持在 90% 以上,到 10M token 仍然在 90% 出头。作者把这个结果作为“睡眠期巩固有助于长程理解”的证据。至少从图上看,它确实非常能打。

这里我会保留一点谨慎。BABILong 很适合检验长依赖,但它仍然是比较结构化的任务,和真实世界里混乱、多源、带噪的长期会话不完全一样。所以这组结果说明思路有效,但还不等于“模型从此学会长期记忆”。


🧪 几张最关键的表:这篇论文最硬的数字在这里

数学推理:Sleep 比 GRPO、SFT、OPSD 都强,但优势不是碾压式

论文给了两张数学推理表,我觉得最值得看的其实是总表。

模型 方法 AIME-24 AIME-25 HMMT-25
Qwen3-1.7B Base 49.8 34.5 25.7
Qwen3-1.7B SFT 47.3 36.1 22.9
Qwen3-1.7B GRPO 51.0 38.6 26.1
Qwen3-1.7B OPSD 51.6 40.0 28.1
Qwen3-1.7B Sleep 53.2 40.2 29.3
Qwen3-8B Base 73.8 68.1 42.4
Qwen3-8B SFT 75.5 66.4 43.7
Qwen3-8B GRPO 76.4 68.1 44.9
Qwen3-8B OPSD 76.6 67.4 45.1
Qwen3-8B Sleep 79.2 69.0 46.1

几个数字挺说明问题:

  • Qwen3-1.7B 上,Sleep 比 GRPO 高 2.2 个点1.6 个点3.2 个点
  • Qwen3-8B 上,Sleep 比 OPSD 高 2.6 个点1.6 个点1.0 个点

这不是那种“翻倍式”突破,但很扎实。尤其你考虑到比较对象已经不是弱 baseline,而是 SFT、GRPO、OPSD 这些正经方法。

不过我也想强调一点:它的胜利不是没有代价的。 Sleep 背后多了参数扩容、巩固、dreaming 这些阶段,训练流程比普通 SFT 或 GRPO 更长。论文证明了效果更好,但还没完全证明“单位算力收益更优”。

消融:扩容、模仿学习、语义奖励,都不是摆设

在 Qwen3-8B 的消融里,完整 Sleep 的成绩是:

变体 AIME-24 AIME-25 HMMT-25
Sleep 79.2 69.0 46.1
去掉 imitation learning 76.8 67.9 45.0
去掉 semantic reward 78.9 69.2 44.5
不做 expansion 78.2 67.9 44.9
OPSD 76.6 67.4 45.1
OPSD + Expansion 77.9 68.2 45.9

这个表有两个值得聊的点。

一是完整设计整体最稳,去掉任何关键部件都会掉。

二是它也没神到每个格子都第一。比如 AIME-25 上,去掉 semantic reward 的变体是 69.2,反而略高于完整 Sleep 的 69.0。这类小反常其实挺正常,说明它不是“所有零件加上去必然单调上升”的机械堆叠,而是组件间有交互。

知识注入:Sleep 比 SEAL 再往前走了一步

方法 单文档注入 持续预训练场景
Base model 31.9 31.9
Fine-tuned, no dreaming 33.4 32.0
SEAL 46.7 43.2
Sleep, Transformer 48.1 44.3
Sleep, Transformer + four-level 48.9 46.2
去掉 gradient-based selection 47.1 45.2
去掉 random expert 48.0 44.7
去掉 dreaming 35.7 36.2

这张表特别能说明 dreaming 的价值。

如果把 dreaming 拿掉,单文档场景直接从 48.9 掉到 35.7,持续预训练场景从 46.2 掉到 36.2。这就不是“小修小补”了,而是在告诉你:sleep 的后半段不是锦上添花,而是主菜之一。

而且和 SEAL 比,完整四层版本又多了 2.2 个点3.0 个点。说明作者不是只借了 SEAL 的壳,确实把前面的记忆巩固和后面的 dream 筛选接起来了。

few-shot 抽象推理:80 对 72.5,也挺能说明问题

方法 Success Rate
ICL 0
TTT 10
SEAL 72.5
Sleep 80.0

这张表不大,但挺干脆。

Sleep 在 few-shot 抽象推理上到了 80.0,比 SEAL 的 72.57.5 个点。这个任务本身更接近“把少量上下文知识抽出来,变成规则”,所以它和论文主张很对味。


🔍 这篇论文真正新在哪

如果只听标题,很容易以为它在发明一种完全新的学习范式。

我觉得没必要吹这么满。

这篇论文最有价值的部分,不是单独哪个零件,而是它把几条原本分散的路线拼成了一套闭环

  • 持续学习里的 replay / rehearsal
  • 长短期记忆分层
  • 参数扩容来减轻干扰
  • on-policy self-distillation
  • 自生成 dream 做自我改进

这些点单拿出来,很多都不是第一次出现。

比如:

  • EWC 代表的是经典 continual learning 的正则思路。
  • LAMOL、pseudo-rehearsal 这些老方法,早就在讨论生成式 replay。
  • SEAL 已经把“模型自己改自己”这件事推到了台前。
  • CartridgesTitansTTT 这些工作,都在碰长上下文记忆和测试时适应。
  • 论文附录里自己也承认了,on-policy self-distillation 这条线在近期已经很热。

所以更公平的说法是:

Sleep 的新意主要在系统整合和生命周期设计,不在某个从零开始的基础算法。

这不是贬义。很多真正能落地的工作,本来就不是凭一个新公式打天下,而是把之前散落的方法拼成一个更稳定的工程闭环。


⚠️ 我觉得它还没回答完的几个问题

1. “睡眠”是个好比喻,但别太把比喻当机制解释

作者大量借用了人类睡眠、记忆巩固、慢波睡眠这些概念。写得挺顺,也确实容易让人记住。

但你得分清楚:

  • 生物学里的 sleep 是复杂神经过程。
  • 这篇论文里的 sleep,本质上是一段离线参数整理与自训练流程

两者有启发关系,但不是同构。

这点我会特意提醒,因为很多读者一看到“脑科学灵感”就容易自动抬高可信度。其实这篇论文真正站得住脚的,不是类脑叙事,而是实验里那套“扩容 + 蒸馏 + rehearsal”确实 work。

2. 计算成本到底划不划算

这是我最想追问的点。

Sleep 的训练链路比普通 SFT 长不少:

  • 要进入 sleep phase
  • 要扩参数
  • 要做 distillation
  • 要生成 dreams
  • 要筛 dream
  • 还要做 RL / imitation / SFT 更新

如果你是研究型系统,这当然可以接受。可如果你是线上持续更新的工业系统,就会马上问一句:我为什么不直接做 retrieval,或者周期性微调?

论文证明了效果,但对“全流程算力账”还讲得不够狠。它在附录给了一些 efficiency 内容,不过离真实部署决策还差一层。

3. 参数一直长,后面怎么办

这篇论文一个很重要的思想是用参数扩容换稳定性。

短期看,这很合理。

但长期看,问题也很自然:

  • 模型会不会越睡越胖?
  • 新增 expert 什么时候合并、裁剪、冻结?
  • 多轮 sleep 之后 router 会不会越来越复杂?

也就是说,它现在更像在证明扩容有助于巩固,还没把“长期生命周期管理”讲到头。

4. dreaming 可能把偏差也巩固下来

论文里用 gradient-based selection、随机 expert、多 dream 筛选来提高 dream 质量,这些设计都挺聪明。

但说实话,我还是会担心 self-generated data 的经典问题:模型会不会不断训练自己最擅长、也最偏的那部分分布?

尤其当系统长期运行时,dreaming 不只是强化知识,也可能强化盲点。

这篇论文已经意识到这个问题,但还没有完全解决它。

5. 规模还不算真正的 frontier

论文里的主实验能看到 Llama-3B、Llama3-8B、Qwen3-1.7B、Qwen3-8B 这些尺度。

这已经不小了,但离真正最前线的大模型部署规模还有距离。很多持续学习方法在 1B 到 8B 还挺灵,一到更大规模、更多任务混合、更多安全约束,就会冒出新的不稳定因素。

所以这篇工作现在最准确的定位,还是:一个非常值得追踪的中等规模验证,而不是“通往 AGI 记忆系统的终局答案”。


💡 如果你在做 Agent、长期记忆或在线学习,这篇论文给了什么启发

我觉得至少有三点很实用。

启发 1:别把“上下文学到的东西”默认当成已经学会

这可能是整篇论文最重要的提醒。

ICL 很强,但 ICL 的强,很多时候是会话内强。如果系统需要长期累积新技能,你就得认真设计“从上下文迁移到参数”的阶段,而不是指望模型自己顿悟。

启发 2:稳定性和可塑性,最好分模块、分时间尺度管理

把所有更新都塞到同一套参数上,通常就是谁都不满意。

高频模块负责快速适应,低频模块负责长期沉淀,这个思路不只适合这篇论文里的 Hope / Sleep,也适合很多 Agent memory 系统、工具使用轨迹压缩、个性化建模场景。

启发 3:离线阶段不该只是压缩日志,还可以做主动 rehearsal

很多系统现在的“夜间作业”其实很弱:存日志、抽摘要、也许顺手做个 embedding。

这篇论文更激进一点。它在说,离线阶段应该是模型内部能力重组的窗口期。不只是归档,更是重新练习、重新抽象、重新布线。

这个视角我是真的觉得有价值。


🤔 我的总体判断

我挺喜欢这篇论文。

不是因为它提出了一个无懈可击的新算法,而是因为它把一个大家都知道难、但总是被拆开处理的问题,第一次讲得这么完整:

  • 清醒时学习
  • 睡眠时巩固
  • 巩固时扩容
  • 巩固后做梦
  • 做梦再反过来帮助长期能力形成

这套叙事背后,对应的是一条还挺顺的工程逻辑。

当然,它也有明显边界:算力成本、参数增长、dreaming 偏差、规模外推,这些都还没彻底解决。

但如果你问我这篇值不值得细读,我的答案是:值得。

尤其如果你关心下面这些方向:

  • 长期运行的 Agent
  • 持续学习 LLM
  • 参数记忆和上下文记忆的衔接
  • 自我改进型模型
  • 在线学习之后的离线整理机制

这篇论文很可能会给你一个新的设计模板。

它最打动我的一句潜台词其实是:

模型不只是需要更多数据、更多参数、更多训练步数。模型也许还需要一个认真整理自己的阶段。

这件事,确实很像睡觉。

但更像一个成熟系统该有的自我维护能力。


参考链接

  • arXiv 摘要页:https://arxiv.org/abs/2606.03979
  • arXiv HTML:https://arxiv.org/html/2606.03979v1
  • 相关对比线索:EWC、SEAL、Cartridges、Titans、TTT、OPSD

觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我。