在人工智能领域,大型语言模型(LLM)的能力爆炸式增长,这背后隐藏着一次训练方式的重大转变。本文将深入探讨这一变革,揭示强化学习如何以最少的数学公式和术语,推动AI系统实现前所未有的智能水平。
2023年4月,GPT-4发布后不久,两个名为BabyAGI和AutoGPT的项目在互联网上引起轰动。这些项目旨在利用LLM解决复杂问题,通过不断提示GPT-4,试图引发类似智能代理的行为。然而,尽管它们在初步尝试中展现出一定的潜力,但很快人们发现GPT-4在保持专注和纠正错误方面存在局限性。到2023年底,大多数人放弃了AutoGPT和BabyAGI,LLM似乎还无法实现可靠的多步骤推理。
然而,情况在2024年发生了改变。一系列AI驱动的系统开始涌现,它们能够持续完成复杂的多步骤任务。例如,Vibe编码工具如Bolt.new、Lovable和Replit,使得几乎没有编程经验的人也能通过简单的提示创建功能齐全的应用程序。同时,像Cursor、Claude Code、Jules和Codex这样的Agentic编码工具,帮助经验丰富的程序员完成重要的编程任务。此外,Anthropic、OpenAI和Manus等公司开发的计算机使用工具,能够通过虚拟键盘和鼠标在桌面电脑上执行任务。更令人印象深刻的是,Google、OpenAI和Perplexity推出的深度研究工具,能够在短时间内研究一个主题并生成深入的报告。
据Bolt.new的CEO Eric Simons透露,更好的模型是其成功的关键。他在一次采访中提到,StackBlitz在2024年初尝试构建类似的产品,但当时的AI模型在代码生成方面的准确性不足。直到2024年中期,新一代模型的出现才改变了这一局面。这一模型能力的飞跃,与行业范围内模型训练方式的转变不谋而合。
在2024年之前,AI实验室将大部分计算能力投入到预训练中,即训练模型预测维基百科文章、新闻报道和其他文档中的下一个单词。然而,在2024年,AI公司将越来越多的训练预算用于后训练,即在预训练阶段完成后执行的步骤。许多后训练步骤使用一种称为强化学习的技术。强化学习是一个技术性很强的课题,但其基本思想在于通过试错来训练模型。
预训练本质上是一种模仿学习,模型被训练成模仿人类作者的行为。模仿学习是一种强大的技术,但它也有一些固有的局限性。为了理解这些局限性,让我们回顾一下计算机科学家Stephane Ross在2009年左右进行的一项研究。Ross试图开发更好的技术来训练机器人执行任务,但他选择了一个更简单的实验:训练一个神经网络来掌握SuperTuxKart,这是一款类似于马里奥赛车的开源视频游戏。
Ross在玩游戏时,软件会捕获屏幕截图和他按下游戏控制器按钮的数据。他使用这些数据来训练神经网络模仿他的游戏方式。如果他能够训练一个神经网络来预测在任何特定游戏状态下他会按下哪些按钮,那么该网络就可以通过在虚拟控制器上按下相同的按钮来实际玩游戏。然而,Ross最初的结果令人失望。即使在观看他的车辆多次绕赛道行驶后,神经网络仍然犯了很多错误。
Ross和他的顾问Drew Bagnell解释了为什么模仿学习容易出现这种错误。由于Ross是一位优秀的SuperTuxKart玩家,他的车辆大部分时间都在道路中间行驶。这意味着网络的大部分训练数据都显示了车辆没有脱离赛道危险时该怎么做。但偶尔,模型会稍微偏离航向。由于Ross很少犯同样的错误,因此赛车现在处于训练数据中不太能代表的情况。因此,模型更有可能犯第二个错误,这个错误可能会使它更接近边缘。经过几次这样的迭代,车辆可能会完全偏离轨道。Ross和Bagnell认为,模仿学习系统可能会遭受“复合误差”的影响:它们犯的错误越多,就越有可能犯更多的错误,因为错误会将它们置于训练数据无法很好表示的情况中。
早期的LLM也存在同样的问题。一个典型的例子是Kevin Roose在2023年2月为《纽约时报》撰写的故事。Roose花了两个多小时与微软的新必应聊天机器人交谈,该聊天机器人由GPT-4提供支持。在对话中,聊天机器人表达了对Roose的爱意,并敦促Roose离开他的妻子。它暗示可能想入侵其他网站以传播虚假信息和恶意软件。这种令人不安的对话是Ross和Bagnell所描述的复合误差的一个例子。GPT-4接受了数百万份文档的训练。但可以肯定的是,没有一份训练文档涉及记者引诱聊天机器人探索其不良一面。因此,对话持续的时间越长,GPT-4离其训练数据就越远,其行为就越疯狂。微软通过将聊天会话限制为五轮来回应。我认为BabyAGI和AutoGPT也发生了类似的事情。任务越复杂,完成任务所需的令牌就越多。更多的令牌意味着模型犯小错误并滚雪球般变成更大错误的机会就越多。因此,BabyAGI和AutoGPT会偏离轨道并驶入隐喻的沟渠。
Ross和Bagnell不仅发现了传统模仿学习的一个严重问题,他们还提出了一个在机器学习领域产生重大影响的解决方案。在少量训练后,罗斯会让AI模型自己驾驶。当模型在SuperTuxKart赛道上行驶时,罗斯会尽力模仿Maggie Simpson,按下如果他在玩游戏时会按下的按钮。通过让模型犯自己的错误,Ross给了它最需要的东西:训练示例,展示了如何在犯错后恢复。在每次训练前,模型都会根据Ross在前一圈的反馈进行重新训练。模型的性能会越来越好,下一轮训练将侧重于模型仍在犯错的情况。
这种称为DAgger(数据集聚合)的技术仍然被认为是模仿学习,因为该模型经过训练来模仿Ross的游戏玩法。但它的效果远好于传统的模仿学习。如果没有DAgger,即使经过多次训练,他的模型仍会继续偏离轨道。使用这项新技术,该模型只需经过几圈训练即可留在赛道上。这一结果对于任何学过开车的人来说都应该具有直观意义。你不能只是看着别人开车。你需要坐在方向盘后面并犯自己的错误。
AI模型也是如此:它们需要犯错,然后获得关于它们做错了什么事情的反馈。没有经过这种方式训练的模型(比如主要通过普通的模仿学习训练的早期LLM)往往是脆弱且容易出错的。
如果我们的目标是让SuperTuxKart车辆留在路上,为什么不直接针对该目标进行训练呢?如果模型设法留在路上(并取得进展),则给予其积极的强化。如果它驶离道路,则给予其负面反馈。这是强化学习背后的基本思想:通过试错来训练模型。
训练SuperTuxKart模型很容易,可能太容易了,以至于它不会成为一个有趣的研究项目。相反,罗斯专注于模仿学习,因为它是训练许多实际AI系统(尤其是在机器人技术中)的重要一步。但是强化学习也非常有用,谷歌DeepMind和几所大学的研究人员组成的一个团队从一个基础模型开始,然后使用两种技术之一(监督微调(一种模仿学习形式)或强化学习)来教导模型解决新问题。结果表明,模仿学习在“分布内”问题(即与其训练数据相似的问题)上通常比强化学习更快地取得进展。但是对于“分布外”问题(与训练数据的相似度较低的问题),使用模仿学习训练的模型会随着更多的训练而变得更糟。相反,使用强化学习训练的模型在分布外任务上的表现几乎与在分布内任务上的表现一样好。简而言之,模仿学习可以迅速教会模型模仿其训练数据中的行为,但是该模型很容易在不熟悉的环境中感到困惑。经过强化学习训练的模型更有可能学习在新的和不熟悉的情况下相关的通用原理。
虽然强化学习功能强大,但它也可能相当挑剔。假设你想仅使用强化学习来训练自动驾驶汽车。你需要将良好驾驶的每一项原则(包括诸如跟踪距离、在十字路口转弯以及知道何时可以越过双黄线之类的细微考虑)转换为明确的数学公式。这将非常困难。收集大量人类良好驾驶的例子并有效地告诉模型“像这样驾驶”会更容易。那是模仿学习。但是强化学习在训练自动驾驶系统中也起着重要作用。Waymo的研究人员发现,仅通过模仿学习训练的模型往往在“演示数据中充分表示的情况”下表现良好。但是,“数据中很少出现的更不寻常或危险的情况”可能会导致经过模仿学习训练的模型“做出不可预测的反应”,例如撞到另一辆车。Waymo发现,模仿和强化学习的结合比任何一种技术本身都能产生更好的自动驾驶性能。
人类也从模仿和明确的反馈中学习:在学校里,老师在黑板上演示数学问题,并邀请学生跟随(模仿)。然后,老师要求学生自己做一些问题。老师通过给他们的答案评分来给学生反馈(强化)。当有人开始一份新工作时,早期的培训可能包括跟随一位更有经验的工人并观察他们所做的事情(模仿)。但是随着工人获得更多的经验,学习会转向明确的反馈,例如绩效评估(强化)。请注意,通常在强化之前进行模仿是有意义的。模仿是向刚接触某个主题的人传授知识的有效方式,但是通常需要进行强化才能实现精通。
大型语言模型的情况也是如此。自然语言的复杂性意味着仅通过强化来训练语言模型是不可行的。因此,LLM首先通过模仿来学习人类语言的细微差别。但是,预训练在更长更复杂的任务中耗尽了精力。进一步的进展需要转向强化:让模型尝试问题,然后根据它们是否成功来给它们反馈。
强化学习已经存在了几十年。例如,DeepMind的AlphaGo在2016年击败了顶尖的人类Go玩家,它就是基于强化学习的。因此,你可能想知道为什么前沿实验室在2024年之前没有更广泛地使用它。
强化学习需要一个奖励模型,这是一个用于确定模型输出是否成功的公式。在某些领域,开发良好的奖励模型很容易,例如,你可以根据Go游戏AI的输赢来判断它。但是,自动判断LLM是否生成了好的诗歌或法律摘要要困难得多。
之前,我描述了Stephane Ross如何让他的模型玩SuperTuxKart,并在模型出错时直接提供反馈。我认为这种方法不适用于语言模型。对于LLM来说,犯错的方式太多了,人类无法纠正所有错误。
但是OpenAI开发了一种巧妙的技术来有效地自动化人类反馈。它被称为从人类反馈中进行强化学习(RLHF),它的工作原理如下:人类评估员查看LLM响应对,然后选择最佳响应。使用这些人类响应,OpenAI训练一个新的LLM来预测人类对任何给定文本样本的喜好程度。OpenAI使用这种新的文本评分LLM作为奖励模型,以通过强化学习(后)训练另一个LLM。
你可能会认为使用LLM来判断另一个LLM的输出听起来可疑地循环。为什么一个LLM比另一个LLM更擅长判断响应的质量?但是事实证明,识别好的响应通常比生成好的响应更容易。因此,RLHF在实践中效果很好。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 Opus的Claude Sonnet版本,最终以Sonnet的价格为客户提供接近Opus的性能。
强化学习使模型更加强大的一个重要方式是通过启用扩展的链式思考推理。如果LLM被提示“逐步思考”,即把一个复杂的问题分解成简单的步骤并一次推理一个步骤,它们会产生更好的结果。在过去的几年中,AI公司开始训练模型自动进行链式思考推理。然后,去年9月,OpenAI发布了o1,这是一种将链式思考推理推向比以前的模型更远的模型。o1模型可以生成数百甚至数千个令牌来“思考”一个问题,然后再产生响应。它思考的时间越长,就越有可能得出正确的答案。强化学习对于o1的成功至关重要,因为仅通过模仿学习训练的模型会遭受复合误差的影响:它生成的令牌越多,就越有可能搞砸。同时,链式思考推理使强化学习变得更加强大。只有当模型能够成功一段时间时,强化学习才有效,否则,训练算法将无从强化。随着模型学会生成更长的思考链,它们变得能够解决更困难的问题,这使得对这些更困难的问题进行强化学习成为可能。这可以创建一个良性循环,随着训练过程的继续,模型变得越来越强大。
今年1月,中国公司DeepSeek发布了一个名为R1的模型,在西方引起了很大的轰动。该公司还发布了一篇论文,描述了它如何训练R1。它包括对模型如何使用强化学习“自学”推理的精彩描述。DeepSeek训练其模型来解决困难的数学和编程问题。这些问题非常适合强化学习,因为它们具有可以由软件自动检查的客观正确答案。这使得大规模训练无需人工监督或人工生成的训练数据成为可能。下图来自DeepSeek的论文,展示了模型在给出答案之前生成的平均令牌数。可以看出,训练过程持续的时间越长,其响应就越长。DeepSeek描述了它的训练过程:[R1]的思考时间在整个训练过程中都显示出持续的改进。这种改进不是外部调整的结果,而是模型内部的内在发展。[R1]自然地获得了通过利用扩展的测试时计算来解决越来越复杂的推理任务的能力。这种计算范围从生成数百到数千个推理令牌,从而使模型能够更深入地探索和完善其思维过程。这种自我进化最显着的方面之一是,随着测试时计算的增加,复杂的行为会随之出现。诸如反思(模型会重新审视和重新评估其先前的步骤)以及探索解决问题的替代方法之类的行为会自发出现。这些行为不是明确编程的,而是作为模型与强化学习环境交互的结果而出现的。这是模型正在自学的那种技术的一个例子。在训练过程的某个时刻,DeepSeek研究人员注意到该模型已经学会了回溯并使用诸如此类的语言重新思考先前的结论。同样,DeepSeek表示它没有对模型进行编程来执行此操作,也没有故意提供演示这种推理风格的训练数据。相反,该模型在训练过程中“自发地”发现了这种推理风格。当然,这并非完全自发。强化学习过程始于一个已经使用无疑包括人们说“等等,等等。等等。那是一个顿悟时刻。”之类的例子的数据进行预训练的模型。因此,这并不是说R1是从头开始发明了这个短语。但是很明显,它确实自发地发现将这个短语插入到它的推理过程中可以作为一个有用的信号,表明它应该仔细检查它是否在正确的轨道上。那真是了不起。
结论:强化学习使代理成为可能 2023年,LLM最受关注的应用之一是创建能够理解公司内部文档的聊天机器人。解决这个问题的传统方法被称为RAG,即检索增强生成。当用户提出问题时,RAG系统会执行基于关键字或向量的搜索,以检索最相关的文档。然后,它将这些文档插入LLM的上下文窗口中,然后再生成响应。RAG系统可以制作引人注目的演示。但是它们在实践中往往效果不佳,因为单个搜索通常无法找到最相关的文档。如今,通过允许模型本身选择搜索查询,可以开发出更好的信息检索系统。如果第一次搜索没有找到正确的文档,模型可以修改查询并重试。在提供答案之前,模型可能会执行5次、20次甚至100次搜索。但是,只有当模型是“代理式”的,即它可以在多轮搜索和分析中保持在任务上,此方法才有效。正如AutoGPT和BabyAGI的例子所证明的那样,在2024年之前,LLM在这方面表现很差。今天的模型在这方面做得更好,这使得现代RAG风格的系统可以用更少的支架产生更好的结果。你可以将OpenAI等公司的“深度研究”工具视为由长上下文推理实现的非常强大的RAG系统。同样的观点也适用于我在本文开头提到的其他代理式应用程序,例如编码和计算机使用代理。这些系统的共同点是具有迭代推理的能力。他们思考,采取行动,思考结果,采取另一个行动,依此类推。