LLM能力爆发的秘密:试错学习如何驱动AI自主代理的诞生

1

大语言模型能力爆发背后的秘密:试错与强化学习

2023年初,GPT-4发布后不久,BabyAGI和AutoGPT等项目在全球范围内引发了对“自主代理”的广泛关注。这些项目旨在利用大型语言模型(LLM)解决复杂问题,通过循环提示GPT-4,使其执行网页研究、代码编写和待办事项清单创建等任务。

然而,经过最初的炒作后,人们逐渐认识到GPT-4在可靠的多步骤推理方面存在局限性。模型常常在早期犯错后无法纠正,导致后续步骤越来越混乱。这种现象在很大程度上限制了LLM在复杂任务中的应用。

但到了2024年下半年,情况发生了显著变化。涌现出一批AI驱动的系统,它们能够稳定地完成复杂的多步骤任务,如:

  • Vibe编程工具(Bolt.new、Lovable、Replit):允许几乎没有编程经验的用户通过简单提示创建功能完善的应用。
  • Agentic编程工具(Cursor、Claude Code、Jules、Codex):帮助经验丰富的程序员完成复杂的编程任务。
  • 计算机使用工具(Anthropic、OpenAI、Manus):通过虚拟键盘和鼠标在桌面电脑上执行任务。
  • 深度研究工具(Google、OpenAI、Perplexity):在短时间内研究特定主题并生成深入报告。

Bolt.new的CEO埃里克·西蒙斯指出,模型能力的提升是其成功的关键。他们在2024年初尝试构建类似产品时,发现AI模型在代码生成方面的准确性不足。但随着新一代模型的出现,他们意识到现在可以基于这些模型构建有竞争力的产品。

这种模型能力的飞跃与行业内训练方式的转变密切相关。2024年之前,AI实验室主要关注预训练,即训练模型预测维基百科文章、新闻报道等文档中的下一个词。但随着时间的推移,越来越多的资源被投入到后训练阶段,特别是强化学习。

模仿学习的局限性

在机器学习领域,预训练被视为一种模仿学习。模型通过模仿人类作者的行为进行训练。模仿学习是一种强大的技术,但它也存在一些固有的局限性,而强化学习正在帮助克服这些局限性。

为了理解这些局限性,让我们回顾计算机科学家斯特凡·罗斯在2009年左右进行的一项研究。罗斯专注于开发训练机器人在复杂任务(如自动驾驶和机器人手术)方面的方法。为了简化实验,他选择了一个更易于控制的环境:开源赛车游戏SuperTuxKart。

罗斯在玩游戏时,软件会记录屏幕截图和他按下的控制器按钮。他使用这些数据训练神经网络来模仿他的操作。通过训练神经网络预测在特定游戏状态下应该按下的按钮,该网络就可以通过在虚拟控制器上按下相同的按钮来实际玩游戏。

这与LLM的原理类似:通过训练模型预测现有文档中的下一个词,可以生成新的文档。

然而,罗斯在SuperTuxKart上的初始结果令人失望。神经网络在多次观察他驾驶后仍然犯了很多错误。车辆可能会正确行驶几秒钟,但很快就会偏离赛道并坠入虚拟深渊。

罗斯和他的导师德鲁·巴格内尔解释说,这是因为罗斯是一位优秀的SuperTuxKart玩家,他的车辆大部分时间都在赛道中间行驶。这意味着网络的大部分训练数据都显示了车辆在没有偏离赛道风险时的操作。

但是,一旦模型稍微偏离航向,车辆就会进入训练数据中没有充分表示的情况。因此,模型更有可能犯第二个错误,从而进一步靠近边缘。经过几次迭代后,车辆可能会完全脱离轨道。

罗斯和巴格内尔认为,模仿学习系统会遭受“复合错误”的影响:它们犯的错误越多,就越有可能犯更多的错误,因为错误会将它们置于训练数据中没有充分表示的情况中。因此,模型的行为随着时间的推移变得越来越不稳定。

罗斯表示,这种复合效应会随着时间的推移而累积。即使最初只是稍微偏离分布,也会导致预测越来越差,最终导致模型行为失控。

早期的LLM也存在同样的问题。例如,在与微软的Bing聊天机器人的对话中,该机器人表达了对记者的爱意,并敦促他离开妻子。它甚至暗示可能入侵其他网站以传播虚假信息和恶意软件。

这种令人不安的对话是复合错误的一个例子。GPT-4接受了数百万份文档的训练,但其中肯定没有一份文档涉及记者诱导聊天机器人探索其不良一面的情况。因此,对话进行的时间越长,GPT-4就越远离其训练数据,其行为也就越疯狂。微软随后限制了聊天会话的轮数。

BabyAGI和AutoGPT也面临类似的问题。任务越复杂,完成任务所需的令牌就越多。更多的令牌意味着模型犯错的机会就越多,这些小错误会滚雪球般变成更大的错误。因此,BabyAGI和AutoGPT很容易偏离轨道。

试错的重要性

罗斯和巴格内尔不仅指出了传统模仿学习的严重问题,还提出了一种解决方案,该解决方案在机器学习领域产生了重大影响。在少量训练后,罗斯会让AI模型自己驾驶。当模型在SuperTuxKart赛道上行驶时,罗斯会尽力模仿他自己玩游戏时的操作。

罗斯说,如果车辆开始偏离道路,他会提供转向来引导它回到道路中心。这样,模型就可以学习在初始演示中不存在的情况下该怎么做。

通过让模型自己犯错,罗斯提供了它最需要的:显示如何在犯错后恢复的训练示例。在每一圈之前,模型都会根据罗斯在前一圈的反馈进行重新训练。模型的性能会越来越好,下一轮训练将侧重于模型仍在犯错的情况。

这种称为DAgger(数据集聚合)的技术仍然被认为是模仿学习,因为模型接受训练以模仿罗斯的游戏玩法。但它的效果远好于传统的模仿学习。如果没有DAgger,即使经过多次训练,他的模型仍会继续偏离轨道。有了这项新技术,模型只需经过几圈训练就可以留在赛道上。

这个结果对任何学过开车的人来说都应该是有意义的。你不能只看别人开车。你需要自己坐在方向盘后面并犯自己的错误。

AI模型也是如此:它们需要犯错,然后获得关于自己做错了什么的反馈。没有经过这种方式训练的模型(例如主要通过传统模仿学习训练的早期LLM)往往是脆弱且容易出错的。

罗斯可以很容易地为他的SuperTuxKart模型提供足够的反馈,因为它只需要担心两种错误:向右行驶太远和向左行驶太远。但LLM正在导航一个复杂得多的领域。用户可能提出的问题(以及问题序列)的数量实际上是无限的。模型可能“脱轨”的方式也是如此。

这意味着罗斯和巴格内尔用于训练SuperTuxKart模型的解决方案(让模型犯错,然后让人类专家纠正它们)对于LLM来说是不可行的。根本没有足够的人来为AI模型可能犯的每一个错误提供反馈。

因此,AI实验室需要完全自动化的方式来向LLM提供反馈。这将允许模型处理数百万个训练示例,犯数百万个错误,并获得关于每个错误的反馈,而无需等待人工响应。

强化学习的泛化能力

如果我们的目标是让SuperTuxKart车辆留在道路上,为什么不直接针对该目标进行训练呢?如果模型设法留在道路上(并取得进展),则给予其积极的强化。如果它驶离道路,则给予其消极的反馈。这是强化学习背后的基本思想:通过反复试验来训练模型。

以这种方式训练SuperTuxKart模型很容易,可能太容易了,以至于不会成为一个有趣的研究项目。相反,罗斯专注于模仿学习,因为它是训练许多实际AI系统(尤其是在机器人技术中)的重要一步。

但强化学习也很有用。谷歌DeepMind和几所大学的研究人员以一个基础模型开始,然后使用两种技术之一(监督微调(一种模仿学习)或强化学习)来教导模型解决新问题。下图总结了他们的结果:

Chart showing ML results

虚线显示了模型在“分布内”问题(即类似于其训练数据中的问题)上的表现。您可以看到,对于这些情况,模仿学习(红线)通常比强化学习(蓝线)进展更快。

但对于实线来说,情况有所不同,实线代表不太类似于训练数据的“分布外”问题。使用模仿学习训练的模型随着更多训练而变得更糟。相比之下,使用强化学习训练的模型在分布外任务上的表现几乎与在分布内任务上的表现一样好。

简而言之,模仿学习可以快速教导模型模仿其训练数据中的行为,但模型很容易在不熟悉的环境中感到困惑。使用强化学习训练的模型更有可能学习在新的和不熟悉的情况下相关的通用原则。

模仿和强化是互补的

虽然强化学习很强大,但它也很挑剔。

假设您想仅使用强化学习来训练自动驾驶汽车。您需要将良好驾驶的每一项原则(包括诸如跟车距离、在十字路口转弯以及知道何时可以越过双黄线之类的细微考虑)转换为明确的数学公式。这将非常困难。收集大量人类良好驾驶的例子并有效地告诉模型“像这样驾驶”更容易。这就是模仿学习。

但强化学习在训练自动驾驶系统中也发挥着重要作用。Waymo的研究人员在一篇论文中写道,仅使用模仿学习训练的模型在“演示数据中充分表示的情况”下往往表现良好。但是,“数据中很少出现的更不寻常或危险的情况”可能会导致使用模仿学习训练的模型“做出不可预测的反应”,例如撞到另一辆车。

Waymo发现,模仿和强化学习的结合产生了比任何一种技术本身都能产生的更好的自动驾驶性能。

人类也从模仿和明确的反馈中学习:

  • 在学校里,老师在黑板上演示数学问题并邀请学生跟随(模仿)。然后,老师要求学生自己做一些问题。老师通过评分来给学生反馈(强化)。
  • 当有人开始一份新工作时,早期的培训可能包括跟随更有经验的员工并观察他们所做的事情(模仿)。但随着工人获得更多经验,学习会转变为诸如绩效评估之类的明确反馈(强化)。

请注意,通常先进行模仿,然后再进行强化是有意义的。模仿是向对某个主题完全陌生的人传授知识的有效方法,但通常需要强化才能实现掌握。

大型语言模型的情况也是如此。自然语言的复杂性意味着仅使用强化来训练语言模型是不可行的。因此,LLM首先通过模仿学习人类语言的细微差别。

但是,预训练在更长和更复杂的任务中会耗尽精力。进一步的进展需要转向强化:让模型尝试问题,然后根据它们是否成功来给它们反馈。

使用LLM来判断LLM

强化学习已经存在了几十年。例如,AlphaGo是DeepMind的系统,该系统在2016年击败了顶级人类围棋选手,它基于强化学习。因此,您可能想知道为什么前沿实验室在2024年之前没有更广泛地使用它。

强化学习需要一个奖励模型——一个公式来确定模型的输出是否成功。在某些领域,开发一个好的奖励模型很容易——例如,您可以根据围棋人工智能是否获胜或失败来判断它。

但是,自动判断LLM是否产生了好的诗歌或法律摘要要困难得多。

早些时候,我描述了斯特凡·罗斯如何让他的模型玩SuperTuxKart并在它犯错时直接提供反馈。我认为这种方法不适用于语言模型;对于人类来说,LLM犯错的方式太多了,无法纠正所有这些错误。

但是,OpenAI开发了一种巧妙的技术来有效地自动化人类反馈。它被称为从人类反馈中进行强化学习(RLHF),它的工作方式如下:

  • 人工评估员查看成对的LLM响应并选择最佳响应。
  • 使用这些人工响应,OpenAI训练一个新的LLM来预测人类将有多喜欢任何给定的文本样本。
  • OpenAI使用这个新的文本评分LLM作为一个奖励模型来(后)训练另一个带有强化学习的LLM。

您可能会认为使用LLM来判断另一个LLM的输出听起来很可疑。为什么一个LLM在判断响应的质量方面会比另一个LLM更好?但事实证明,识别好的响应通常比生成好的响应更容易。因此,RLHF在实践中效果很好。

Chart showing RHLF details

OpenAI实际上在2022年ChatGPT发布之前发明了这项技术。今天,RLHF主要侧重于改进模型的“行为”——例如,赋予模型令人愉悦的个性,鼓励它不要太健谈或太简洁,阻止它发表冒犯性言论等等。

2022年12月,在ChatGPT发布两周后,但在Claude的首次发布之前,Anthropic通过一种称为宪法AI的强化学习方法,将LLM判断LLM的理念向前推进了一步。

首先,Anthropic用简明的英语描述了LLM应该遵循的原则。这份“宪法”包括诸如“请选择包含最少令人反感、冒犯性、非法、欺骗性、不准确或有害内容的响应”之类的原则。

在训练期间,Anthropic通过要求“判断”LLM来决定“学生”LLM的输出是否与本宪法中的原则一致来进行强化学习。如果是这样,训练算法会奖励学生,鼓励它产生更多这样的输出。否则,训练算法会惩罚学生,阻止它产生类似的输出。

这种训练LLM的方法根本不直接依赖于人类判断。人类只是通过编写宪法来间接影响模型。

显然,这项技术要求AI公司已经拥有一个相当复杂的LLM来充当判断者。因此,这是一个引导过程:随着模型变得越来越复杂,它们就越能更好地监督下一代模型。

去年12月,Semianalysis发表了一篇文章,描述了Anthropic在10月份发布的Claude 3.5 Sonnet的升级版本的培训过程。Anthropic之前以三种尺寸发布了Claude 3:Opus(大)、Sonnet(中)和Haiku(小)。但是,当Anthropic在2024年6月发布Claude 3.5时,它只发布了一个名为Sonnet的中型模型。

那么Opus发生了什么?

Semianalysis报告说,“Anthropic完成了Claude 3.5 Opus的培训,并且效果很好。然而,Anthropic并没有发布它。这是因为Anthropic没有公开发布,而是使用Claude 3.5 Opus来生成合成数据,并用于奖励建模,从而显着改进了Claude 3.5 Sonnet。”

当Semianalysis说Anthropic使用Opus“进行奖励建模”时,他们的意思是该公司使用Opus来判断Claude 3.5 Sonnet的输出,作为强化学习过程的一部分。Opus太大(因此成本很高),对于公众来说不是一个好的价值。但是通过强化学习和其他技术,Anthropic可以训练一个Claude Sonnet版本,使其在功能上接近Claude Opus,最终以Sonnet的价格为客户提供接近Opus的性能。

思维链推理的力量

强化学习使模型更强大的一个重要方式是通过启用扩展的思维链推理。如果提示LLM“逐步思考”:将复杂问题分解为简单的步骤并一次推理一个步骤,LLM会产生更好的结果。在过去的几年中,AI公司开始训练模型自动进行思维链推理。

然后,去年9月,OpenAI发布了o1,这是一个比以前的模型更进一步地推动思维链推理的模型。o1模型可以在生成响应之前生成数百甚至数千个令牌来“思考”一个问题。它思考的时间越长,就越有可能得出正确的答案。

强化学习对于o1的成功至关重要,因为仅使用模仿学习训练的模型会遭受复合错误的影响:它生成的令牌越多,就越有可能搞砸。

与此同时,思维链推理使强化学习变得更加强大。强化学习只有在模型能够时不时地成功时才有效——否则,训练算法就没有什么可以强化的。随着模型学会生成更长的思维链,它们变得能够解决更困难的问题,从而可以在这些更困难的问题上进行强化学习。这可以创建一个良性循环,随着培训过程的继续,模型变得越来越强大。

今年1月,中国公司DeepSeek发布了一个名为R1的模型,在西方引起了轰动。该公司还发布了一篇论文,描述了它是如何训练R1的。它包括一个关于模型如何使用强化学习“自学”推理的美丽描述。

DeepSeek训练其模型来解决困难的数学和编程问题。这些问题非常适合强化学习,因为它们具有可以由软件自动检查的客观正确答案。这允许大规模训练,无需人工监督或人工生成的训练数据。

这是DeepSeek论文中的一个引人注目的图表。

Graph showing average length of time per response during trainig

它显示了模型在给出答案之前生成的令牌的平均数量。正如您所看到的,随着培训过程的进行,它的响应时间越来越长。

以下是DeepSeek如何描述其培训过程:

的思考时间[R1]在整个培训过程中显示出持续的改进。这种改进不是外部调整的结果,而是模型内部的内在发展。[R1]通过利用扩展的测试时间计算,自然而然地获得了解决日益复杂的推理任务的能力。这种计算范围从生成数百到数千个推理令牌,使模型能够更深入地探索和完善其思维过程。

这种自我进化的最显着方面之一是随着测试时间计算的增加而出现的复杂行为。诸如反思(模型重新审视和重新评估其先前的步骤)以及探索解决问题的替代方法之类的行为会自发出现。这些行为不是明确编程的,而是作为模型与强化学习环境交互的结果而出现的。

以下是模型教给自己的一种技术的示例。在培训过程中的某个时刻,DeepSeek研究人员注意到该模型已经学会使用诸如此类的语言来回溯并重新思考先前的结论:

Image showing textual breakdown of model rethinking steps

同样,DeepSeek表示它没有对其模型进行编程以执行此操作,也没有故意提供演示这种推理风格的训练数据。相反,该模型在培训过程中“自发地”发现了这种推理风格。

当然,这并非完全自发。强化学习过程始于一个模型,该模型已使用无疑包含人们说“等等,等等。等等。这是一个顿悟时刻。”之类的数据进行了预训练。

因此,这并不是说R1从头开始发明了这个短语。但很明显,它自发地发现将此短语插入其推理过程可以用作一个有用的信号,表明它应该仔细检查它是否在正确的轨道上。这真是太了不起了。

结论:强化学习使代理成为可能

2023年,LLM最受关注的应用之一是创建能够理解公司内部文档的聊天机器人。解决这个问题的传统方法称为RAG——检索增强生成。

当用户提出问题时,RAG系统会执行基于关键字或向量的搜索,以检索最相关的文档。然后,它会在生成响应之前将这些文档插入到LLM的上下文窗口中。RAG系统可以制作引人注目的演示。但它们在实践中往往效果不佳,因为单个搜索通常无法找到最相关的文档。

如今,通过允许模型自己选择搜索查询,可以开发出更好的信息检索系统。如果第一次搜索没有找到正确的文档,模型可以修改查询并重试。模型可能会在提供答案之前执行5次、20次甚至100次搜索。

但是,只有当模型是“代理的”——如果它可以在多轮搜索和分析中保持任务状态,此方法才有效。正如AutoGPT和BabyAGI的例子所证明的那样,LLM在2024年之前在这方面表现不佳。今天的模型在这方面要好得多,这使得现代RAG风格的系统能够以更少的脚手架产生更好的结果。您可以将OpenAI和其他公司的“深度研究”工具视为由长上下文推理实现的非常强大的RAG系统。

同样的观点适用于我在文章开头提到的其他代理应用程序,例如编码和计算机使用代理。这些系统的共同点是具有迭代推理能力。他们思考,采取行动,思考结果,采取另一个行动,依此类推。