教授LLM(硕士法学)学生思考和行动:ReAct提示工程

TL;DR (简述)

普林斯顿大学的教授和谷歌的研究人员最近发表了一篇论文,描述了一种新颖的提示工程方法,使大型语言模型(比如 ChatGPT)能够在模拟环境中理性思考和智能行动。这种 ReAct 方法模仿人类在现实世界中的运作方式,我们通过语言推理并采取行动来获取信息。在各种领域中,ReAct 的表现与其他提示工程(和模仿学习)方法相比表现出色。这标志着朝着人工通用智能(AGI)和具有体验语言模型(能像人类思考的机器人)的方向迈出了重要一步。有关该论文的信息和链接如下:

  • 标题:“ReAct:在语言模型中协同推理和行动”
  • 作者:姚顺宇,赵杰飞,于典,杜楠,伊萨克·莎夫兰,卡里克·纳拉西姆汉,和曹媛。
  • 出版年份:2023年
  • 出版机构:国际学习表示会议(ICLR)

背景

在本章中,我将讨论大型语言模型、提示工程和思维链推理。

大型语言模型

大型语言模型(LLM)是一种机器学习Transformers模型,它已经在巨大的语料库或文本数据集(例如互联网上的大多数网页)上进行了训练。在训练期间,需要大量时间(和/或GPU)、能源和水(用于冷却),采用梯度下降来优化模型的参数,使其能够很好地预测训练数据。实质上,LLM学习根据先前的单词序列预测最可能的下一个单词。这可以用于执行推理-找到一些文本可能是由模型生成的可能性-或文本生成,像ChatGPT这样的LLMs用于与人交流。一旦LLM完成训练,它就被冻结了,这意味着它的参数被保存,它不会向其训练数据添加输入或重新训练-这样做是不可行的,从微软的Tay chatbot成为纳粹中我们学到的,最好不要从用户那里学习。重要的是要注意,LLMs仍然会从它们的训练数据中学习偏见,并且OpenAI,即ChatGPT背后的公司,不得不添加保障-使用人类反馈的强化学习(RLHF)-以尝试防止模型生成有问题的内容。此外,由于LLMs默认只是根据它们所看到的内容生成最有可能的下一个单词,而不进行任何事实核查或推理,因此它们容易出现幻觉,或编造事实和推理错误(例如进行简单的数学运算时)。

自ChatGPT公开发行以来,LLMs就成为了风靡全球的热门话题。这些模型的新兴智能以及它们在我们生活的许多方面的应用,使它们成为了一个非常受欢迎的工具,每家公司都想要分一杯羹。除了聊天机器人和编码和写作助手,LLMs还被用于创建与模拟环境(包括互联网)交互的代理人。ReAct就是将LLM转化为这样一个代理人的示例。

提示工程学

如果您尝试过ChatGPT,您就会知道有时它会拒绝回答问题或回答得很差,但如果您改变问题的方式,您可能会得到更好的结果。这就是提示工程的艺术——通过修改您的输入,让LLM按照您想要的方式回答。这样做的想法是,LLM已经通过大量的人类生成的数据进行培训,几乎可以被视为人类——而不是在特定问题领域上训练一个新模型,可以尝试通过“唤醒其记忆”或告诉它有关新领域的一些事实来引出现有冻结的LLM的正确响应。这被称为上下文学习,主要有两种类型:零样本学习和少样本学习。零样本学习给出了一个提示,其中包括问题/命令之前的一些背景信息,以帮助LLM找到一个好的回答。少样本学习为LLM提供了一些提示和理想的响应示例,然后提出一个新的提示,LLM将按照示例的格式回答。

提示工程是自然语言处理(NLP)的未来。该领域正在从定制模型转向定制提示,因为LLM比任何人自己制作需要大量时间和精力的模型都要好得多。当LLM与正确的提示工程技术配对时,它往往可以做任何专业模型可以做的事情。

思维连锁推理

思维链推理是一种流行的提示工程技术,旨在抵抗推理错误。它包括给予LLM一个或多个通过问题进行口头推理的示例(少量学习),然后给它一个以相同方式解决的不同问题。这可以帮助推理错误,但仍然容易出现幻觉,而幻觉的“事实”可能会通过推理传播,导致模型得出错误的结论。

在下面的ReAct论文的图像中,将标准提示 - 只是问一个问题 - 与思维链(CoT)提示进行比较(尽管未显示额外输入),针对需要多步推理才能弄清的问题。使用标准提示的LLM猜测iPod,这是不正确的。使用CoT提示的LLM有更令人信服的响应,但仍然是错误的。尽管推理无可挑剔,但LLM妄想Apple远程最初是为了与Apple TV配合使用设计的(实际上是为Front Row程序设计的),这导致它得出错误的结论。

ChatGPT中文站
Yao et al. (2023)

由于幻觉问题,CoT 推理是不可靠的。如果 LLM 要成为一个有用的工具,它们不能随意捏造事实,因为那样我们就永远不能相信它们,最好还是自己进行研究。ReAct 旨在通过允许 LLM 进行行动,如搜索维基百科,以便它可以查找事实并从中推理,来解决这个问题。

方法

像思维链一样的推理方式,ReAct是一种提示性工程方法,使用少量训练让模型学习如何解决问题。CoT旨在模仿人类思考问题的方式,而ReAct也包括这种思考元素,但它更进一步,允许代理人文本动作,让它与环境交互。人类使用言语推理(说话或思考)来帮助我们制定策略和记住事情,但我们也可以采取行动来获取更多信息并实现我们的目标。这是ReAct的基础。ReAct提示包括带有行动的示例,采取这些行动所获得的观察结果以及在过程的各个步骤中的人类转录思维(推理策略)。LLM学习模仿这种交替思考和行动的方法,使其成为其环境中的代理人。下面是ReAct代理人运行的示例,以悲惨的例子(以思考-> 行动-> 观察的顺序呈现)的等宽字体呈现。

ChatGPT中文站

重要的是要记住,观察结果不是由LLM生成的,而是通过环境生成的,这是LLM只能通过特定的文本操作与之交互的一个单独的模块。因此,为了实现ReAct,您需要:

  1. 一个环境会接受一个文本操作(来自一组潜在操作,这些操作可能基于环境的内部状态而改变),并返回一个文本观察结果。
  2. 一个输出解析器框架,一旦生成了有效的操作,就停止代理生成文本,执行该操作并返回观察结果(将其附加到生成的文本中并提示LLM)。
  3. 人类制造的关于思想、行为和环境观察的混合样例,可用于少样本学习。

例子的数量和详细程度由您决定。以下是ReAct提示中使用的一个例子的开头。

ChatGPT中文站
Yao et al. (2023)

在这里,你可以看到思考、行动和观察都被清晰地标记了出来,而行动使用了一种特殊的格式,其中查询用括号括起来,这样代理程序将学习以这种方式编写它们,而输出分析器也可以轻松地提取查询。

结果

对于他们的冻结LLM,姚等人(2023年)使用PaLM-540B。他们在两个知识密集型推理任务和两个决策任务中使用该LLM测试ReAct提示。我将逐一讨论每个任务。

知识密集型推理任务

本任务区域使用的两个域是HotPotQA,它是使用维基百科段落的多跳问题回答,和FEVER,它是事实验证。代理人通过以下操作可以与一个特意简化的维基百科API互动:

  • 搜索:通过名称或最相似结果列表查找页面。
  • 查找:在页面中查找字符串。
  • 完成:以答案结束任务。

在这些领域中,ReAct 与以下技术进行比较:

  • 标准:提示中没有想法、行动或观察。
  • CoT:无即时行动或观察。
  • CoT-SC(自洽性):CoT提示。从LLM中随机抽取一定数量的回答,并选择大多数作为答案。
  • 行动:没有即时的思考。
  • ReAct -> CoT-SC:开始时为ReAct,但如果开始出现问题,将转为CoT-SC。
  • CoT-SC -> ReAct:如起初表现不佳,则转向ReAct。

成功是通过在FEVER和HotPotQA领域的准确性来衡量的。下面的图表显示了CoT-SC在每个领域中随着采样回答数量的增加的结果。

ChatGPT中文站
Yao et al. (2023)

ReAct 在 HotPotQA 中表现不佳,但在 FEVER 中胜过 CoT。ReAct 比 CoT 更不容易产生幻觉,但是推理错误率更高。尽管 ReAct 确实有这个缺点,但 ReAct -> CoT-SC 和 CoT-SC -> ReAct 方法是最成功的。以下是与文章开头相同的问题,ReAct 的回答是正确的。

ChatGPT中文站
Yao et al. (2023)

决策任务

本任务领域中使用的两个域名是ALFWorld和WebShop。我将分别解释每个域名。

ALF世界

ALFWorld 是一个带有逼真环境的基于文本的游戏。它具有文本操作,可用于在模拟世界中移动和交互,例如“打开抽屉 1。”给代理人的目标可能是要在房子里找到特定的物品,因此常识推理有助于知道这样的物品通常会在哪里被找到。在这个领域中与 ReAct 进行比较的基准是:

  • 行动:没有即刻的思考。
  • BUTLER: 一种模仿学习方法。
  • ReAct-IM(内心独白):只能想到环境以及它离目标有多远。

成功的衡量标准是达成目标的试验百分比。ReAct表现优于基线。

网店

WebShop是一个模拟的在线购物网站,其数据来源于亚马逊, 具有导航网站和搜索产品的大量行为,这是一个具有挑战性的领域。目标是找到符合用户规格的商品。本领域与基准ReAct进行比较的有:

  • 动作:不要在提示中思考。
  • IL: 一种模仿学习方法。
  • IL + RL:一种模仿和强化学习方法。

成功的衡量标准在于所选择的项与用户心中所想的隐藏项之间的接近程度。ReAct表现超越基础模型。

讨论

尽管ReAct由于其推理错误并不完美,但仍是一种强有力的提示工程方法,可以克服思维链幻觉问题,并使LLM成为可以与其环境互动的代理。此外,它是一种非常可解释的方法,因为代理会在行动时输出其思维过程。

我相信ReAct是通向人工通用智能(AGI)和具身语言模型(像人类思考的机器人)的一步。 如果机器人有一种基于熟悉特征对外部环境建模并创建提示的方法,它可以(至少尝试)在大量领域内自行行动,而无需人类制造的示例。 它还需要某种形式的记忆,或者学习经验的能力,使其更像人类。 目前尚不清楚创造AGI是否会有助于还是伤害人类,但有常识知识的机器人,只要像推理错误和幻觉这样的错误被解决,就可以为我们提供巨大的帮助(比如消防员)。

LLM代理已经商业化,用于各种任务,从创建网站到订购披萨。还有非商业应用,例如破坏人类。我只希望这些工具也能被用于好的方面。一个目标是找出如何解决世界问题的代理可能会很好。

2023-10-20 16:50:02 AI中文站翻译自原文