我们翻译整理最新论文:大语言模型自我进化技术综述,文末有论文连接。
大型语言模型(LLMs)在各个领域和智能体应用中取得了显著进展。然而,当前从人类或外部模型监督中学习的LLMs成本高昂,并且随着任务复杂性和多样性的增加,可能会面临性能上限。
为了解决这个问题,自进化方法使LLM能够自主地获取、完善和从模型自身生成的经验中学习,这种方法正在迅速发展。
这种受人类经验学习过程启发的新训练范式,为将LLM扩展到超级智能提供了潜力。在本研究中,我们全面调查了LLM中的自进化方法。我们首先提出了一个自进化的概念框架,并概述了由四个阶段组成的迭代循环:经验获取、经验完善、更新和评估。其次,我们对LLM和基于LLM的智能体的进化目标进行了分类;然后,我们总结了文献并为每个模块提供了分类法和见解。最后,我们指出了现有的挑战,并提出了改进自进化框架的未来方向,为研究人员提供了关键见解,以加快自进化LLM的发展。
张长旺, 旺知识
1 引言
随着人工智能的快速发展,像 GPT-3.5 (Ouyang et al., 2022)、GPT-4 (Achiam et al., 2023)、Gemini (Team et al., 2023)、LLaMA (Touvron et al., 2023a,b) 和 Qwen (Bai et al., 2023) 这样的大型语言模型(LLMs)标志着语言理解和生成的重大转变。
这些模型经历了三个发展阶段,如图 1 所示:在大型和多样化的语料库上进行预训练,以获得对语言和世界知识的一般理解(Devlin et al., 2018; Brown et al., 2020),然后通过监督式微调来激发下游任务的能力(Raffel et al., 2020; Chung et al., 2022)。最后,人类偏好对齐训练使 LLM 能够像人类行为一样做出响应(Ouyang et al., 2022)。这样的连续训练范式取得了重大突破,使 LLM 能够执行广泛的任务,并展现出显著的零样本和上下文能力,如问答(Tan et al., 2023)、数学推理(Collins et al., 2023)、代码生成(Liu et al., 2024b)以及需要与环境互动的任务解决(Liu et al., 2023b)。
尽管取得了这些进展,人类期望新一代的 LLM 能够承担更复杂的任务,如科学发现(Miret and Krishnan, 2024)和未来事件预测(Schoenegger et al., 2024)。然而,由于建模、注释和与现有训练范式相关的评估的固有困难,当前的 LLM 在这些复杂任务中面临挑战(Burns et al., 2023)。此外,最近开发的 Llama-3 模型已经在包含 15 万亿个标记的广泛语料库上进行了训练。这是一个巨大的数据量,表明通过添加更多现实世界数据来显著提高模型性能可能会受到限制。
这引起了对 LLM 自我演化机制的兴趣,类似于人类智能的自然演化,并由 AI 在游戏领域的发展所证明,如从 AlphaGo (Silver et al., 2016) 到 AlphaZero (Silver et al., 2017) 的转变。AlphaZero 的自我对弈方法不需要标记数据,展示了 LLM 超越当前限制并实现超人性能的道路,而无需密集的人类监督。受到上述范式的启发,对 LLM 自我演化的研究在模型发展的不同阶段迅速增加,如自我指导(Wang et al., 2023b)、自我对弈(Tu et al., 2024)、自我改进(Huang et al., 2022)和自我训练(Gulcehre et al., 2023)。值得注意的是,DeepMind 的 AMIE 系统(Tu et al., 2024)在诊断准确性方面超过了初级保健医生,微软的 WizardLM-2 2 超过了 GPT-4 的初始版本。这两个模型都是使用具有自主学习能力的自我演化框架开发的,代表了潜在的 LLM 训练范式转变。然而,这些方法之间的关系仍然不清楚,缺乏系统的组织和分析。
因此,我们首先全面调查了 LLM 中的自我演化过程,并建立了它们发展的一个概念框架。这种自我演化的特点是一个涉及经验获取、经验完善、更新和评估的迭代循环,如图 2 所示。在这个循环中,LLM 最初通过演变新任务和生成相应的解决方案来获得经验,然后完善这些经验以获得更好的监督信号。在上下文中或根据上下文更新模型后,评估 LLM 以衡量进展并设定新目标。LLM 中自我演化的概念在各个研究社区引起了相当大的兴奋,预示着一个能够适应、学习和自主改进的模型新时代的到来,类似于人类对环境变化和挑战的进化。自我演化的 LLM 不仅能够超越当前静态、数据绑定模型的限制,而且标志着向更动态、稳健和智能系统的转变。本调查通过提供结构化的概念框架,加深了对自演化 LLM 新兴领域的理解。我们追溯了该领域从过去到现在最尖端的方法和应用的演变,同时审视了现有的挑战并概述了未来的研究方向,为开发自我演化框架和下一代模型铺平了道路。
本调查的组织如下:我们首先介绍自我演化的概述(§ 2),包括背景和概念框架。我们总结了现有演化能力和当前方法的领域(§ 3)。然后,我们对自我演化过程的不同阶段的最新进展进行深入分析和讨论,包括经验获取(§ 4)、经验完善(§ 5)、更新(§ 6)和评估(§ 7)。最后,我们概述了开放问题和未来的研究方向(§ 8)。
2
概述
在本节中,我们将首先讨论自进化的背景,然后介绍所提出的概念框架。
2.1 背景
人工智能中的自进化。人工智能代表了智能体的一种高级形式,配备了模仿人类认知能力和行为的认知能力。AI开发者的愿望是使AI能够利用自进化能力,与人类发展的经验学习过程并行。自进化的概念源于机器学习和进化算法(Bäck和Schwefel,1993)的更广泛领域。最初受到自然进化原则的影响,如选择、变异和繁殖,研究人员开发了模拟这些过程以优化复杂问题解决方案的算法。Holland(1992)的开创性论文介绍了遗传算法,标志着AI自进化能力的基石。神经网络和深度学习的后续发展进一步增强了这一能力,允许AI系统在没有人类干预的情况下修改自己的架构并提高性能(Liu等人,2021)。
人工智能实体能否自我进化?
从哲学上讲,人工智能实体是否能够自我进化的问题触及了自主性、意识和代理权的问题。虽然一些哲学家认为,真正的AI自我进化需要某种形式的意识或自我意识,但其他人认为,通过算法进行的机械自我改进并不构成真正的进化(Chalmers,1997)。这场辩论经常引用像Dennett(1993)这样的思想家的作品,他们探索了人类意识下的认知过程,并将其与人工系统进行了对比。最终,对AI自我进化能力的哲学探究与对“进化”意味着什么的解释紧密相连,以及这些过程是否可以纯粹是算法的,或者必须涉及突现意识(Searle,1986)。
2.2 概念框架
在自进化的概念框架中,我们描述了一个动态的、迭代的过程,反映了人类获取和完善技能和知识的能力。该框架在图2中进行了封装,强调了学习和改进的循环性质。每个迭代过程都专注于特定的进化目标,允许模型参与相关任务,优化其经验,更新其架构,并评估其进展,然后进入下一个循环。
经验获取
在第t次迭代中,模型确定了进化目标Et。在该目标的指导下,模型开始执行新任务Tt,生成解决方案Yt,并从环境ENV接收反馈Ft。这个阶段以获取新经验(Tt,Yt,Ft)结束。
经验完善
在经验获取之后,模型检查并完善这些经验。这涉及丢弃错误数据并增强不完美的数据,从而产生完善的结果(˜Tt,˜Yt)。
更新
利用完善的经验,模型进行更新过程,将(˜Tt,˜Yt)整合到其框架中。这确保了模型保持最新和优化。
评估
循环以评估阶段结束,在此阶段,通过在外部环境中进行评估来评估模型的性能。这个阶段的结果通知目标Et+1,为自进化的后续迭代设定了舞台。
概念框架概述了LLM的自进化,类似于人类获取、完善和自主学习过程。我们在图3中说明了我们的分类法。
3 进化目标
自进化LLM中的进化目标作为预定义目标,自主指导它们的发展和完善。就像人类根据需求和愿望设定个人目标一样,这些目标至关重要,因为它们决定了模型如何迭代自我更新。它们使LLM能够自主地从新数据中学习,优化算法,并适应变化的环境,有效地从反馈或自我评估中“感受”其需求,并设定自己的目标以增强功能,无需人类干预。我们定义进化目标为结合了进化能力和进化方向。进化能力代表一种固有的详细技能。进化方向是进化目标的方面,旨在改进。我们如下公式化进化目标:
Et = (At, Dt)
其中Et是进化目标,由进化能力At和进化方向Dt组成。以“推理准确性提高”为例,“推理”是进化能力,“准确性提高”是进化方向。
3.1 进化能力
在表1中,我们将当前自进化研究中针对的进化能力总结并归类为两组:LLMs和基于LLM的智能体。
3.1.1 LLMs
这些是支持广泛下游任务的基本能力。指令遵循:遵循指令的能力对于有效地应用语言模型至关重要。它允许这些模型在不同的任务和领域中满足特定用户需求,使其响应在给定上下文中保持一致(Xu等人,2023a)。
推理:
LLMs可以自我进化,以识别统计模式,根据信息进行逻辑联系和推论。它们进化到更好地进行推理,涉及按逻辑顺序系统地剖析问题(Cui和Wang,2023)。
数学:
LLMs增强了解决数学问题的能力,涵盖算术、数学文字、几何和自动定理证明(Ahn等人,2024),以实现自我进化。
编码:
方法
(Singh等人,2023;
Zelikman等人,2023)
改进了LLM编码能力,以生成更精确和健壮的程序。此外,EvoCodeBench(Li等人,2024a)提供了一个定期更新的进化基准,以防止数据泄露。
角色扮演:
它涉及智能体理解并在给定上下文中扮演特定角色。这在模型必须适应社会结构或遵循与特定身份或功能相关联的一组行为的场景中至关重要(Lu等人,2024a)。
其他:
除了上述基本进化目标,自进化还可以实现广泛的NLP任务(Stammer等人,2023;Koa等人,2024;Gulcehre等人,2023;Zhang等人,2024b,c)。
3.1.2 基于LLM的智能体
这里讨论的能力是用于数字或物理世界中的任务解决或模拟的高级人工智能体的特征。这些能力反映了人类认知功能,允许这些智能体执行复杂任务,并在动态环境中有效互动。
规划:
它涉及策略制定和为未来行动或目标做准备的能力。具有此技能的智能体可以分析当前状态,预测潜在行动的结果,并创建一系列步骤以实现特定目标(Qiao等人,2024)。
工具使用:
这是使用环境中的对象或工具执行任务、操纵周围环境或解决问题的能力(Zhu等人,2024)。
体现控制:
它指的是智能体在环境中管理和协调其物理形态的能力。这包括运动、灵巧和操纵对象(Bousmalis等人,2023)。
通信:
它是传递信息和理解其他智能体或人类消息的技能。具有高级通信能力的智能体可以参与对话,与他人合作,并根据接收到的通信调整其行为(Ulmer等人,2024)。
3.2 进化方向
进化方向的例子包括但不限于:提高性能:目标是不断提高模型在各种语言和能力上的理解和生成能力。例如,最初训练用于问答和闲聊的模型可以自主扩展其熟练程度,并发展出如诊断对话(Tu等人,2024)、社交技能(Wang等人,2024e)和角色扮演(Lu等人,2024a)等能力。适应反馈:这涉及根据反馈改进模型响应,以更好地符合偏好或适应环境(Yang等人,2023a;Sun等人,2024)。知识库的扩展:目标是不断用最新信息和趋势更新模型的知识库。例如,模型可能会自动将新的科学研究融入其响应中(Wu等人,2024)。安全、伦理和减少偏见:目标是识别并减轻模型响应中的偏见,确保公平和安全。一种有效的策略是纳入指导方针,如宪法或特定规则,以识别不适当或有偏见的响应,并通过模型更新进行纠正(Bai等人,2022;Lu等人,2024b)。
4 经验获取
探索和利用(Gupta等人,2006)是人类和LLM学习的基本策略。其中,探索涉及寻求新经验以实现目标,类似于LLM自进化的初始阶段,称为经验获取。这一过程对自进化至关重要,使模型能够自主应对核心挑战,如适应新任务、克服知识限制和增强解决方案的有效性。此外,经验是一个整体构建,不仅包括遇到的(Dewey,1938)任务,还包括为解决这些任务而开发的解决方案(Schön,2017),以及因任务表现而收到的反馈(Boud等人,2013)。受此启发,我们将经验获取划分为三个部分:任务演化、解决方案演化和获取反馈。在任务演化中,LLM根据当前迭代的进化目标Et策划和演化新任务。任务演化是启动整个进化过程的关键步骤。形式上,我们将任务演化表示为:
Tt = fT (Et, Mt)
其中fT是任务演化函数。Et、Mt和Tt分别表示进化目标、模型和第t次迭代中演化的任务。我们将现有研究中关于任务演化方法fT的总结和分类为三组:基于知识的、无需知识的和选择性的。
4.1 任务演化
为了获得新经验,模型首先根据当前迭代的进化目标Et演化新任务。任务演化是启动整个进化过程的关键引擎步骤。形式上,我们表示任务演化为:
Tt = fT (Et, Mt)
其中fT是任务演化函数。Et、Mt和Tt分别表示进化目标、模型和迭代t时演化的任务。我们将现有研究中关于任务演化方法fT的总结和分类为三组:基于知识的、无需知识的和选择性的。
基于知识的
目标Et可能与外部知识相关联,以演化新任务,其中知识不是当前LLMs固有的。明确地从知识中获取可以丰富任务与进化目标之间的相关性,并确保任务中相关事实的有效性。我们深入探讨基于知识的方法,寻求通过外部信息辅助的进化目标帮助下演化新任务。
第一种类型是结构化的知识。结构化知识信息密集且组织良好。Self-Align(Sun等人,2024)策划了涵盖20个科学主题(如科学和法律专业知识)的主题引导任务。除了主题知识,DITTO(Lu等人,2024a)包括来自Wikidata和Wikipedia的角色知识。知识包括属性、个人资料和角色对话的简洁角色细节。SOLID(Askari等人,2024)生成结构化的实体知识作为对话的起点。第二组由非结构化上下文演化的任务组成。非结构化上下文容易获得,但知识稀疏。UltraChat(Ding等人,2023)收集了基于30个元概念构建的20种文本材料的非结构化知识。SciGLM(Zhang等人,2024b)从涵盖丰富科学知识的多样化科学主题的文本中提取问题,这些文本涵盖了丰富的科学知识。EvIT(Tao等人,2024a)基于从无监督语料库中挖掘的大规模非结构化事件,派生出基于事件的推理任务。同样,MEEL(Tao等人,2024b)演化了用于多模态事件推理的图像和文本中的多模态事件任务。
无需知识的
与之前需要大量人力收集外部知识的方法不同,无需知识的方法独立于演化目标Et和模型本身进行操作。这些高效的方法可以生成更多样化的任务,而无需额外的知识限制。首先,LLMs可以提示自己根据Et生成新任务。Self-Instruct(Wang等人,2023b;Honovich等人,2022;Roziere等人,2023)是根据演化目标自生成各种新任务指令的典型方法。Ada-Instruct(Cui和Wang,2023)进一步提出了一种自适应任务指令生成策略,对开源LLMs进行微调,以生成用于代码完成和数学推理的长篇和复杂任务指令。其次,扩展和增强原始任务可以提高指令的质量。WizardLM(Xu等人,2023a)提出了Evol-Instruct,它通过深度和广度演化演变指令跟随任务,并在代码生成中进一步扩展(Luo等人,2024)。MetaMath(Yu等人,2024b)以多种方式重写问题,包括改写、自我验证和FOBAR。它为微调LLMs以改进数学问题解决而演化了一个新的MetaMathQA数据集。Promptbreeder(Fernando等人,2023)通过变异提示演化种子任务。它通过超变异提示进一步演化变异提示,以增加任务多样性。第三,从纯文本中派生任务是另一种方式。Backtranslation(Li等人,2023b)从未标记数据中提取自包含的段落,并将其视为任务的答案。同样,Kun(Zheng等人,2024b)提出了一种任务自演化算法,利用从未标记数据中获取的指令进行反向翻译。
选择性的
与任务生成不同,我们可能从一开始就拥有大规模的现有任务。在每次迭代中,LLMs可以选择与当前演化目标Et最相关的任务,而无需额外生成。这种方法消除了新任务的复杂策划,简化了进化过程(Zhou等人,2024;Li等人,2023a;Chen等人,2023a)。一个简单的任务选择方法是像REST(Gulcehre等人,2023)、RESTem(Singh等人,2023)和GRATH(Chen和Li,2024)那样,从任务池中随机抽样任务。与随机选择相比,DIVERSE-EVOL(Wu等人,2023)引入了一种数据抽样技术,模型根据它们在嵌入空间中的独特性选择新的数据点,确保所选子集中多样性的增强。SOFT(Wang等人,2024c)然后将初始训练集分割。每次迭代选择分割集的一个块作为演化任务。Li等人(2024b)提出了选择性反思调整,并选择一组任务,通过一种新指标来计算答案与问题的相关程度。V-STaR(Hosseini等人,2024)选择了上一次迭代中正确的解决方案,并将它们的任务指令添加到下一次迭代的任务集中。
4.2 解决方案演化
在获得演化任务后,LLM解决这些任务以获得相应的解决方案。最常见的策略是根据任务制定直接生成解决方案(Zelikman等人,2022;Gulcehre等人,2023;Singh等人,2023;Zheng等人,2024b;Yuan等人,2024)。然而,这种直接方法可能会得到与演化目标无关的解决方案,导致次优的演化。因此,解决方案演化使用不同的策略来解决任务,并通过确保解决方案不仅仅是生成的,而且是相关的和信息丰富的,从而增强LLM的能力。在本节中,我们全面调查了这些策略,并在图5中说明了它们。我们首先将解决方案演化表述如下:
Yt = fY(Tt, Et, Mt)
其中fY是模型实现演化目标的策略。然后,我们根据解决方案的正确性将这些方法分类为积极和消极的。积极的方法引入了各种方法来获得正确和理想的解决方案。相反,消极的方法引起并收集不理想的解决方案,包括不忠实或与模型行为不一致的解决方案,然后用于偏好对齐。我们在以下部分详细说明每种类型的详细信息。
4.2.1 积极的
当前研究探索了超越香草推断的多种方法,以获得与演化目标一致的正确解决方案。我们将任务解决过程分为四种类型:基于理由的、交互式的、自我对弈的和基于基础的。
基于理由的
模型在解决任务时结合了对演化目标的解释,并且可以利用这些理由进行自我演化。这些方法使模型能够明确承认演化目标并朝着该方向完成任务(Wei等人,2022;Yao等人,2024;Besta等人,2024;Yao等人,2022)。
Huang等人(2022)提出了一种方法,LLM使用针对未标记问题生成的“高置信度”理由增强答案进行自我演化。同样,STaR(Zelikman等人,2022)在解决问题时生成理由。如果答案是错误的,它会进一步纠正理由和答案。然后,它使用答案和理由作为经验来微调模型。同样,LSX(Stammer等人,2023)提出了一种新的范式,生成答案的解释,通过学习者模块执行基础任务和批评者模块评估学习者给出的解释质量之间的迭代循环。Song等人(2024);Yang等人(2024c)在解决问题时获得ReAct(Yao等人,2022)风格的理据。这些理由进一步参与训练下一步的代理。
交互式的
模型可以与环境互动,以增强演化过程。这些方法可以获得对指导自我演化方向有价值的环境反馈。SelfEvolve和LDB(Jiang等人,2023;Zhong等人,2024a)通过自我演化改进代码生成能力。它们允许模型生成代码,并通过在解释器上运行代码来获取反馈。作为另一个环境,Song等人(2024);Yang等人(2024c)在体现场景中互动并获取反馈。他们根据当前状态学习采取适当的行动。对于代理能力,AutoAct(Qiao等人,2024)引入了从头开始的自我规划,专注于内在的自我学习过程。在这个过程中,代理通过递归规划迭代与环境反馈来增强他们的能力。在AutoAct之后,(Zhu等人,2024)通过整合自我演化和外部动作知识库进一步增强了代理训练。这种方法指导动作生成,并通过环境驱动的纠正反馈循环提升规划能力。
自我对弈的
这是一种模型通过与自己的副本对抗来学习演化的情况。自我对弈是一种强大的演化方法,因为它使系统能够在封闭循环中与自己通信以获得反馈。它特别适用于模型可以模拟角色的多个方面的环境,如多人游戏(Silver等人,2016,2017)。与交互式方法相比,自我对弈是在没有环境的情况下获得反馈的有效策略。
Taubenfeld等人(2024)研究了LLM模拟辩论的系统偏差。与辩论相反,Ulmer等人(2024)让LLM按照生成的原则进行对话。另一种通过角色扮演的对话。Lu等人(2024a)提出了自我模拟的角色扮演对话。该过程涉及使用角色资料指导LLM,并将其响应与角色的知识和风格保持一致。同样,Askari等人(2024)提出了SOLID,用于生成大规模意图感知的角色扮演对话。这种自我对弈的方面利用了LLM的广泛知识,构建了信息丰富的交流,简化了对话生成过程。Wang等人(2024e)介绍了一种新方法,其中每个LLM遵循一个角色并相互通信以实现他们的目标。
基于基础的
为了达到演化目标并减少探索空间,模型可以在解决任务时基于现有规则(Sun等人,2024)和以往经验获得更明确的指导。通过基于预定义的规则和原则,LLMs可以更有效地生成理想的解决方案。例如,Self-Align(Sun等人,2024)使用原则驱动的约束生成自我演化的问题,以指导任务解决过程。SALMON(Sun等人,2023)设计了一组模型在解决问题时需要遵循的组合原则。SelfTalk(Ulmer等人,2024)确保LLM基于预设的代理角色生成与工作流程一致的对话。他们根据GPT-4提前生成工作流程。除了先前的解决方案历史,基于以往经验的推理也可以改善解决方案。Memory Bank(Zhong等人,2024b)和TiM(Liu等人,2023a)通过结合以前的问题-答案记录来回答当前问题。与以前解决方案的历史不同,MoT(Li和Qiu,2023)、IML(Wang等人,2024a)和TRAN(Yang等人,2023b)结合了从历史中归纳出的规则来回答新问题。MemGPT(Packer等人,2023)结合了这些优点,检索了以前的问题、解决方案、归纳出的事件和用户画像知识。
4.2.2 消极的
除了获得积极的解决方案外,最近的研究还表明,LLM可以从消极的解决方案中受益,以实现自我改进(Yang等人,2023b)。这种策略类似于人类在学习技能时的试错行为。本节总结了获得消极解决方案的典型方法,以帮助自我演化。
对比的
获得多个任务解决方案的广泛使用的方法之一,然后对比正面和负面解决方案以获得改进。Self-Reward、SPIN(Yuan等人,2024;Chen等人,2024)通过比较高分和低分的答案来更新模型。同样,GRATH(Chen和Li,2024)生成了正确和不正确的答案。然后,它通过比较这两个答案来训练模型。SelfContrast(Zhang等人,2024c)对比差异并将这些差异总结成清单,可以用来重新检查和消除差异。在ETO(Song等人,2024)中,模型与体现环境互动以完成任务,并从失败解决方案中优化。A3T(Yang等人,2024c)通过在每个动作后添加理由来改进ETO,以解决问题。STE(Wang等人,2024b)实现了试错,其中模型使用不熟悉的工具解决问题。它通过分析失败的尝试来改进未来任务的问题解决策略。最近,COTERRORSET(Tong等人,2024)从PALM-2生成了不正确的解决方案,并提出了错误调整,要求模型避免犯错误。
扰动的
与对比方法相比,扰动方法寻求有意地添加扰动以获得负面解决方案。模型后来可以学会避免生成这些负面答案。添加扰动以获得负面解决方案比对比方法更可控。
一些方法通过添加扰动来生成有害解决方案(Yang等人,2023a;Liu等人,2024a)。给定一个任务,RLCD(Yang等人,2023a)策划了正面和负面的指令,并生成了正面和负面的解决方案。DLMA(Liu等人,2024a)收集了正面和负面的指令性提示,然后产生了相应的正面和负面解决方案。与其添加有害扰动,不如结合负面上下文。Ditto(Lu等人,2024a)添加了负面角色角色来生成不正确的对话。然后,模型从负面对话中学习,以演化角色对话能力。
4.3 反馈
正如人类学习技能时反馈的重要作用一样,反馈在展示解决方案的正确性方面起着关键作用。这些关键信息使人类能够反思,然后更新他们的技能。类似于这个过程,LLM应该在自我演化的循环中,在任务解决方案期间或之后获得反馈。我们将过程形式化为:
Ft = fF(Tt, Yt, Et, Mt, ENV)
其中fF是获取反馈的方法。在这部分,我们总结了两种类型的反馈。模型反馈是指由LLM本身收集的批评或评分。此外,环境表示直接从外部环境接收的反馈。我们在图6中说明了这些概念。
4.3.1 模型
当前研究表明,LLM可以很好地作为评论家(Zheng等人,2024a)。在自我演化的循环中,模型自己判断自己以获得解决方案的反馈。一种类型的反馈是表示正确性的分数。Self-Reward(Yuan等人,2024)、LSX(Stammer等人,2023)和DLMA(Liu等人,2024a)通过LLM-as-a-Judge提示对自己的解决方案进行评分并输出分数。类似于,
SIRLC (Pang et al., 2023) 使用 LLM 的自我评估结果作为进一步强化学习的奖励。与监督学习和强化学习方法不同,SelfRefine (Madaan et al., 2023) 允许模型以少量样本的方式生成对其自身输出的自然语言反馈。
4.3.2 环境
另一种形式的反馈来自环境,这在解决方案可以直接评估的任务中很常见。这种反馈精确而详细,可以为模型更新提供足够的信息。它们可能来自代码解释器(Jiang et al., 2023; Chen et al., 2023c; Shinn et al., 2024)、工具执行(Qiao et al., 2024; Gou et al., 2023)、体现环境(Bousmalis et al., 2023; Xu et al., 2024b; Zhou et al., 2023b)以及其他 LLM 或智能体(Wang et al., 2024e; Taubenfeld et al., 2024; Ulmer et al., 2024)。对于代码生成,Self-Debugging (Chen et al., 2023c) 利用测试用例上的执行结果作为反馈的一部分,而 SelfEvolve (Jiang et al., 2023) 从解释器接收错误消息。同样,Reflexion (Shinn et al., 2023) 也从代码解释器获得运行时反馈。然后进一步反思以生成思想。这种运行时反馈包含追溯信息,可以指出改进代码生成的关键信息。最近,方法赋予 LLM 和智能体使用工具的能力。执行工具导致反馈返回(Gou et al., 2023; Qiao et al., 2024; Song et al., 2024; Yang et al., 2024c; Wang et al., 2024b)。RoboCat (Bousmalis et al., 2023) 和 SinViG (Xu et al., 2024b) 在机器人体现环境中行动。这种类型的反馈精确而有力,可以指导自我演化。通信反馈在基于 LLM 的多智能体系统中很常见且有效。智能体可以相互纠正和支持,实现共同评估(Wang et al., 2024e; Taubenfeld et al., 2024; Ulmer et al., 2024)。
5 经验完善
在经验获取和自我演化中的更新之前,LLM 可以通过经验完善提高其输出的质量和可靠性。它帮助 LLM 适应新信息和上下文,而不依赖外部资源,从而在动态环境中提供更可靠和有效的帮助。这个过程表述如下:
˜Tt, ˜Yt = fR(Tt, Yt, Ft, Et, Mt)
其中 fR 是经验完善的方法,˜Tt, ˜Yt 是完善的任务和解决方案。我们将方法分为两类:过滤和纠正。
5.1 过滤
自我演化中的完善涉及两种主要的过滤策略:基于指标的和不基于指标的。前者使用外部指标来评估和过滤输出,而后者不依赖这些指标。这确保只有最可靠和高质量的数据用于进一步更新。
5.1.1 基于指标的
通过依赖反馈和预定义的标准,基于指标的过滤提高了输出的质量(Singh et al., 2023; Qiao et al., 2024; Ulmer et al., 2024; Wang et al., 2023b),确保了 LLM 能力的逐步提升,通过每次完善迭代。例如,ReSTEM (Singh et al., 2023) 采用了一个奖励函数来过滤从当前策略中采样的数据集。该函数基于生成样本的正确性提供二进制奖励,而不是在 ReST (Gulcehre et al., 2023) 上训练的基于人类偏好的学习奖励模型。AutoAct (Qiao et al., 2024) 利用 F1 分数和准确性作为合成轨迹的奖励,并收集具有完全正确答案的轨迹进行进一步训练。Self-Talk (Ulmer et al., 2024) 测量完成的子目标数量,以过滤生成的对话,确保只使用高质量数据进行训练。为了鼓励源指令的多样性,SelfInstruct (Wang et al., 2023b) 使用 ROUGEL 相似度和启发式方法自动过滤低质量或重复的指令,然后将其添加到任务池中。过滤标准或指标对于维持生成输出的质量和可靠性至关重要,从而确保模型能力的持续改进。
5.1.2 不基于指标的
一些方法寻求超越外部指标的过滤策略,使过程更加灵活和适应性。不基于指标的过滤通常涉及根据内部一致性度量或其他模型固有标准对输出进行抽样和评估(Huang et al., 2022; Weng et al., 2023; Chen et al., 2022)。SelfConsistency (Wang et al., 2022) 中的过滤基于最终答案在多个生成推理路径上的一致性,更高一致性表示更高可靠性。LMSI (Huang et al., 2022) 利用 CoT 提示加上自我一致性来生成高置信度的自我训练数据。设计能够准确反映输出质量的内部一致性度量可能具有挑战性。Self-Verification (Weng et al., 2023) 允许模型选择具有最高可解释验证分数的候选答案,该分数通过评估预测和原始条件值之间的一致性来计算。对于代码生成任务,CodeT (Chen et al., 2022) 考虑了输出与生成的测试用例的一致性以及输出与其他代码样本的一致性。这些方法强调了语言模型自我评估和基于内部一致性过滤其输出的能力,展示了在没有外部指标直接干预的情况下自我演化的重要一步。
5.2 纠正
最近的自我演化进步突出了迭代自我纠正的重要性,使模型能够完善他们的经验。本节将所采用的方法分为两类:基于批评的和不基于批评的纠正。批评通常作为包含对感知错误或次优输出背后理由的强提示,指导模型进行改进迭代。
5.2.1 基于批评的
这些方法依赖于额外的评判过程来得出经验的批评。然后,基于这些批评来完善经验。通过利用自我生成的(Madaan et al., 2023; Bai et al., 2022; Shinn et al., 2023; Lu et al., 2023)或环境互动生成的批评(Gou et al., 2023; Jiang et al., 2023; Zhou et al., 2023b),模型从详细的反馈中受益,进行细微的纠正。LLM 已经证明了它们识别输出中错误的能力。Self-Refine (Madaan et al., 2023) 引入了一个迭代过程,在这个过程中,模型根据可操作的自我反馈来完善其初始输出,而不需要额外的训练。为了从纠正中演化,CAI (Bai et al., 2022) 在监督学习阶段生成其输出的批评和修订,显著改进了初始模型。应用于自动化计算机任务的代理的 RCI (Kim et al., 2023) 根据在输出中发现错误的批评来改进其先前输出。由于较弱的模型可能在自我批评过程中挣扎,几种方法使模型能够使用外部工具提供的批评来纠正输出。CRITIC (Gou et al., 2023) 允许 LLM 根据与通用领域工具互动期间获得的批评来修订输出。SelfEvolve (Jiang et al., 2023) 通过解释器抛出的错误信息提示 LLM 来完善答案代码。
ISR-LLM (Zhou et al., 2023b) 通过使用验证器的迭代自我完善过程,帮助 LLM 规划者找到修订后的行动计划。这种方法的主要优势在于其能够处理和对详细反馈做出反应,可能导致更有针对性和细致的纠正。
5.2.2 不基于批评的
与基于批评的方法相反,不基于批评的方法直接利用客观信息(Zelikman et al., 2022; Chen et al., 2023c,b; Gero et al., 2023)来纠正经验。这些方法提供了独立于批评提供的微妙反馈的优势,允许进行严格遵循事实准确性或特定指导的纠正,而不受批评可能引入的偏见影响。一组不基于批评的方法根据任务是否正确解决的信号修改经验。Self-Taught Reasoner (STaR) (Zelikman et al., 2022) 提出了一种技术,迭代生成理由来回答问题。如果答案不正确,模型将再次提示正确的答案,以生成更有信息量的理由。Self-Debug (Chen et al., 2023c) 使模型能够通过调查单元测试的执行结果并自行解释代码来执行调试步骤。与依赖于任务解决信号不同,解决过程中产生的其他信息也可以被利用。IterRefinement (Chen et al., 2023b) 依赖于一系列经过改进的提示,鼓励模型重新考虑并改进其先
前的输出,而不需要任何直接的批评。对于信息提取任务,Clinical SV (Gero et al., 2023) 将每个元素基于输入的证据进行定位,并使用提供的证据修剪不准确的元素。这些不基于批评的方法简化了纠正机制,使其更易于实现和快速调整。
6 更新
在经验完善之后,我们进入了关键的更新阶段,利用完善的经验来提高模型性能。我们形式化更新如下:
Mt+1 = fU(˜Tt, ˜Yt, Et, Mt)
其中 fU 是更新函数。这些更新方法通过适应新经验和在不断变化的环境和迭代训练期间持续提高性能,保持模型的有效性。我们将这些方法分为权重学习,涉及模型权重的更新,以及上下文学习,涉及外部或工作记忆的更新。
6.1 权重学习
在权重学习中,经典的训练范式包括持续的预训练(Brown et al., 2020; Roziere et al., 2023)、监督式微调(Longpre et al., 2023)和偏好对齐(Ouyang et al., 2022; Touvron et al., 2023a)。然而,在自我演化的迭代训练过程中,核心挑战在于实现整体改进并防止灾难性遗忘,这意味着在提炼或获取新能力的同时保留原始技能。解决这一挑战的方法可以分为三个主要策略:基于重放的方法、基于正则化的方法和基于架构的方法。
6.1.1 基于重放的
基于重放的方法通过重新引入先前的数据来保留旧知识。一种是经验重放,它将原始和新训练数据混合以更新 LLM(Roziere et al., 2023; Yang et al., 2024c; Zheng et al., 2023; Lee et al., 2024; Wang et al., 2023a)。例如,Rejection sampling Fine-Tuning (RFT)(Yuan et al., 2023)和 Reinforced Self-Training (ReST)(Gulcehre et al., 2023; Aksitov et al., 2023)方法通过将种子训练数据与模型自身生成的过滤后的新输出混合,迭代地更新大型语言模型。AMIE(Tu et al., 2024)利用自玩模拟学习环境进行迭代改进,并通过内部和外部自玩循环将生成的对话与监督式微调数据混合。SOTOPIA-π(Wang et al., 2024e)利用专家模型的行为克隆和自生成的社交互动轨迹来加强积极行为。
另一种是生成性重放,采用自生成的合成数据作为知识,以减轻灾难性遗忘。例如,SelfSynthesized Rehearsal (SSR)(Huang et al., 2024a)生成合成训练实例进行复习,使模型能够在不依赖先前训练阶段的真实数据的情况下保持其能力。Self-Distillation Fine-Tuning (SDFT)(Yang et al., 2024b)从模型自身生成一个蒸馏数据集,以弥合任务数据集和 LLM 的原始分布之间的分布差距,以减轻灾难性遗忘。
6.1.2 基于正则化的
基于正则化的方法通过约束模型的更新来防止从原始行为中显著偏离,例如基于函数和基于权重的正则化。基于函数的正则化专注于修改模型在训练期间优化的损失函数(Zhong et al., 2023; Peng et al., 2023)。例如,InstuctGPT(Ouyang et al., 2022)采用了从初始策略模型 πSFT 到更新的策略模型 πRL 的输出概率的每个令牌 KL-散度惩罚。FuseLLM(Wan et al., 2024)采用了类似于知识蒸馏(Hinton et al., 2015)的技术,利用从源 LLM 生成的概率分布将集体知识转移到目标 LLM。
基于权重的正则化(Kirkpatrick et al., 2017)直接针对训练期间模型的权重。例如,Elastic Reset(Noukhovitch et al., 2024)通过定期将在线模型重置为其先前状态的指数移动平均值,来对抗 RLHF 中的对齐漂移。此外,Ramé et al.(2024)引入了 WARM,通过权重平均来结合多个奖励模型,以解决奖励黑客攻击和错位问题。此外,AMA(Lin et al., 2024)自适应地平均模型权重,以优化奖励最大化和遗忘缓解之间的权衡。
6.1.3 基于架构的
基于架构的方法明确使用额外的参数或模型进行更新,包括基于分解和基于合并的方法。基于分解的方法将大型神经网络参数分离为通用和任务特定组件,并仅更新任务特定参数以减轻遗忘。LoRA(Hu et al., 2021; Dettmers et al., 2024)注入可训练的低秩矩阵,显著减少可训练参数的数量,同时在各种任务中保持或提高模型性能。这种范式后来被 GPT4tools(Yang et al., 2024a)、OpenAGI(Ge et al., 2024)和 Dromedary(Sun et al., 2024)采用。Dynamic ConPET(Song et al., 2023)结合预选择和预测与任务特定的 LoRA 模块,以防止遗忘,确保 LLM 可扩展和有效地适应新任务。基于合并的方法则涉及合并多个模型或层以实现一般性改进,包括但不限于通过专家混合方法(Ding et al., 2024)合并多个通用和专用模型权重,甚至通过层级合并和上尺度化,如 EvoLLM(Akiba et al., 2024)。
6.2 上下文学习
除了直接更新模型参数外,另一种方法是利用 LLM 的上下文能力从经验中学习,从而实现快速适应性更新,而无需昂贵的训练成本。这些方法可以分为更新外部记忆和工作记忆。