正文
©PaperWeekly 原创 · 作者 |
林廷恩
想象一下,一个 AI 不仅能学习,还能自我改进,变得越来越聪明。这不是科幻小说,而是我们正在见证的现实。大语言模型(LLM)如今正在通过自进化的智能飞轮,不断提升其输出的质量和可靠性。这意味着它们能够适应新的信息和环境,提供更可靠、更有效的帮助。那么,这一切是如何实现的呢?
A Survey on Self-Evolution of Large Language Models
论文作者:
论文链接:
https://arxiv.org/abs/2404.14387
Repo链接:
https://github.com/AlibabaResearch/DAMO-ConvAI/tree/main/Awesome-Self-Evolution-of-LLM
随着 AI 领域迎来了大语言模型的爆发,如 ChatGPT、Gemini、LLaMA 和 Qwen 等模型在语言理解和生成方面取得了巨大成就。然而,当前的训练方法需要大量人类监督和外部指导,不仅昂贵,而且在处理复杂任务时逐渐遇到瓶颈。为了解决这些问题,科学家们逐渐关注到一个令人兴奋的新方向:
自进化
。
简单来说,自进化就是让人工智能像人类一样,通过自己的经验不断学习和提升自己。就像玩游戏一样,从初学者到高手,靠的就是不断的练习和自我提升。
传统的大语言模型需要大量的人类帮助才能提升性能,然而,这样的方法不仅费时费力,而且成本高昂。而自进化的方法则让 AI 可以自主学习,不再依赖大量的人类监督。例如,AlphaGo 曾通过学习 3000 万局棋谱成为围棋高手,但 AlphaZero 仅仅依靠自我对弈,通过三天时间就超越了 AlphaGo,达到了超人类水平。
1.3 自进化带来的突破
科学家们已经在自进化方面取得了一些令人惊叹的成果。例如,DeepMind 的 AMIE 系统在诊断准确性方面超过了初级保健医生,而微软的 WizardLM-2 模型则超越了初版的 GPT-4。这些成功案例表明,自进化不仅是
新的训练方法,更是一种可以超越现有数据和人类限制的途径。
1.4 自进化:大语言模型的“智能飞轮”
传统的 AI 训练就像跑一段路,但自进化更像是跑一个循环,不断回到起点变得更强。我们称之为“智能飞轮”,它包括四个阶段:
获取经验、改进经验、迭代更新和评估
。这四个阶段就像一个完整的进化循环,让大语言模型能够不断迭代和提升自己的能力。
1.5 自进化的四大阶段
模型就像一名求知若渴的人,先确定学习目标,然后获取新任务。在完成这些任务的过程中,模型不仅获得正确答案,还从周围环境中收集反馈,积累宝贵的经验。
在获取经验后,模型会对这些经验进行反思和修正。就像学生复习功课一样,模型会剔除错误和不完美的数据,确保掌握的信息更加准确和高效。这一步骤帮助模型不断优化自己的知识库,就像人通过反复练习来提高成绩一样。
1.5.3 迭代更新:不断提升
有了改进后的经验,模型就开始更新自己,将新知识整合到现有的框架中。通过这种方式,模型始终保持在最新状态,不断提升自己的性能,以适应新的挑战,逐步提高自己的能力。
1.5.4 评估:衡量与改进
最后,模型会通过各种评估指标来衡量自己的表现。这一阶段的结果为后续的进化设定了新的目标,形成一个自我完善的闭环过程。通过不断的评估和反馈,模型能够识别出自己的不足,并在下一个迭代周期中进行改进,实现持续的自我提升。就像人通过考试和反馈,发现自己的弱点,并在下一次学习中努力改进。
1.6 自进化的进化目标
就像人类设定个人目标一样,进化目标引导模型的发展,由
进化能力
和
进化方向
所组成:
进化能力:
包括基于大模型与智能体的能力:
-
指令跟随:模型能够准确理解并执行用户的指令。
-
推理:具备逻辑推理和问题解决的能力。
-
数学:在数学运算和问题解决中的表现。
-
编码:在编程和代码生成方面的能力。
-
角色扮演:模拟和参与不同角色对话的表现。
-
规划:为未来行动制定策略和准备,并创建一系列步骤以实现特定目标。
-
工具使用:在环境中使用各种工具(如 API)来执行任务或解决问题。
-
具身控制:在环境中管理和协调其物理形态的能力。包括移动和物体操作。
-
沟通协作:传达信息和理解信息的技能,包括心智理论能力建模。
下面,我们将详细介绍自进化的技术路线,具体如下:
获取经验
获取经验是推动自进化的第一步。这一过程既包括探索,也包括利用现有知识。让我们一同揭开这个过程,看看 LLM 是如何通过任务进化、答案进化和反馈获取来变得更聪明的。
2.1 任务进化
任务进化是启动整个进化过程的关键步骤,模型首先根据进化目标来获取任务。任务进化的方法可以分为基于外部知识、不基于外部知识和基于选择的三种。
-
基于外部知识的任务进化:
AI 利用外部知识生成相关任务,确保任务的真实和有效。例如,Ditto 使用像 Wikidata 和 Wikipedia 这样的知识库生成对话任务,而 UltraChat 则从非结构化语料中生成问题或指令。
-
不基于外部知识的任务进化:
AI 通过自身的能力生成新任务,增加任务的多样性。例如,Self-Instruct 方法通过自我生成指令来创建新任务,而 Evol-Instruct 则通过扩展指令的复杂性和多样性来实现这一目标。
-
基于选择的任务进化:
AI 从现有任务中选择最相关的任务,而不是生成新任务,从而简化进化过程。Diverse-Evol 方法通过采样策略从任务池中选择多样化的任务,提升 AI 的指令遵循能力。
2.2 答案进化
获得任务后,AI 通过不同策略来解决这些任务,答案进化分为正向和负向两种方法。
正向答案进化:
-
基于思维的策略:
在解决任务时提供推理过程或理由依据,提升答案的正确性。例如,LMSI 方法通过思维链与自我一致性生成高信任度的答案。
-
基于自我对奕的策略:
通过与自身交互学习,如 SOTOPIA-π 通过自我对奕的强化训练和行为克隆提升社交智能。
-
基于交互的策略:
通过与环境互动获取反馈,例如 A3T 通过与环境交互获取多轮轨迹,让 AI 自主修复失败的 ReAct 轨迹。
-
基于溯源的策略:
利用预定义规则、先验知识或记忆引导任务解决,减少搜索空间。例如,Self-Align 通过原则驱动推理生成符合原则约束的答案。
负向答案进化:
此类方法通过识别和收集不符合预期的模型行为,改善偏好对齐和安全性,可分为以下两类:
2.3 获取反馈
反馈在 AI 自进化中扮演着至关重要的角色,帮助 AI 证明解决方案的正确性并促进技能更新。主要分为两类:
改进经验
在获得经验后,大语言模型可以通过自我改进经验来提高其输出的质量和可靠性。这种方法分为两大类:过滤(Filtering)和纠正(Correcting)。
3.1 基于过滤的改进经验
通过过滤策略,模型只会使用最可靠和高质量的数据进行更新。目前,主要有两种过滤策略:
3.2 基于纠正的改进经验
基于模型来迭代改进其经验。现有的纠正策略分为两种:
更新
在改进经验的基础上,我们可以利用这些数据进行模型的迭代更新。主要方法分为两种:基于权重(In-Weight)和基于上下文(In-context)的迭代更新。
4.1 基于权重的迭代更新
在自我进化的训练过程中,核心挑战在于提升整体能力并防止灾难性遗忘。主要有三种策略:
-
基于重放的:
将新数据混入旧数据,防止遗忘以前的知识。例如,AMIE 融合已有医疗知识问答和生成的模拟医疗对话,提高诊断准确性。
-
基于正则约束的:
限制模型更新,防止与原始行为出现重大偏差。例如,WARM 通过微调多个奖励模型并加权平均,降低强化学习中的风险。
-
基于架构的:
利用额外的参数或模型进行更新。例如,EvoLLM 提出自进化的模型融合方法,使模型具备跨领域能力。
4.2 基于上下文的迭代更新
除了更新模型参数外,还可以利用 LLM 的上下文学习能力,实现快速自适应更新,常见于 Agent 应用中。主要方法有两种:
评估
准确自动地评估模型性能,并为后续改进提供方向,是个重要但缺乏研究的领域。评估方法主要有两种:
-
量化评估:
通过具体数字或分数来评估。例如,LLM-as-a-Judge 用大语言模型评价其他模型,评估方法与人类评判一致性接近 80%。
-
质化评估:
通过分析模型的不足之处提供更深入的评估。例如,ChatEval 通过多智能体辩论,潜在能帮助指导后续迭代目标。
未来挑战与展望
随着大语言模型自进化的发展,当前工作也面临着诸多挑战:
自进化目标:多样性与层次性
目前的进化目标还不够全面。大模型已应用于各行各业,我们需要一个覆盖更多实际任务的自进化框架,提升多样性,让它适应更广泛的应用。
自主性等级
自进化框架的自主性程度可以分为低、中、高三类:
-
低自主性:用户预定义进化目标,设计进化管道,模型根据设计框架完成自进化。
-
中自主性:用户仅设定进化目标,模型独立构建每个模块,实现自进化。
-
高自主性:模型诊断自身缺陷,设定进化目标并设计具体模块,实现完全自主的自进化。
大多数现有研究仍处于低自主性水平,需要专家设计具体模块,随着自进化框架的发展,中高自主性的研究亟需更多关注。