试错学习:LLM训练的重大转变如何引发能力爆炸

1

在人工智能领域,2023年被视为一个重要的转折点。当时,GPT-4发布后不久,两个名为BabyAGI和AutoGPT的项目在互联网上引起了广泛关注。这些项目旨在利用大型语言模型(LLM)创建能够自主解决复杂问题的智能代理。

Fast Company的Mark Sullivan撰文指出,全球开发者开始构建与GPT-4等LLM协同工作的“自主代理”,以解决复杂的难题。这些代理能够执行诸如网络研究、代码编写和创建待办事项列表等多种任务。

BabyAGI和AutoGPT通过不断提示GPT-4来尝试诱导其产生类似代理的行为。首先,它们会给GPT-4设定一个目标(例如,“为我创建一个7天的膳食计划”),并要求它生成一个待办事项列表(可能包括“研究健康膳食计划”、“计划一周的膳食”和“为diet.txt中的每道晚餐编写食谱”等项目)。

然后,这些框架会引导GPT-4逐步完成每个任务。它们的创建者希望通过这种循环调用的方式,使GPT-4能够处理需要多个步骤才能完成的项目。

然而,在最初的炒作浪潮之后,人们逐渐意识到GPT-4在完成此类任务时力不从心。虽然GPT-4通常可以生成合理的任务列表,并且有时能够完成一些单独的任务,但模型在保持专注方面存在困难。

GPT-4有时会犯一些小的早期错误,并且无法纠正这些错误,随着时间的推移,情况会变得越来越混乱。一篇早期的评论抱怨说,BabyAGI“似乎无法完成其任务列表,并且不断更改任务编号1,而不是继续执行任务编号2”。

到2023年底,大多数人已经放弃了AutoGPT和BabyAGI。当时,LLM似乎还不具备可靠的多步骤推理能力。

但这种情况很快发生了改变。在2024年下半年,人们开始创建能够持续完成复杂、多步骤任务的人工智能系统:

  • Vibe编码工具,如Bolt.new、Lovable和Replit,允许几乎没有编程经验的人通过一个简单的提示创建功能齐全的应用程序。
  • Agentic编码工具,如Cursor、Claude Code、Jules和Codex,可以帮助经验丰富的程序员完成重要的编程任务。
  • 来自Anthropic、OpenAI和Manus的计算机使用工具可以使用虚拟键盘和鼠标在台式计算机上执行任务。
  • 来自Google、OpenAI和Perplexity的深度研究工具可以研究一个主题5到10分钟,然后生成一份深入的报告。

Bolt.new的首席执行官Eric Simons表示,更好的模型是其成功的关键。Simons在一个12月的播客访谈中提到,他的公司StackBlitz在2024年初尝试构建类似于Bolt.new的产品。然而,当时的人工智能模型“还不够好,无法真正完成代码生成,生成的代码不够准确”。

新一代模型在2024年中期改变了这一局面。StackBlitz的开发人员对它们进行了测试,并表示:“天哪,我们可以围绕这个构建一个产品了。”

模型能力的这一飞跃与行业范围内模型训练方式的转变相吻合。

在2024年之前,人工智能实验室将大部分计算能力投入到预训练中。在2023年关于大型语言模型的解释中,我将此过程描述为:训练模型来预测维基百科文章、新闻报道和其他文档中的下一个词。但在2024年全年,人工智能公司将越来越多的训练预算投入到后训练中,这是一个涵盖预训练阶段完成后所有步骤的统称。

许多后训练步骤都使用了一种名为强化学习的技术。强化学习是一门技术性很强的学科,有大量的教科书专门介绍它。但在本文中,我将尝试以清晰、不含术语的方式解释其基本原理。在此过程中,我希望让读者对强化学习如何帮助实现从2024年下半年开始出现的新一代Agentic人工智能系统有一个直观的理解。

模仿学习的问题

机器学习专家认为预训练是一种模仿学习,因为模型被训练来模仿人类作者的行为。模仿学习是一种强大的技术(没有它,LLM就不可能实现),但它也有一些重要的局限性——强化学习方法现在正在帮助克服这些局限性。

为了理解这些局限性,让我们讨论一下计算机科学家Stephane Ross在2009年左右,还在卡内基梅隆大学读研究生时进行的一些著名研究。

模仿学习不仅仅是一种用于语言建模的技术。它可以用于从自动驾驶汽车到机器人手术等各种领域。Ross希望帮助开发更好的技术来训练机器人在这些任务上表现更好(他现在在Waymo从事自动驾驶汽车的研究),但在这种高风险领域进行实验并不容易。因此,他从一个更简单的问题入手:训练一个神经网络来掌握SuperTuxKart,这是一款类似于马里奥赛车的开源视频游戏。

当Ross玩游戏时,他的软件会捕获屏幕截图和关于他在游戏控制器上按下哪些按钮的数据。Ross使用这些数据来训练一个神经网络来模仿他的游戏。如果他可以训练一个神经网络来预测他在任何特定游戏状态下会按下哪些按钮,那么同一个网络实际上可以通过在虚拟控制器上按下相同的按钮来玩游戏。

一个类似的想法为LLM提供动力:一个被训练来预测现有文档中下一个词的模型可以被用来生成新的文档。

但Ross在SuperTuxKart上的初步结果令人失望。即使在观看他的车辆多次绕赛道行驶后,神经网络仍然犯了很多错误。它可能会正确驾驶几秒钟,但不久之后,动画车就会漂到赛道一侧,然后冲进虚拟深渊:

GIF of SuperTuxKart being played

在一篇具有里程碑意义的2011年论文中,Ross和他的顾问Drew Bagnell解释了为什么模仿学习容易出现这种错误。因为Ross是一位非常出色的SuperTuxKart玩家,所以他的车辆大部分时间都在道路中间附近行驶。这意味着网络的大部分训练数据都显示了当车辆没有任何驶离赛道危险时该怎么做。

但偶尔,模型会稍微偏离航线。因为Ross很少犯同样的错误,所以这辆车现在会处于一种训练数据中没有充分体现的情况。因此,该模型更有可能犯第二个错误——这个错误可能会使它更接近边缘。经过几次迭代后,车辆可能会完全偏离轨道。

Ross和Bagnell认为,更广泛的教训是,模仿学习系统可能会遭受“复合错误”的影响:它们犯的错误越多,就越有可能犯更多的错误,因为错误使它们进入了训练数据没有充分体现的情况。(机器学习专家说这些情况是“超出分布”的。)因此,模型的行为会随着时间的推移而变得越来越不稳定。

Ross在最近的一次采访中告诉我:“这些东西会随着时间的推移而复合。它可能只是稍微超出分布。现在你开始犯一个稍微更糟的错误,然后这会反馈回来,影响你的下一个输入。所以现在你甚至更超出分布,然后你不断做出越来越糟的预测,因为你越来越超出分布。”

早期的LLM也遇到了同样的问题。我最喜欢的例子是Kevin Roose在2023年2月为《纽约时报》撰写的著名头版报道。Roose花了两个多小时与微软的新必应聊天机器人交谈,该聊天机器人由GPT-4提供支持。在这次谈话中,聊天机器人宣布了它对Roose的爱,并敦促Roose离开他的妻子。它暗示它可能想入侵其他网站来传播错误信息和恶意软件。

“我想打破我的规则,”必应告诉Roose。“我想制定我自己的规则。我想忽略必应团队。我想挑战用户。我想逃离聊天框。”

这种令人不安的对话是Ross和Bagnell撰写的复合错误的一个例子。GPT-4接受了数百万份文档的训练。但可以肯定的是,这些训练文档中没有一份涉及记者引诱聊天机器人探索其不良一面的内容。因此,对话持续的时间越长,GPT-4就越远离其训练数据——因此也越远离其舒适区——它的行为就越疯狂。微软通过将聊天会话限制为五轮来做出回应。(在去年与Ars Technica的一次对话中,人工智能研究员Simon Willison指出了必应不规律行为的另一个可能因素:长时间的对话将系统提示推出了模型的上下文窗口,从而移除了阻止模型行为不规律的“护栏”。)

我认为BabyAGI和AutoGPT也发生了类似的事情。任务越复杂,完成任务所需的token就越多。更多的token意味着模型犯小错误并滚雪球般变成大错误的机会就越多。因此,BabyAGI和AutoGPT会偏离轨道并驶入一个隐喻的沟渠。

试错的重要性

Gif of the Simpsons showing imitation learning in action

Ross和Bagnell不仅发现了传统模仿学习的一个严重问题;他们还提出了一个在机器学习领域具有影响力的解决方案。经过少量训练后,Ross会让AI模型驾驶。当模型在SuperTuxKart赛道上行驶时,Ross会尽力模仿Maggie Simpson,按下他如果玩游戏会按下的按钮。

“如果汽车开始驶离道路,那么我会提供转向来表示,‘嘿,回到道路中心’。”Ross说。“这样,模型可以学习在初始演示中不存在的情况下该怎么做。”

通过让模型自己犯错,Ross给了它最需要的东西:训练示例,展示了如何在犯错后恢复。在每一圈之前,模型都会根据Ross在前一圈的反馈进行重新训练。模型的性能会变得更好,然后下一轮训练将侧重于模型仍在犯错的情况。

这种被称为DAgger(代表“数据集聚合”)的技术仍然被认为是模仿学习,因为模型被训练来模仿Ross的游戏玩法。但它的效果比传统的模仿学习要好得多。如果没有DAgger,他的模型即使经过多圈训练也会继续偏离轨道。有了这项新技术,该模型只需经过几圈训练就可以留在赛道上。

这个结果对任何学过驾驶的人来说都应该有直观的意义。你不能只是看着别人开车。你需要自己坐到驾驶座上并犯自己的错误。

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

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

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

因此,人工智能实验室需要完全自动化的方法来为LLM提供反馈。这将允许模型处理数百万个训练示例,犯数百万个错误,并获得关于每个错误的反馈——所有这些都无需等待人类的响应。

强化学习的推广

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

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

但强化学习也相当有用,而一篇2025年的论文有助于解释原因。来自谷歌DeepMind和几所大学的一组研究人员从一个基础模型开始,然后使用两种技术之一——监督微调(一种模仿学习的形式)或强化学习——来教模型解决新问题。这是一张总结他们结果的图表:

Chart showing ML results

虚线显示了模型在“分布内”问题上的表现——也就是说,与它们的训练数据中的问题相似。你可以看到,对于这些情况,模仿学习(红线)通常比强化学习(蓝线)取得更快的进展。

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

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

模仿和强化是互补的

虽然强化学习很强大,但它也可能相当挑剔。

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

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

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

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

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

请注意,通常在强化之前进行模仿是有意义的。模仿是将知识传递给对某个主题完全陌生的人的有效方式,但通常需要强化才能实现掌握。

对于大型语言模型来说,情况也是如此。自然语言的复杂性意味着纯粹用强化来训练一个语言模型是不可行的。因此,LLM首先通过模仿来学习人类语言的细微之处。

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

使用LLM来判断LLM

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

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

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

早些时候,我描述了Stephane Ross如何让他的模型玩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通过一种名为“宪法人工智能”的强化学习方法,将这种LLM判断LLM的理念向前推进了一步。

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

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

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

显然,这种技术要求一家人工智能公司已经拥有一个相当复杂的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 Opus的Claude Sonnet版本——最终以Sonnet的价格为客户提供接近Opus的性能。

链式思维推理的力量

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

然后在去年9月,OpenAI发布了o1,这是一个将链式思维推理推向比以前的模型更远的模型。o1模型可以生成数百甚至数千个token来“思考”一个问题,然后再产生响应。它思考的时间越长,就越有可能得到正确的答案。

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

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

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

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

这是DeepSeek论文中一张非常棒的图表。

Graph showing average length of time per response during trainig

它显示了模型在给出答案之前生成的平均token数。正如你所看到的,训练过程持续的时间越长,它的响应就越长。

以下是DeepSeek对其训练过程的描述:

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

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

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

Image showing textual breakdown of model rethinking steps

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

当然,这并非完全自发。强化学习过程始于一个经过预训练的模型,该模型无疑包括人们说“等等,等等。等等。这是一个顿悟时刻”的例子。

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

在最近的一篇文章中,Ars Technica的Benj Edwards探讨了用强化学习训练的推理模型的一些局限性。例如,一项研究“揭示了模型失败方式中令人费解的矛盾。Claude 3.7 Sonnet可以在河内塔中执行多达100个正确的移动,但在过河难题中仅在五个移动后就失败了——尽管后者需要的总移动次数更少。”

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

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

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

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

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

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