@RuoyuSun_UI: 很高兴明天在 #ICML2026 上分享我们关于持续学习与减少遗忘的论文!海报展示第3场:HALL A …

X AI KOLs Timeline 论文

摘要

该论文介绍了 MoFO,一种动量过滤优化器,通过仅更新具有大动量幅值的参数来缓解 LLM 微调中的遗忘问题,无需额外存储即可保留预训练知识。

很高兴明天在 #ICML2026 上分享我们关于持续学习与减少遗忘的论文! 海报展示第3场:HALL A #2010 • 2026年7月8日周三 • 上午9:30–11:15 CST 遗憾的是,我本人无法亲临 ICML;但我的学生 @SenmiaoWang 很乐意与大家交流。 遗忘是持续学习(包括 SFT)中的一个挑战。 1) 发现:距离与遗忘的相关性。 我们发现优化器可以收敛到具有相似 SFT 损失但距离预训练模型不同远近的极小值点。模型移动得越远,损失的预训练知识往往越多。 2) 算法:**MoFO**,一种用于 LLM 微调的动量过滤优化器。 在每一步,MoFO 仅更新每个模块内动量幅值最大的参数,其余参数保持不变。 这使模型偏向于更接近初始点的解,从而在保持强大任务性能的同时,保留更多预训练知识。 无需预训练数据。 无需额外的模型权重存储。 论文:https://arxiv.org/pdf/2407.20999 [TMLR, J2C 认证]
查看原文
查看缓存全文

缓存时间: 2026/07/07 05:25

很高兴在 #ICML2026 上分享我们关于持续学习与减少遗忘的论文!明天见!海报展示时段 3:HALL A #2010,2026年7月8日(周三)• 上午9:30–11:15(北京时间)。可惜我本人无法到场;但我的学生 @SenmiaoWang 会很乐意与大家交流。遗忘是持续学习面临的挑战,SFT 也不例外。

  1. 发现:距离与遗忘的相关性。我们发现优化器可以收敛到 SFT 损失相近但距离预训练模型不同距离的极小值点。模型移动越远,其遗忘的预训练知识就越多。
  2. 算法:MoFO(Momentum-Filtered Optimizer,动量过滤优化器)用于 LLM 微调。在每一步,MoFO 仅更新每个块内动量幅度最大的一部分参数,其余参数保持不变。这使模型倾向于更接近预训练的解,从而在保持强任务性能的同时保留更多预训练知识。无需预训练数据,无需额外的模型权重存储。
    论文:https://arxiv.org/pdf/2407.20999 [TMLR, J2C 认证]

MoFO:用于缓解 LLM 微调遗忘的动量过滤优化器

来源:https://arxiv.org/html/2407.20999v4

基于动量幅度的选择规则

基于遗忘与距预训练模型距离之间的相关性,我们希望设计一种优化器,鼓励微调后的模型保持更接近预训练模型。为此,我们从经典的块坐标下降法(BCD)(Tseng, 2001) 中获得启发,该方法每次迭代仅更新参数的一个子集。我们预期,与全参数更新的迭代相比,将更新限制在参数子集上——类似于 BCD 方法——会使模型整体偏离预训练模型更小,从而缓解预训练知识的遗忘。为了在 BCD 框架下加速收敛,我们采用 Gauss–Southwell 规则,即贪婪规则 (Nutini et al., 2015)。Gauss–Southwell 规则在每次迭代中选择梯度最大的参数,因为这些参数有望带来最大的即时损失下降。Nutini 等人 (2015) 还指出,使用 Gauss–Southwell 规则的 BCD(也称为贪婪 BCD)可以比传统的随机 BCD 收敛更快。然而,BCD 算法(包括贪婪 BCD)大多基于 GD 或 SGD 框架,而在 LLM 训练中,Adam 已取代 SGD 成为默认优化器 (Zhang et al., 2024c)。我们在第 4.4 节的实验表明,在 Adam 中直接遵循 Gauss–Southwell 规则(即总是更新梯度大的参数)并不能在微调任务上取得令人满意的性能。Adam 在参数更新中天然包含动量项。因此,我们提出修改 Adam 优化器,仅更新具有最大动量幅度的参数。通过专注于部分但重要的更新,我们的方法(命名为 MoFO)旨在有效微调模型,同时保持更接近预训练状态。我们将在下一小节首先介绍 MoFO。关于选择规则的进一步理论分析和实验探索将分别在第 3.2 节和第 4.4 节中给出。

2.2 MoFO 的公式化表述

算法 1 动量过滤优化器 (MoFO)

1: 输入: 过滤阈值 α,分区数 B(第 k 个分区大小为 d_k),Adam 优化器的超参数 β₁, β₂,学习率调度 {η_t}。
2: 初始化: m₀, v₀ 为零张量。
3: for 迭代 t = 1,2,… 直到 收敛 do
4: for 分区 k = 1 到 B do
5: g_t^(k) = ∇(k) ℒ_finetune(θ{t-1})
6: m_t^(k) = β₁ m_{t-1}^(k) + (1-β₁) g_t^(k)
7: v_t^(k) = β₂ v_{t-1}^(k) + (1-β₂) g_t^(k) ∘ g_t^(k)
8: \hat{m}_t^(k) = m_t^(k) / (1 - β₁^t)
9: \hat{v}_t^(k) = v_t^(k) / (1 - β₂^t)
10: for 条目索引 i = 1 到 d_k do
11: [FLT_α^(k)(m_t)]_i = 1 如果 |(m_t^(k))i| 处于 |m_t^(k)| 值的前 α 之内,否则 0
12: end for
13: θ_t^(k) = θ
{t-1}^(k) - η_t · ( \hat{m}_t^(k) ⊙ FLT_α^(k)(m_t) ) / √\hat{v}_t^(k) ▷ 动量过滤
14: end for
15: θ_t = Concat(θ_t^(1), …, θ_t^(B))
16: end for

图 2: MoFO 示意图。

我们正式引入动量过滤优化器 (MoFO),如算法 1 所示。首先,所有模型参数被划分为 B 个块。在每次迭代中,MoFO 首先按照 Adam 的标准规则计算每个块中参数的梯度和动量项,如第 5-9 行所示。然后,MoFO 选择并更新每个参数块中动量幅度最大的 α 比例的参数条目,如第 10-13 行所示,其中更新比例 α 是一个预先确定的超参数。这种动量过滤机制如图 2 所示。数学上,过滤器可表示如下。考虑一个动量向量 m = (m^(1), …, m^(B)),其中每个 m^(k) ∈ ℝ^{d_k} 对应维度为 d_k 的第 k 个参数块。前 α 过滤器,记为 FLT_α(m),定义为 FLT_α(m) = (FLT_α^(1)(m), …, FLT_α^(B)(m)),其中 FLT_α^(k)(m) 的第 i 个条目为:

[ \left[\texttt{FLT}_\alpha^{(k)}(m)\right]_i = \begin{cases} 1 & \text{如果 } |m_i^{(k)}| \text{ 在 } |m^{(k)}| \text{ 值的前 } \alpha \text{ 内}, \ 0 & \text{否则}, \end{cases} ]

其中 i = 1,2,…,d_k,k = 1,2,…,B。在我们的动量过滤优化器 (MoFO) 中,该过滤器 FLT_α 被应用于动量 m_t,选择幅度最大的条目进行更新。关于参数划分,我们注意到网络架构自然由不同模块(例如权重矩阵和偏置项)组成。在 PyTorch 实现中,不同模块的参数(及其梯度和动量)天然存储在不同的数据张量中。因此,我们采用 PyTorch 实现的默认参数划分。对于 Transformer,这意味着注意力层中的权重(如 Query (Q)、Key (K)、Value (V))以及前馈网络 (FFN) 权重等参数会按 PyTorch 的默认方案被分组到不同的分区中。这样做可以在不引入过多实现开销的情况下,选择并更新每个块中前 α 比例的参数。关于分区的进一步解释,请参见附录 C.4。在每次迭代中,MoFO 高效地选择并更新最具“影响力”的参数(由动量幅度决定),同时保持其他参数不变。我们认为过滤动量比过滤梯度更有效。在第 4.4 节中,我们将通过实验证明 MoFO 基于动量的过滤规则在其他过滤规则面前表现更优。

3 理论分析

3.1 收敛结果

本节给出 MoFO 在非凸损失函数下的收敛结果。为简化分析,我们考虑 MoFO 的全批量版本,其超参数满足以下假设。

假设 1. 损失函数 ℒ 有下界 ℒ^*。梯度 ∇ℒ 是常数为 L 的 Lipschitz 连续。

定理 1 (MoFO 的收敛性). 假设一阶和二阶动量超参数 β₁, β₂ 满足 0 < β₁ < √β₂ < 1。在步 t 的学习率调度为 η_t = η/√t,其中 η > 0。则在假设 1 下,MoFO 满足:

[ \min_{0 \le t \le T-1} \left| \nabla \mathcal{L}(\theta_t) \odot \texttt{FLT}_\alpha \big( \nabla \mathcal{L}(\theta_t) \big) \right|_1 = \mathcal{O}\left( \frac{\log T}{\sqrt{T}} \right) \quad \text{当 } T \to \infty. ]

此外,该界直接意味着:

[ \min_{0 \le t \le T-1} \left| \nabla \mathcal{L}(\theta_t) \right|_p = \mathcal{O}\left( \frac{\log T}{\sqrt{T}} \right) \quad \text{当 } T \to \infty, ]

对任意 p ∈ [1, ∞] 成立。

尽管 MoFO 通过每步只更新一小部分参数来缓解遗忘,但在 Lipschitz 光滑假设下,它能够保证收敛到微调损失函数的临界点。该结果为 MoFO 在微调任务中获得有竞争力的性能提供了理论依据。

定理 1 的证明概要: 我们的证明受 Shi 等人 (2021) 关于全批量 Adam 收敛性分析的启发,但针对 MoFO 的过滤机制引入了额外的技术。下面将在适当之处精确指出这些新增内容。令 g_t = ∇ℒ(θ_{t-1})。关键步骤是建立适当的常数 C₁, C₂ > 0,使得:

[ \frac{C_1}{\sqrt{t}} | g_t | \le \mathcal{L}(\theta_{t-1}) - \mathcal{L}(\theta_t) + \frac{C_2}{t}, \tag{1} ]

对该不等式从 t=1 到 T 求和,并利用 ∑_{t=1}^T t^{-1} = \log T + \mathcal{O}(1),得到 Adam 在梯度范数递减意义下的收敛结果:

[ \min_{1 \le t \le T} | g_t | = \mathcal{O}\left( \frac{\log T}{\sqrt{T}} \right). \tag{2} ]

范数的选择与两个子目标

在有限维空间中,所有范数等价,因此像 (1)-(2) 这样的收敛表述可以用任何固定范数表达,仅相差范数等价常数。但在实际中,具体的分析会用特定范数来实例化 (1):Shi 等人 (2021) 在全批量 Adam 分析中使用 L₁ 范数 ‖g_t‖₁,而我们全批量 MoFO 的分析将使用 L₁, top-α 范数 ‖g_t ⊙ FLT_α(g_t)‖₁,该范数将在附录 A.1 中定义。为了保持逻辑的精确性,我们将论证分为两个子目标:

步骤 I (MoFO 的关键不等式). 证明存在与 t 无关的常数 C₁, C₂ > 0,使得:

[ \frac{C_1}{\sqrt{t}} \big| g_t \odot \texttt{FLT}_\alpha(g_t) \big|1 \le \mathcal{L}(\theta{t-1}) - \mathcal{L}(\theta_t) + \frac{C_2}{t}. \tag{3} ]

这里我们回忆 FLT_α(·) 保留每个分区中幅度最大的 α 比例的坐标,并将其他坐标置零。

步骤 II ((3) 左侧的范数性质). 这是我们的新技术成分之一(Shi 等人 (2021) 中没有)。我们首先验证映射 x ↦ ‖x ⊙ FLT_α(x)‖₁ 定义了 ℝ^d 上的一个范数,称为 L₁, top-α 范数。这在命题 1 (附录 A.1) 中通过检查非负性、正定性、正齐次性和三角不等式得以证明。此外,对于定理 1 中的 L_p 上界,我们使用了 L₁, top-α 范数与 L_p 范数之间的范数等价性,如引理 2 所示。

在步骤 II 建立之后,只需证明步骤 I 中的关键不等式。直接将 Shi 等人 (2021) 的方法适配到 MoFO 因结构差异而不可行。我们按如下方式进行:

  1. (i) 回顾 Shi 等人 (2021) 的关键要素;
  2. (ii) 指出将其扩展到 MoFO 所面临的挑战;
  3. (iii) 通过仔细处理动量过滤器来解决这些挑战。

部分 (i): Shi 等人 (2021) 的关键要素. 对于具有偏差校正动量 \hat{m}_t, \hat{v}_t 和学习率调度 η_t = η/√t 的全批量 Adam,参数更新为:

[ \theta_t - \theta_{t-1} = -\frac{\eta}{\sqrt{t}} \cdot \frac{\hat{m}_t}{\sqrt{\hat{v}_t}}. ]

由损失的 L-光滑性和下降引理:

[ \frac{\eta}{\sqrt{t}} \sum_{i=1}^d g_{i,t} \frac{\hat{m}{i,t}}{\sqrt{\hat{v}{i,t}}} \le \mathcal{L}(\theta_{t-1}) - \mathcal{L}(\theta_t) + \frac{L}{2} | \theta_t - \theta_{t-1} |_2^2. \tag{4} ]

附录 A.2 中的引理 5 给出了每个坐标贡献的下界:

[ g_{i,t} \frac{\hat{m}{i,t}}{\sqrt{\hat{v}{i,t}}} \ge A |g_{i,t}| - \frac{B}{\sqrt{t}}, ]

其中常数 A, B > 0。将其代入 (4),对所有坐标求和,并控制 (4) 中的二次项,得到 L₁ 范数下的基本不等式 (1):

[ \frac{C_1}{\sqrt{t}} | g_t |1 \le \mathcal{L}(\theta{t-1}) - \mathcal{L}(\theta_t) + \frac{C_2}{t}, ]

相似文章

利用强化微调克服视觉连续学习中的灾难性遗忘

Hugging Face Daily Papers

本文提出保留感知策略优化(RaPO),通过强化微调缓解视觉连续学习中的灾难性遗忘。RaPO采用轨迹级奖励塑形和跨任务优势归一化,缩小了类增量学习和域增量学习中强化微调与监督微调之间的差距。

基于边际自校正的大规模快速遗忘

arXiv cs.LG

介绍了MASC(边际自校正),一种用于大型语言模型的高效遗忘方法,采用在线停止规则,以降低的计算成本实现有竞争力的遗忘-保持权衡,并在TOFU和MUSE基准上得到验证。

持续学习机制组合以实现长期记忆

Hugging Face Daily Papers

本文表明,结合互补的持续学习机制可以增强语言模型中的长期记忆,通过数据、功能和权重锚点以及合并的LoRA,将保留率提升28倍。