首页 > 其他分享 >《ReAct: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS》论文学习

《ReAct: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS》论文学习

时间:2023-07-10 17:56:16浏览次数:44  
标签:CoT LANGUAGE MODELS SYNERGIZING 行动 ReAct 任务 LLM 推理

一、论文主要思想

本文首先认为,到目前为止,LLM 在语言理解方面令人印象深刻,它们已被用来生成 CoT(思想链)来解决一些问题,它们也被用于执行和计划生成。

尽管这两者是分开研究的,但本文旨在以交错的方式将推理和行动结合起来,以提高LLM的表现。

这个想法背后的原因是,如果你考虑一下作为一个人,你如何行为来执行某些任务。

第一步是你将使用“内心言语”,或者你会以某种方式写下或与自己交流,说“我如何执行任务 X? 要完成任务 X,我需要首先执行步骤 1,然后执行步骤 2,依此类推”

更具体地说,如果你要在厨房做一道菜,你可以像这样做出反应:

  • “现在一切都切完了,我该烧热锅水了”),处理异常或者根据情况调整计划(“我没有盐,就用酱油和胡椒粉代替吧”), 并意识到何时需要外部信息(“我如何准备面团?让我在互联网上搜索”)。
  • 您还可以采取行动(打开食谱阅读食谱、打开冰箱、检查成分)来支持推理并回答问题(“我现在可以做什么菜?”)。

这种推理与行动的结合使得人类即使在以前未见过的情况下或面临信息不确定性时也能学习并完成任务。

论文引入一个名为ReAct的框架,在这个框架中,LLM被用来以交互的方式生成“合理的推理轨迹”以及“特定于任务的操作”。

  • 生成合理的推理轨迹允许模型归纳、跟踪、更新动作规划,甚至处理异常
  • 特定于任务的操作允许模型与外部数据源(例如知识库或外部环境)交互并收集信息

ReAct框架允许LLM与外部工具进行交互,从而获得更可靠和更真实地响应。

引入了ReAct框架给LLM带来了如下几点好处:

  • 可以提升语言和决策任务的表现
  • 可以提升LLM回答结果的人类可解释性和可信度

总的来说,作者认为最好的方法是使用ReAct与思维链(CoT)相结合,使得LLM可以同时使用模型内部和推理过程中的外部信息。

参考链接:

https://react-lm.github.io/
https://www.promptingguide.ai/techniques/react
https://arxiv.org/pdf/2210.03629.pdf
https://generativeai.pub/react-augmenting-llms-with-actions-b6ecfadcb4e9

 

二、ReAct是怎么工作的

ReAct的灵感来自于“行动(action)”和“推理(reasoning)”之间的协同作用,它使人类能够学习新任务并做出决策或推理。

Chain-of-thought (CoT) prompting显示LLM在常识推理和算术等问题上进行推理跟踪以生成最终答案的能力。但Cot的最大问题在于因为缺少与外部世界的连接导致无法及时更新知识,这导致了例如事实幻觉和错误传播等问题。

ReAct是一种将推理和行动与LLM相结合的通用范式。通过Few-shot Prompt,引导LLM生成推理轨迹和特定任务行动。这使得系统能够在整个pipeline过程中进行动态推理,不断创造、维护、调整行动计划,同时允许通过工具调用和外部环境(例如维基百科)进行交互以此获得外部信息,并将外部信息融合到整个动态推理过程中。

下图展示了一个基于ReAct框架进行问题回答的例子,

在上面的示例中,我们传递了类似于以下问题的prompt提示:

Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?

我们可以看到该模型生成了任务解决轨迹(思考、行动)。 Observation对应于来自正在交互的外部环境(例如搜索引擎)的调用结果。

本质上,ReAct 可以检索信息来支持推理,而推理有助于确定下一步要检索的内容,这是一个迭代循环的过程。

 

三、ReAct实验结果

0x1:Results on Knowledge-Intensive Tasks

论文首先在问答 (HotPotQA) 和事实验证 (Fever(opens in a new tab)) 等知识密集型推理任务上评估 ReAct。 以PaLM-540B为基础模型进行Prompt测试。

使用不同提示方式对 HotPotQA 和 Fever 进行的提示结果表明,ReAct 在这两项任务上总体表现均优于 Act(仅涉及行动)。

我们还可以观察到,ReAct 在 Fever 上的表现优于 CoT,在 HotpotQA 上落后于 CoT,关于原因论文中提供了详细的错误分析。

总之:

  • CoT存在事实幻觉问题
  • ReAct 的结构约束降低了其制定推理步骤的灵活性
  • ReAct 在很大程度上依赖于它检索的信息;无信息的搜索结果会使模型推理失败,并导致恢复和重新延续思考存在困难
  • 结合并支持 ReAct 和 CoT+Self-Consistency 方法的Prompt框架,最终表现效果通常优于所有其他提示方法。

0x2:Results on Decision Making Tasks

该论文还展示 ReAct 在决策任务上的性能结果。 ReAct 在 ALFWorld(基于文本的游戏)和 WebShop(在线购物网站环境)两个基准上进行评估。 两者都涉及复杂的环境,需要推理才能有效地采取行动和探索。

请注意,ReAct 提示针对这些任务进行了不同的设计,但仍保持推理与行动相结合的相同核心理念。

下面是涉及 ReAct 提示的 ALFWorld 问题的示例。

ReAct 在 ALFWorld 和 Webshop 上的表现均优于 Act。

没有任何思想的行动无法正确地将目标分解为子目标。

对于这些类型的任务,ReAct 中的推理似乎很有优势,但当前基于提示(prompting-based)的LLM推理方法与人类专家在这些任务上的表现仍然相去甚远。

 

四、ReAct Prompting

关于ReAct Prompting的过程可以参阅这篇文章

 

标签:CoT,LANGUAGE,MODELS,SYNERGIZING,行动,ReAct,任务,LLM,推理
From: https://www.cnblogs.com/LittleHann/p/17541295.html

相关文章

  • Flask Models进阶 多表
    FlaskModels进阶多表''' 多表查询时,db.relationship在哪边,哪边就是正向 正向查找关联关系名 反向查找backref #班级表 classGrade(db.Model):__tablename__='grade'#表名id=db.Column(db.Integer,primary_key=True,autoincrement=True......
  • django.db.models.query.QuerySet格式的数据输出
    1、deffindmtm2(request):importserializerimportjson#多对多跨表正向查询#res=softlist.objects.filter(hostlists__ip="10.116.6.177").values("softname")res2=softlist.objects.filter(hostlists__ip="10.116.9.233"......
  • DreamBooth Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generat
    目录概MotivationDreamBooth代码RuizN.,LiY.,JampaniV.,PritchY.,RubinsteinM.andAbermanK.DreamBooth:Finetuningtext-to-imagediffusionmodelsforsubject-drivengeneration.arXivpreprintarXiv:2208.12242,2022.概可控文生图.Motivation之前的......
  • Automatic quality of generated text Evaluation for Large Language Models,针对大模
    一、LLM生成结果自动化评测的技术挑战和研发背景LargeLanguageModels(LLMs)haverecentlygrownrapidlyandtheyhavethepotentialtoleadtheAItransformation.ItiscriticaltoevaluateLLMsaccuratelybecause: Highqualityrequirementsforgenerativere......
  • 【数据库原理、编程与性能】Basic SQL Query Language
    文章目录1.HistoryofSQL2.CapabilitiesofSQL2.1综合统一2.2高度非过程化2.3面向集合的操作方式2.4SQL以同一种语法结构提供两种使用方式2.5语言简捷,易学易用3.SQL语句3.1Create语句3.2Select语句3.3Subquery语句3.3.1定义3.3.2Conception(概念)3.3.3predicate(谓词......
  • Models, Mappings, Request Validation Notes
    RequestValidationAPIGatewaycanperformbasicvalidation.Thisenablesyou,theAPIdeveloper,tofocusonapp-specificdeepvalidationinthebackend.YoucanoffloadbasicvalidationtoAPIGateway.Forthebasicvalidation,APIGatewayverifieseith......
  • 语言模型(Language Modeling)概述
    语言模型(LanguageModeling)是自然语言处理(NLP)领域的核心技术之一,它的目标是学习一种概率分布,用于表示自然语言文本中词汇和句子的组合。在本文中,我们将探讨语言模型的发展历史、技术细节以及应用方面。发展历史1.统计语言模型早期的语言模型主要基于统计方法,如N-gram模型。代表......
  • Reward Modelling(RM)and Reinforcement Learning from Human Feedback(RLHF)for Large la
    一、RLHF技术的背景OpenAI推出的ChatGPT对话模型掀起了新的AI热潮,它面对多种多样的问题对答如流,似乎已经打破了机器和人的边界。这一工作的背后是大型语言模型(LargeLanguageModel,LLM)生成领域的新训练范式:RLHF(ReinforcementLearningfromHumanFeedback),即以强化......
  • sklearn和statsmodels中logit的区别
    sklearn中的logit是加了L2正则的逻辑回归,statsmodels中的是标准的LR 原文......
  • URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
    问题描述:如下图,在.xml配置文件中配置报错:URIisnotregistered(Settings|Languages&Frameworks|SchemasandDTDs)解决办法:工具栏:file-->settings:找到SchemasandDTDs中加入对应的地址即可 ......