夜间值守的模型服务控制台,一列权重快照编号排在左,人工发布通道静止在右,中间是一条自己走动的循环链路

一、先把方法说到够用的程度,再谈它打断了什么

我们管模型的办法,建立在一条很少被写下来的前提上:每一次参数变化都对应一次人为发起、可以被评审、必要时可以退回的发布。一家研究机构公开了一套面向大语言模型持续学习的做法(公开报道称为“睡眠框架”,比喻取自生物睡眠期的记忆巩固),把这条前提直接打断:部署中的模型按固定节奏自己更新数值权重,一次参数变化不再对应某个人的某次发布动作,而是在两次人工发布之间发生了若干轮。

方法本身只需要说到够用的程度。它把模型运行切成两段:一段主动交互,接收并处理输入,把新信息暂存在短期上下文里;另一段离线巩固,暂停处理新输入,转而做整合与自我改进。巩固这条线用参数扩展、低秩结构(用少量附加参数近似权重改动的一类写法)、混合专家(把参数分成若干组、按输入只激活其中若干组的结构)的记忆模块与知识蒸馏(用一份输出的分布去指导另一份参数学习),把脆弱的短期上下文写进扩展后的长期参数,同时尽量不覆盖既有知识。另一条线被称作“做梦”,由模型自己生成并筛选合成样本,再用强化学习反复练习。公开说明强调整个循环跑在固定架构与人为设定的训练规则之内,核心代码与设计不变。

本文不对这套做法的学术价值下判断,也不预测它何时能进生产,更不给任何可照做的训练配方——超参、秩、专家分配比例这类东西一篇都不会出现。据公开报道,它在持续翻译、长上下文理解、事实知识吸收与数学推理等任务上优于多种基线方法,在未见语言的多阶段持续学习中保持接近零的性能下降,在事实知识整合的单项评估与持续预训练评估中分别取得 48.9% 与 46.2%。这些是论文自报读数,紧跟一句必要的说明:它们只是本篇讨论的引子,不构成下面任何一条运维要求的依据。

二、版本这件事先失效:它要重新绑定四件东西

周期性离线巩固一来,“模型版本”这个概念里能定位问题的部分就没了。过去的版本表只需要模型名称、上线时间点、变更说明三项,因为参数变化的粒度就是发布粒度。现在参数会自己变,版本必须重新绑定四件东西,少一件都问不出答案:

  • 架构标识:骨架与扩展结构(例如为容纳新知识而增设的记忆模块)的版本号
  • 权重快照序号:本轮开始前那份可用参数的编号,回滚只有指向它才有意义
  • 巩固周期序号:第几轮离线巩固,用来把参数变化对齐到作业序列上
  • 样本清单摘要:该周期参与巩固与练习的样本集合的哈希值

命名与留证可以写成一条可执行规则:对外服务版本等于架构标识加权重快照序号;每个巩固周期结束时报备一条记录,记录里必须能取回该周期样本清单的摘要;摘要算法与生成时点一并入表。只记名称和时间的版本表在这种机制下会失效,因为它回答不了两个每天都会问的问题:这次退化对应第几轮巩固,那一轮用的是哪批样本。同一个时间区间里可能跑了两轮,也可能一轮都没跑,靠时间反推参数变化是不成立的。

三、双侧同测是入场券,不是加分项

评估不能只看一侧。新知识吸收率(正向:本轮该学会的学会了多少)与旧能力保留率(回归:原本会的还剩多少)必须用同一批数据口径、在同一次评估里一起给出。只报一侧在这种机制下不算数:灾难性遗忘的真实形态恰恰是吸收很高而保留塌陷,而只看保留率又会把“什么都没学进去”读成“稳定”。

组合 最常见判据来源 运维处置取向
吸收好、保留好 新事实问答集与既有任务回归集同批出数 允许进入下一周期,快照留档
吸收好、保留差 回归集分任务读数出现选择性下滑 判为遗忘,回滚到上一权重快照
吸收差、保留好 新事实问答集读数与上一周期几乎相同 判为巩固无效,不占用发布通道
两侧都差 两个集合同时退化 冻结周期,转人工排查样本来源

还有一个容易漏的格子:合成样本练习带来的评测污染。样本由模型自己生成并筛选,练着练着练到与回归集内容重合,是完全可能的,于是保留率好看但没有任何含义。排除它的最低做法是把固定回归集与判据文件的哈希留证做实——评估前比对哈希,比对不上就停,判据文件被改动过要能看出来。哈希留证这个手法站内已有专门讨论,本篇只引用,不展开。

四、“接近零的性能下降”这句话,要核验四件事

这句话在论文里是结论,在运维里必须变成一条可查的陈述。缺下面任何一件,它就只能当研究结论读,不能当依据:

  1. 基线是什么:不更新的原始模型,还是常规微调后的模型。两种基线下同一句话的意思完全不同。
  2. 测的是哪些旧任务:旧任务的集合与数量要列出来,否则“接近零”是对着一个看不见的分母说的。
  3. 这些旧任务是否同时被用于练习:如果练习集与考察集重叠,这一条读数不能进任何评审材料。
  4. 下降的度量是什么:是任务准确率,还是校准程度与弃权行为。参数被自改之后,一种典型退化是答得更自信而不是答得更错,只看准确率看不见它。

对照基线里包含监督微调、一类群组相对策略优化方法与在线策略自我蒸馏方法,这说明论文自己也在做同口径比较;但比较的严格程度由论文作者定义,不由我们定义,所以我们的验收表里要把这四件事逐项写死,而不是引用那句结论。

五、离线巩固窗口是一张作业单,不是一个比喻

进入巩固阶段要求暂停处理新输入,这就产生一个真实的可用性安排,必须落成一份窗口作业单,五段缺一不可:

  • 前置检查:上一周期双侧指标是否达标、当前权重快照是否已落盘、暂存区积压量是否在预算内
  • 进入条件:允许的最低服务水位、窗口时长与频次的取值范围由配置给出,运行时不改
  • 暂存上限:窗口期间到达的新信息要暂存在指定缓冲区,容量上限与写入顺序要成文
  • 退出判据:双侧指标达标即出,退化即止;溢出时是丢弃新到达还是向上游背压,必须事先选定而不是随机
  • 回滚点:本窗口开始时的那一个权重快照,且保留份数要能覆盖连续多个失败周期

这里最容易被忽略的是暂存区的语义。窗口期间用户还在产生新信息,如果暂存只是“内存里堆着”,那么溢出与重启都会静默丢内容;把它做成有上限、有丢弃策略、有溢出计数的对象,窗口才敢开。巩固失败或双侧指标退化时能不能一步退回,取决于回滚点是不是自动保留——这一点在下一节的前置检查里还要再问一遍。

六、灰度、审计与内容准入:三处必须补的缺口

自我改进带来审计缺口。策略参数是被模型自己生成的样本推动的,于是三问必须有答案:改了什么参数、用了哪些样本、由谁判定这些样本可用。“核心代码与设计不变”这句话不覆盖参数变化,因此它不能替代变更审批;能替代审批的只有前面那四件绑定东西加上一份可取回的样本清单摘要。

第二处缺口是内容准入。长上下文被写进参数,意味着用户上传的客户名单、合同条款、凭据与个人信息都属于可能被巩固进去的内容。要有一张“允许进入巩固的上下文类别”白名单,类别之外不进窗口。它和对外承诺的“不留存”不是一回事:不留存说的是不长期保存,白名单管的是会不会进入参数。一份数据完全可以被按期删除,同时已经在某次巩固里改写过权重。

第三处是灰度与并存。同一服务下允许一部分实例处于巩固后的参数、另一部分未巩固,这在这类机制下是常态而不是例外。随之而来的硬要求是:接口能按实例返回其权重快照序号。做不到这一条,回归测试的失败就无法归因,你只知道某个用例挂了,不知道它落在哪一份参数上。

落到交付,给准备用这类能力的客户一份前置检查表,五条:回滚点是否自动保留、双侧指标是否同批出、样本清单是否可查、变更是否需要通知下游、谁对退化负责。这五条不满足就不开离线自改能力——这是我们给客户的判据,也是洹拓自己接这类需求时的立场:能力可以谈,先把这五格的空填上。至于这套做法在研究上算不算进展,本文不表态。