何时复习:用于语言模型持续预训练的间隔重复

arXiv cs.AI 论文

摘要

本文介绍了间隔重复训练(SRT),一种用于语言模型持续预训练的框架,它使用受认知科学启发的自适应复习调度来缓解灾难性遗忘。它改善了稳定性-可塑性权衡,增强了旧知识的保留同时获取新信息。

arXiv:2608.17530v1 公告类型:新 摘要:大型语言模型的持续预训练必须在不抹除旧知识的情况下获取新信息。现有的重放方法通常选择全局的新旧混合并均匀采样,忽略了示例在遗忘速度上的差异。我们将持续预训练表述为自适应复习调度:训练循环不仅应该决定重放多少历史内容,还应该决定每一步返回哪些示例。我们引入了间隔重复训练(SRT),一种受认知科学启发的持续学习框架,它使用SuperMemo-2(SM-2)算法来调度样本复习。SRT维护每个示例的复习状态,将每个示例的困惑度映射到召回质量信号,并调度历史示例以保留新示例以整合,同时保持模型、目标和优化器不变。在时间分离的Wikipedia和代码语料库上,SRT改善了稳定性-可塑性权衡,在不同模型规模下恢复了5到37个百分点的旧知识准确性损失,这些损失是由朴素的持续预训练造成的,同时保持或改进了新知识的获取。在更大规模上,SRT保持了广泛的基准性能,而朴素的持续预训练和均匀重放则显著降低。使用视觉和表格数据的实验进一步表明,当配合适当的召回信号时,调度原则可以扩展到语言之外。
查看原文
查看缓存全文

缓存时间: 2026/08/19 10:06

# 何时复习:语言模型持续预训练的间隔重复技术
来源:https://arxiv.org/html/2608.17530
Devesh Batra Yoages Kumar Mantri Greemy Bantug Greig A Cowan Raad Khraishi  
所属机构:伦敦大学学院\[0.8em\] NatWest AI Research

###### 摘要
大型语言模型的持续预训练必须在获取新信息时不抹除旧知识。现有的回放方法常采用全局新旧数据混合并均匀采样的策略,忽略了不同样本被遗忘速度的差异性。我们将持续预训练建模为自适应复习调度问题:训练循环不仅应决定回放多少历史数据,还应决定每个步骤应重现哪些样本。本文引入间隔重复训练(SRT)——一个受认知科学启发的持续学习框架,该框架使用SuperMemo-2(SM-2)算法调度样本复习。SRT维护每个样本的复习状态,将每个样本的困惑度映射为记忆质量信号,并调度历史样本进行巩固记忆、新样本进行强化记忆,同时保持模型、目标函数和优化器不变。在时间隔离的维基百科和代码语料库上,SRT改善了稳定性-可塑性平衡,在模型规模变化时恢复了朴素持续预训练丢失的5-37个百分点的旧知识准确率,同时保持或提升了新知识获取能力。在大规模实验中,SRT保持了朴素持续预训练和均匀回放显著降低的广泛基准性能。视觉和表格数据的进一步实验表明,当配合适当的记忆信号时,该调度原则可扩展到语言之外的领域。

## 1 引言
随着事实变化、软件生态系统演进和新领域语料出现,大型语言模型在预训练后常需持续更新。持续预训练比从头训练更经济,但在新数据上的更新可能抹除先前学到的知识,即灾难性遗忘。在大型语言模型中,这种遗忘还可能降低多任务推理、事实回忆等广泛能力。回放是一种有效的缓解策略,因其具有架构无关性且易于扩展到大型语言模型训练。然而,大多数回放方法在混合层面运作:它们选择包含多少历史数据,然后均匀或按固定课程采样旧样本。这忽略了记忆难度的异质性。有些样本一次复习后即保持稳定,而其他样本在新学习的干扰下迅速漂移。因此,均匀回放可能将算力浪费在已巩固的样本上,而遗漏脆弱样本。我们将持续预训练视为自适应复习调度问题。借鉴间隔重复和难度自适应记忆巩固理论,我们探讨在当前训练步骤应复习哪些样本,而不仅限于混合多少旧数据。SuperMemo-2等算法已通过逐项复习状态将此概念应用于人类记忆;我们将相同原则适配到语言模型训练。本文提出间隔重复训练(SRT)——一个用于持续预训练的即插即用调度器。每个可回放样本维护一个难度系数、复习次数、间隔和到期步骤。复习时,逐样本困惑度被转换为记忆质量分数,用于更新下一次间隔:较难样本更早返回复习,而自信巩固的样本获得更长间隔。该调度器对历史样本巩固和新样本强化对称适用,且不改变模型架构、目标函数和优化器。

#### 我们的贡献如下:
- •我们将基于回放的大型语言模型持续预训练建模为自适应复习调度,动机源于间隔重复和异质记忆难度差异。
- •我们提出SRT——一个样本级SuperMemo-2调度器,它将逐样本困惑度转换为记忆质量,并在不改变模型、损失函数或优化器的前提下调度新旧样本。
- •我们证明在时间隔离的维基百科和代码语料库上,SRT比朴素持续预训练和均匀回放更有效缓解灾难性遗忘,同时保持新知识获取能力,并保持两者基准性能下降的广泛基准表现。额外的视觉和表格数据实验表明该调度原则可泛化至语言领域之外。

## 2 相关工作
#### 灾难性遗忘。序列训练可能覆盖早期任务所需的表征。标准缓解策略包括:保护重要参数的正则化方法;架构隔离或扩展方法;以及将先前样本与新数据交织的回放方法。对于大型语言模型持续预训练,回放尤其实用,因为任务边界模糊、参数增长不可取,且梯度级正则化成本高昂。SRT仍属于回放方法范畴,但将设计问题从混合规模转向逐样本复习时机。

#### 大型语言模型的持续预训练。领域自适应预训练可提升目标领域性能,但可能使模型偏离先前能力。近期持续预训练研究关注学习率重置与衰减、数据混合、回放比例、课程安排及时序基准。其他研究表明持续更新可能降低多任务语言理解和事实回忆等已建立基准的性能。这些方法主要调整优化或混合层面回放。SRT具有互补性:给定回放预算,它决定哪些存储样本应立即复习。

#### 人类启发式回放。SuperMemo-2通过逐项状态将记忆质量映射为扩展复习间隔。近期神经网络方法通过自我合成复习、莱特纳式队列或遗忘曲线回放引入相关思想。SRT的差异在于:为单个训练样本维护SuperMemo-2状态,并直接从标准前向传播计算的逐样本困惑度推导记忆质量,无需合成流程或保留探测集。

## 3 方法
### 3.1 问题设定
设$p_{\theta}$为参数$\theta$初始化自预训练检查点的语言模型。我们考虑持续预训练场景:模型在新语料$D_{\text{new}}=\{x_j^{\text{new}}\}$上更新,同时保留访问历史语料$D_{\text{old}}=\{x_i^{\text{old}}\}$的权限,以代表更新前获得的知识。持续预训练的目标不仅是最小化$D_{\text{new}}$上的下一词元损失,而是获取新信息同时保持$D_{\text{old}}$上的性能。我们将其表达为评估风险的加权组合:$\min_{\theta'}\;\lambda\,\mathcal{R}_{\text{old}}(\theta')+(1-\lambda)\,\mathcal{R}_{\text{new}}(\theta')$, (1)其中$\mathcal{R}_{\text{old}}$和$\mathcal{R}_{\text{new}}$分别为旧数据和新数据上的评估风险,$\lambda\in[0,1]$控制稳定性-可塑性平衡。实际中,训练在有限优化步骤和词元预算下进行。在步骤$t$,大小为$B$的小批量$\mathcal{B}_t$必须在新旧样本间分配曝光:$\mathcal{B}_t=\mathcal{B}_t^{\text{old}}\cup\mathcal{B}_t^{\text{new}},\qquad\|\mathcal{B}_t^{\text{old}}\|+\|\mathcal{B}_t^{\text{new}}\|\leq B.$ (2)朴素持续预训练设$\|\mathcal{B}_t^{\text{old}}\|=0$并将整个批量用于$D_{\text{new}}$。回放方法则为每个批量分配部分比例给$D_{\text{old}}$中抽取的样本。因此核心设计问题不仅是分配多少批量给旧数据,还在于给定记忆难度在语料间存在差异,在步骤$t$应从每个池中抽取哪些具体样本。

### 3.2 间隔重复训练
SRT通过维护复习状态并使用SuperMemo-2算法调度来解决此问题。每个样本$x_i\in D_{\text{old}}\cup D_{\text{new}}$关联一个复习状态$s_i(t)=\bigl(E_i(t),n_i(t),I_i(t),d_i(t)\bigr)$, (3)其中$E_i$为控制间隔增长的难度系数,$n_i$为连续成功复习次数,$I_i$为当前复习间隔(以训练步计),$d_i$为下次到期步骤。遵循标准SuperMemo-2初始化,设$E_i=2.5$,$n_i=0$,$I_i=1$,初始到期时间在前几个训练步均匀错开以避免同时复习所有项目。状态对$D_{\text{old}}$和$D_{\text{new}}$中的样本对称维护,因此SRT对历史样本(决定回放时机)和传入样本(决定巩固时机)应用相同调度逻辑。

#### 到期集采样。在训练步$t$,定义$D_{\text{old}}$和$D_{\text{new}}$中下次复习已到期的样本集:$\mathcal{M}_t^{\text{old}}=\{x_i\in D_{\text{old}}:d_i\leq t\},$ (4)$\mathcal{M}_t^{\text{new}}=\{x_j\in D_{\text{new}}:d_j\leq t\}.$ (5)步骤$t$的训练批量为$\lfloor\rho B\rfloor$个位置分配给从$\mathcal{M}_t^{\text{old}}$采样的到期旧样本,剩余位置分配给从$\mathcal{M}_t^{\text{new}}$采样的到期新样本,其中$\rho\in[0,1]$为目标旧曝光比例。因此新旧样本均被调度器选择,而不仅限于从$D_{\text{old}}$抽取的部分。若任一到期集在步骤$t$为空,未用预算将释放给另一数据流,确保调度从不阻碍训练进程。

#### 基于困惑度的记忆质量。当选定样本$x_i=(x_{i,1},\ldots,x_{i,T_i})$被复习时,计算其在当前模型下的词元平均负对数似然:$L_i(t)=-\frac{1}{T_i}\sum_{k=1}^{T_i}\log p_{\theta_t}(x_{i,k}\mid x_{i,<k})$ (6)归一化为困惑度:$\mathrm{PPL}_i(t)=\exp\bigl(L_i(t)\bigr).$ (7)记忆质量分数$q_i(t)\in[0,1]$由Sigmoid映射计算:$q_i(t)=\sigma\bigl(\kappa\,(\mu-\mathrm{PPL}_i(t))\bigr),$ (8)其中$\kappa$控制灵敏度,$\mu$为中点阈值。此分数替代人类在SuperMemo-2中的主观评分。

#### 调度更新。回忆后,对样本$i$,$q_i$驱动更新。定义阈值$\tau_{\text{fail}}<\tau_{\text{pass}}$。若$q_i<\tau_{\text{fail}}$:失败:$n_i\leftarrow0$,$I_i\leftarrow1$;若$\tau_{\text{fail}}\leq q_i<\tau_{\text{pass}}$:困难:$n_i\leftarrow0$,$I_i\leftarrow1$;若$q_i\geq\tau_{\text{pass}}$:成功:$n_i\leftarrow n_i+1$,$I_i$按以下更新:$I_i\leftarrow\begin{cases}1,&n_i=1,\\6,&n_i=2,\\ \lceil I_iE_i\rceil,&n_i>2.\end{cases}$ (9)下次复习通过设$d_i\leftarrow t+I_i$调度。模型参数$\theta$使用标准下一词元交叉熵损失在$\mathcal{B}_t$上更新,与底层语言建模目标相同。因此SRT不引入额外损失项、架构变更或$ p_{\theta}$中已存在参数之外的学习参数。完整流程总结于算法1。

**算法1** SRT训练步  
**输入**:语料库$D_{\text{old}}, D_{\text{new}}$,旧曝光上限$\rho$,批量大小$B$,步骤$t$  
1. $\mathcal{M}_t^{\text{old}}\leftarrow\{x_i\in D_{\text{old}}:d_i\leq t\}$ ▷到期旧样本  
2. $\mathcal{M}_t^{\text{new}}\leftarrow\{x_j\in D_{\text{new}}:d_j\leq t\}$ ▷到期新样本  
3. $b^{\text{old}}\leftarrow\min\bigl(|\mathcal{M}_t^{\text{old}}|,\,\lfloor\rho B\rfloor\bigr)$  
4. 采样$\mathcal{B}_t^{\text{old}}\subseteq\mathcal{M}_t^{\text{old}}$,使$|\mathcal{B}_t^{\text{old}}|=b^{\text{old}}$  
5. 采样$\mathcal{B}_t^{\text{new}}\subseteq\mathcal{M}_t^{\text{new}}$以填满剩余位置  
6. $\mathcal{B}_t\leftarrow\mathcal{B}_t^{\text{old}}\cup\mathcal{B}_t^{\text{new}}$  
7. **for** $x_i\in\mathcal{B}_t$ **do** ▷在$\theta_t$更新前评分  
8.     计算$\mathrm{PPL}_i(t)$(式6)和$q_i(t)$(式7)  
9. **end for**  
10. 使用下一词元损失在$\mathcal{B}_t$上更新$\theta$ ▷$\theta_t\rightarrow\theta_{t+1}$  
11. **for** $x_i\in\mathcal{B}_t$ **do** ▷仅更新复习状态  
12.     通过式9–10更新$E_i, n_i, I_i$  
13.     设$d_i\leftarrow t+I_i$  
14. **end for**

## 4 实验设置
### 4.1 语料库
我们在两个知识随时间可衡量演化的领域构建时序语料库:百科文本和源代码。两个领域均划分为代表时间截止点前可用信息的*旧*语料$D_{\text{old}}$,和代表截止点后信息的*新*语料$D_{\text{new}}$,以便评估能区分保留知识与获取知识。

#### 维基百科。对于百科文本,我们通过规范化文章标题对齐带时间戳的英语维基百科快照,生成同一实体在不同时间点的对齐新旧对。该构型遵循评估语言模型在保留先验知识同时获取更新信息能力的时序知识基准。

相似文章

自巩固语言模型:从上下文中持续整合知识

arXiv cs.CL

本文介绍了自巩固语言模型(SCoL),这是一种利用元强化学习将当前上下文写入模型权重以实现持续知识整合的框架。实验表明,在问答任务和长上下文巩固任务中,该方法在知识获取和保留方面均优于基线方法。

语言模型需要睡眠:学习自我修改与巩固记忆

Hugging Face Daily Papers

本文提出了一种针对大型语言模型的“睡眠”范式,该范式通过记忆巩固和梦境阶段实现持续学习,使模型能够将短期知识提炼为长期参数,并在无需人工监督的情况下自我改进。

大语言模型顺序后训练中的表征坍塌

arXiv cs.LG

本文研究了大型语言模型在顺序后训练中的表征坍塌现象,表明重复的适应阶段会压缩内部表征,降低可塑性和域外泛化能力。作者提出了轻量级干预措施,在不牺牲行为增益的前提下保留未来的可学习性。