趋近智
当一个大型语言模型需要按顺序调整时,先针对任务A,再针对任务B,一个常见且主要的难题便会出现:灾难性遗忘。当模型优化其任务B的参数时,它经常会覆盖或损害在任务A训练期间获得的知识和能力。这是因为标准的微调过程仅根据当前任务的目标函数调整模型的权重,没有明确的机制来保持在过去任务上的表现。模型表现出很高的可塑性(学习新事物的能力),但缺乏足够的稳定性(保留旧知识的能力)。有效地管理这种权衡,对于构建能够持续学习和适应的模型来说是必要的。
让我们考察几种既有的策略来应对这种遗忘现象。
一种直观的办法是复习(也称作重放)。核心思路很简单:在对模型进行新任务B训练时,定期让它接触来自旧任务A的数据示例。通过在训练批次中混合新旧任务的数据,优化过程被促使找到在两者上都表现良好的参数配置。
复习方法通常很有效,特别是当任务相关时。然而,由于有效数据集大小增加,它们会延长训练时间,并且需要仔细管理重放缓冲区(存储/生成多少旧数据以及使用频率)。
正则化技术旨在通过在新任务训练期间向损失函数添加惩罚项来防止遗忘。这个惩罚项会阻止对先前任务而言重要的参数发生大变化。弹性权重整合 (EWC) 是一个突出的例子。
EWC 通过评估参数对先前任务性能的贡献来识别重要参数。它使用费雪信息矩阵 (FIM),F,作为这种重要性的代表。FIM 衡量损失的曲率;与高费雪信息相关的参数被认为更具决定性,因为对它们的微小改变会剧烈影响模型的输出和损失。
对于任务A之后再进行任务B的顺序训练,任务B训练的EWC损失函数如下所示:
Ltotal(θ)=LB(θ)+2λi∑FA,i(θi−θA,i∗)2符号说明:
本质上,EWC 添加了一个二次惩罚项,如果参数θi偏离其任务A的最优值(θA,i∗)越远,该惩罚项就越大,并由其重要性FA,i加权。
EWC的优势:
EWC的劣势:
另一种有效策略,特别是适用于参数高效微调 (PEFT) 技术,是参数隔离。其思路是将不同的参数集分配给不同的任务,从而防止新任务的更新干扰对旧任务而言重要的参数。
考虑使用适配器模块(在第4章中讨论)。在对任务A进行微调时,您可以训练一组特定的适配器层,同时保持基础大型语言模型冻结。当随后调整至任务B时,您可以冻结任务A的适配器,并专门为任务B训练一组新的适配器层。在这两个微调阶段中,基础模型的参数保持不变。在推理时,您根据任务激活相应的适配器集。
该图对比了标准顺序微调(其中任务B训练会覆盖任务A知识)与使用PEFT适配器进行缓解的情况。通过为每个任务训练独立的小参数集(适配器A和B),同时保持基础大型语言模型冻结,参数隔离避免了基础模型参数中的灾难性遗忘。
其他PEFT技术,如LoRA,也可以类似地使用,尽管将来自不同任务的LoRA适配器同时合并回基础模型并不直接。然而,将不同的LoRA适配器分开并按需加载可以实现所需的隔离。
参数隔离(通过PEFT)的优势:
劣势:
其他方法包括:
缓解灾难性遗忘的最佳方法在很大程度上取决于具体的应用、限制和任务:
在实践中,不仅评估当前任务的性能,还要评估一组具有代表性的先前任务的性能,这对于确认遗忘得到有效管理具有重要意义。有时,结合多种技术,例如将PEFT与少量复习结合使用,可以提供一个平衡的解决方案。理解这些缓解策略对于开发能够在动态环境中持续学习和适应,而不抛弃先前获得有价值知识的大型语言模型来说具有重要意义。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造