AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
论文标题:Towards Lifelong Learning of Large Language Models: A Survey 机构:华南理工大学 论文地址:https://arxiv.org/abs/2406.06391 项目地址:https://github.com/qianlima-lab/awesome-lifelong-learning-methods-for-llm
新颖分类:引入了一个详细的结构化框架,将有关终生学习的大量文献分为 12 个场景; 通用技术:确定了所有终生学习情况下的通用技术,并将现有文献分为每个场景中不同的技术组; 未来方向:强调了一些新兴技术,如模型扩展和数据选择,这些技术在前 LLM 时代探索较少。
内部知识是指通过完全或部分训练将新知识吸收到模型参数中,包括连续预训练和连续微调。 外部知识是指在不更新模型参数的情况下,将维基百科或应用程序接口等外部资源中的新知识纳入模型,包括基于检索的终生学习和基于工具的终生学习。
连续垂直领域预训练(Continual Vertical Domain Pretraining):针对特定垂直领域(如金融、医疗等)进行的连续预训练。 连续语言领域预训练(Continual Language Domain Pretraining):针对自然语言和代码语言进行的连续预训练。 连续时间领域预训练(Continual Temporal Domain Pretraining):针对时间相关数据(如时间序列数据)的连续预训练。
特定任务(Task Specific):
连续文本分类(Continual Text Classification):针对文本分类任务进行的连续微调。 连续命名实体识别(Continual Named Entity Recognition):针对命名实体识别任务进行的连续微调。 连续关系抽取(Continual Relation Extraction):针对关系抽取任务进行的连续微调。 连续机器翻译(Continual Machine Translation):针对机器翻译任务进行的连续微调。
任务无关(Task Agnostic):
连续指令微调(Continual Instruction-Tuning):通过指令微调实现模型的连续学习。 连续知识编辑(Continual Knowledge Editing):针对知识更新进行的连续学习。 连续对齐(Continual Alignment):针对模型与新任务对齐进行的连续学习。
整体性能(Overall Measurement):包括平均准确率(AA)和平均增量准确率(AIA)。AA 是指模型在学习所有任务后的平均表现,而 AIA 则考虑了每个任务学习后的历史变化。 稳定性测量(Stability Measurement):包括遗忘测量(FGT)和向后转移(BWT)。FGT 评估旧任务的平均性能下降,而 BWT 评估旧任务的平均性能变化。 适应性测量(Plasticity Measurement):包括向前转移(FWD),即模型在新任务上性能的平均提升。
含义:这种方法通过在训练新任务时重放以前任务的数据,来巩固模型对旧任务的记忆。通常,重放的数据会被存储在一个缓冲区(Buffer)中,并与当前任务的数据一起用于训练。主要包括:
–经验重放(Experience Replay):通过保存一部分旧任务的数据样本,并在训练新任务时将这些数据重新用于训练,从而减少遗忘的发生。
–生成重放(Generative Replay):不同于保存旧数据,这种方法利用生成模型来创建伪样本,从而在新任务的训练中引入旧任务的知识。
图示:图 3 中显示了从 Task t-1 到 Task t 的过程,模型在训练 Task t 时,使用了缓冲区中的旧数据(Input t-1 )。
含义:这种方法通过对模型参数施加正则化约束,来防止模型在学习新任务时对旧任务参数的过度调整。正则化约束可以帮助模型保留对旧任务的记忆。主要包括:
–权重正则化(Weight Regularization):通过对模型参数施加额外的约束,限制新任务训练时对重要权重的修改,以此保护旧任务的知识。例如,L2 正则化和弹性权重巩固(Elastic Weight Consolidation,EWC)就是常见的技术。
–特征正则化(Feature Regularization):正则化不仅可以作用于权重,还可以通过限制模型在特征空间中的表现,确保新旧任务之间的特征分布保持稳定。
图示:图 3 中显示了从 Task t-1 到 Task t 的过程,模型在训练 Task t 时,通过参数正则化来保持对 Task t-1 的性能。
含义:这种方法侧重于调整模型结构,以便无缝集成新任务,同时尽量减少对先前所学知识的干扰。主要包括图 4 中的六种方法:
–(a) 提示词微调(Prompt Tuning):通过在模型的输入前添加 “软提示词”(Soft Prompts),以引导模型的生成或分类任务。这种方法只需要调整少量的参数(即提示词),而不需要改变模型的主干结构。
–(b) 前缀微调(Prefix Tuning):在输入序列的前缀部分添加训练好的可调参数,这些参数被插入到 Transformer 层的自注意力机制中,帮助模型更好地捕捉上下文信息。
–(c) 低秩适应(LoRA,Low-Rank Adaptation):LoRA 通过在特定层次上增加低秩矩阵来适应新的任务,而不需要改变大模型的主要权重。这种方法极大地减少了参数调整的数量,同时保持了模型的性能。
–(d) 适配器(Adapters):Adapters 是插入到模型不同层之间的可训练模块,这些模块能够在不改变原有模型权重的情况下,通过少量的附加参数来适应新任务。通常应用在 FFN(Feed Forward Network)和 MHA(Multi-Head Attention)部分。
–(e) 专家混合(Mixture of Experts):通过选择性地激活某些 “专家” 模块来处理不同的输入,这些专家模块可以是模型中的特定层或者子网络。Router 模块负责决定哪个专家模块需要激活。
–(f) 模型扩展(Model Expansion):通过添加新层(New Layer)来扩展模型的容量,而保留原有的层(Old Layer)。这种方法允许模型逐渐增加其容量,以适应更加复杂的任务需求。
图示:图 3 中显示了从 Task t-1 到 Task t 的过程,模型在学习新任务时,部分参数被冻结(Frozen),而新增的模块用于训练新任务(Trainable)。
含义:这种方法通过知识蒸馏(Knowledge Distillation),将旧模型的知识传递给新模型。在训练新任务时,新模型不仅学习当前任务的数据,还要模仿旧模型对旧任务的输出,从而保持旧任务的知识。主要包括:
图示:图 3 中显示了从 Task t-1 到 Task t 的过程,模型在训练新任务时,通过模仿旧模型的预测结果来保持对旧任务的知识。
示例:CorpusBrain++ 采用骨干 - 适配器架构和经验重放策略来应对现实世界中的知识密集型语言任务。 示例:Med-PaLM 通过使用少量示例引入医学领域的指令提示调优。
示例:ELLE 采用功能保留的模型扩展策略,通过灵活扩展现有预训练语言模型的宽度和深度来提高知识获取和集成的效率。 示例:LLaMA Pro 通过扩展 Transformer 块并使用新语料库进行微调,在通用使用、编程和数学任务中表现出色。
示例:Gupta 等提出的策略,通过引入新数据集时调整学习率,防止长期训练期间学习率过低,从而提高适应新数据集的效果。
示例:RHO-1 通过选择性语言模型(SLM)训练,优先选择对训练过程有更大影响的标记。 示例:EcomGPT-CT 通过半结构化电子商务数据增强模型在领域特定任务中的表现。
示例:Yadav 等通过引入教师强制机制改进提示调优,创建一组提示引导模型在新任务上的微调。 示例:ModuleFormer 和 Lifelong-MoE 使用专家混合(MoE)方法,通过模块化和动态增加模型容量来增强 LLM 的效率和适应性。
示例:Ibrahim 等提出的再预热方法,通过在训练新数据时临时增加学习率,帮助模型更快地适应新语言。
示例:连续文本分类任务通过逐步引入新的分类类别(如 Intent: Transfer -> Intent: Credit Score -> Intent: Fun Fact)来训练模型,使其能够适应不断变化的分类需求。
示例:连续命名实体识别任务展示了如何在识别特定实体的同时,逐步引入新的实体类型(如 Athlete -> Sports Team -> Politician),使模型能够在识别新的实体时仍保持对旧实体的识别能力。
示例:连续关系抽取任务通过不断引入新的关系类型(如 Relation: Founded By -> Relation: State or Province of Birth -> Relation: Country of Headquarters),展示了模型如何逐步扩展其关系抽取能力。
示例:连续知识编辑任务通过不断更新模型的知识库,确保其能够对最新的事实进行准确的回答(如 Who is the president of the US? -> Which club does Cristiano Ronaldo currently play for? -> Where was the last Winter Olympics held?)。
示例:连续机器翻译任务通过逐步扩展模型对不同语言的翻译能力(如 English -> Chinese, English -> Spanish, English -> French),展示了模型在多语言环境中的适应能力。
示例:连续指令微调任务通过逐步引入新的指令类型(如 Summarization -> Style Transfer -> Mathematics),训练模型在多种任务类型下的表现能力。
示例:连续对齐任务通过引入新的对齐目标(如 Helpful and Harmless -> Concise and Organized -> Positive Sentiment),展示了模型在不同道德和行为标准下的连续学习能力。
介绍:随着世界信息的不断扩大和快速发展,根据历史数据训练的静态模型很快就会过时,无法理解或生成有关新发展的内容。基于检索的终生学习解决了大型语言模型从外部来源获取和吸收最新知识的关键需求,在需要时,模型通过检索这些外部资源,来补充或更新其知识库。这些外部资源提供了一个巨大的当前知识库,为增强预训练 LLM 的静态特性提供了重要的补充资产。 示例:图中的这些外部资源是模型能够访问并检索的。通过访问外部信息源,如维基百科、书籍、数据库等,模型能够更新自身的知识,并在遇到新信息时作出适应。
介绍:基于工具的终生学习源于将其功能扩展到静态知识之外并使其能够与环境动态交互的必要性。在现实世界的应用中,模型往往需要执行一些任务,这些任务涉及直接文本生成或解释之外的操作。 示例:图中模型利用这些工具来扩展和更新自身的能力,通过与外部工具的交互来实现终生学习。例如,模型可以通过应用程序编程接口获取实时数据,或通过物理工具与外部环境互动,以此来完成特定任务或获取新知识。
灾难性遗忘(Catastrophic Forgetting):这是终生学习的核心挑战之一,新信息的引入可能会覆盖模型之前学到的内容。 可塑性 - 稳定性困境(Plasticity-Stability Dilemma):在保持模型的学习能力和稳定性之间找到平衡非常关键,这直接影响模型获取新知识的能力,同时保留其广泛的通用能力。 昂贵的计算成本(Expensive Computation Cost):全量微调大语言模型的计算需求可能非常高。 模型权重或预训练数据的不可用性:由于隐私、专有限制或商业许可,原始训练数据或模型权重往往不可用于进一步的改进。
从特定任务到通用任务:研究逐渐从专注于特定任务(如文本分类、命名实体识别)转向更广泛的通用任务,如指令调优、知识编辑等。 从全量微调到部分微调:鉴于全量微调的高资源消耗,部分微调策略(如 Adapter 层、Prompt 调优、LoRA)变得越来越受欢迎。 从内部知识到外部知识:为了克服频繁的内部更新限制,越来越多的策略采用外部知识源,如检索增强生成(Retrieval-Augmented Generation)和工具学习,使模型能够动态访问和利用当前的外部数据。
多模态终生学习:将文本以外的多种模态(如图像、视频、音频、时间序列数据、知识图谱)整合到终生学习中,以开发更全面、更具适应性的模型。 高效终生学习:研究人员正致力于开发更高效的策略来管理模型训练和更新的计算需求,如模型剪枝、模型合并、模型扩展等方法。 通用终生学习:最终目标是使大语言模型能够主动获取新知识,并通过与环境的动态交互进行学习,不再仅仅依赖于静态数据集。