
ICLR 2023 | ReAct:首次结合Thought和Action提升大模型解决问题的能力
大家好,我是HxShine。
今天分享一篇普林斯顿大学和Google Research, Brain Team合作的一篇文章,REAC T: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS[1]:在语言模型中协同Reasoning推理和Action行动。
其在大语言模型中将Thought推理过程和Action行动结合,一方面可以通过Action从外部获取额外信息,另一方面可以通过Thought过程,细化任务,搜索有用信息,过滤无用信息,从而来提高大模型的表现。
一、概述
Title:REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS
论文地址:https://arxiv.org/abs/2210.03629
代码:https://github.com/ysymyth/ReAct.git
其他:https://react-lm.github.io/
1.Motivation
大模型的的推理能力(例如思想链提示CoT)和Action规划(例如Action计划生成)主要作为单独的领域来研究,没有将他们结合起来。
2.Methods
本文提出ReAct,将想链提示CoT和Action计划生成结合起来,相互补充增强,提升大模型解决问题的能力。其中CoT的Reasoning推理跟踪有助于模型诱导、跟踪和更新行动计划以及处理异常。Action操作允许它与知识库或环境等外部来源接口并收集其他信息。
总结:主要有Thought、Act、Obs几个步骤,Thought引入思维过程思考下一步该干什么,Act执行相关动作,Obs是观察每一步的结果。
3.Conclusion
- ReAct可以提高人类可解释性和可信度,并取得了sota的成绩。
更好的效果。通过对多跳问答、事实核查和交互式决策任务的多样化实验,ReAct通过可解释的决策轨迹带来更好的性能
可解释性强。ReAct通过与简单的维基百科API交互,生成类似人类的任务解决轨迹,比没有推理轨迹的基线更容易解释。
- 克服了CoT思想链推理中普遍存在的幻觉和错误传播问题。
- 在AlfWorld和WebShop数据集上,ReAct比模仿和强化学习方法(IM-RL)的绝对成功率分别高34%和10%
- 其他结论:1)从更多高质量的人工注释中学习进行微调可以进一步提高性能。2)扩大ReAct与多任务训练的规模,并将其与强化学习等互补范例相结合,可以产生更强的Agent。
二、详细内容
1.HotpotQA数据集介绍
概述:HotPotQA数据集的主要目标是测试模型进行多跳推理的能力,并回答需要从多个段落中汇总信息才能得出正确答案的复杂问题。该数据集专注于提供具有挑战性的问题,要求深入理解上下文。
例子:
Context (multiple paragraphs):
Question:
Answer:
特点:
- 多跳推理:问题的设计方式使得它们的答案无法从单个段落中得出。相反,它们需要从上下文中的多个段落中汇总信息。
- 多样的段落:每个问题都附带有多个文本段落,其中一些段落可能包含相关信息,而其他段落可能与回答问题无关。
- 支持性事实:数据集还包括“支持性事实”,为模型提供有关回答问题的相关段落的提示。
- 解释:除了答案之外,数据集还包括“解释”,强调了对回答问题至关重要的段落部分。这个特点使得该数据集在可解释的人工智能研究中非常有用。
本文用到的例子:
说明:需要检索多跳内容才能得出最终结论。
2.本文使用的不同的方法的说明
2.1 Act方法(没有中间思维过程)
2.2 CoT方法(没有Action接入外部知识)
2.3 ReAct方法(既有中间Thought过程,又有Action接入外部知识)
3.实验结论
方法说明:
- Standard(标准提示):删除ReAct轨迹中的所有思想、行动、观察等步骤。
- CoT(思想链提示):删除行动和观察,保留思想,并作为仅用于推理的基线。
- CoT-SC(self-consistency):利用自一致性[1]方法,在推理期间抽样21个CoT轨迹,解码温度为0.7,并采用大多数投票得到答案。
- Act:仅仅保留Agent提示(Act),它删除了ReAct轨迹中的Thought思维过程,可以初步认为其类似于WebGPT。
- ReAct:本文的Thought + Action结合的方法。
- ReAct → CoT-SC:当ReAct未能在给定步骤内返回答案时,返回CoT-SC结果。
- CoT-SC → ReAct:当n个CoT-SC样本中的大多数答案少于n/2次(即内部知识可能无法自信地支持任务)时,返回ReAct结果。
ReAct vsCoT:这两者是灵活性和事实性的权衡,CoT灵活性好,ReAct事实性更好。ReAct在Fever数据集优于CoT(60.9对56.3),在HotpotQA上略微落后于CoT(27.4对29.4)。分别从ReAct和CoT(因此共200个示例)中随机抽样了50个正确和错误答案的轨迹(由EM判断)。一些关键观察结果如下:
- A)幻觉是CoT的一个严重问题。导致在成功模式下的假阳性率比ReAct(14%对6%)高得多,失败的占比(56%)。相比之下,由于外部知识库的访问,ReActis的问题解决轨迹更加可靠。
- B)ReAct灵活性比CoT差。虽然交错推理、行动和观察步骤提高了ReAct的基础性和可信度,但这种结构性约束也降低了其制定推理步骤的灵活性。导致比CoT更高的推理错误率。我们注意到,ReAct特有的一种频繁错误模式,即模型重复生成之前的想法和行动,我们将其归类为“推理错误”的一部分,因为模型未能推理下一步采取什么行动。
- C)对于ReAct来说,通过搜索成功检索信息知识至关重要。非信息搜索占错误案例的23%,它使模型推理脱轨,并使其难以恢复和重新表述想法。这也许是事实性和灵活性之间的预期权衡,这激发了我们提出的结合两种方法的策略。
结论:1)ReAct比Act提升大概在2个点左右,ReAct和CoT-SC(Self-Consistency)结合效果提升比较多,大概有8个点的提升。2)CoT灵活性好,ReAct事实性更好。
4.ReAct + FineTuning效果提升比较大
说明:1)左边learning = prompt表示直接在In-context中引入样本进行学习,对比standard、CoT、AcT、ReAct效果差异。2)右边learning = finetune表示利用数据先fine-tuning模型,然后再对比standard、CoT、AcT、ReAct效果差异。
Fintune方法:使用ReAct生成的3000个正确答案轨迹(也适用于其他基线)来微调较小的语言模型(PaLM-8/62B),以根据输入问题/索赔为条件解码轨迹(所有想法、行动、观察)详情见附录B.1。
结论1:模型参数量越小,未经过FineTuning方法的ReAct表现越差,随着模型尺寸变大,ReAct效果越来越好。说明对于小模型,在prompt里面添加相关例子,模型可能不太能理解你的例子,这个和之前Google的文章提到的现象是一致的[3]。
结论2:同等模型大小下,ReAct + FineTuning效果比ReAct + prompt效果好非常多。例如同样是62b的模型,Finetuning后指标是39+,Prompt形式的是15+,提升了块1倍,说明利用FineTuning能极大的改善ReAct的效果。
5.其他实验
数据集说明:两个基于语言的交互式决策任务,ALFWorld和WebShop,这两个任务都具有复杂的环境,要求算法能够克服稀疏的奖励和长期行动,要求高效的推理和行动。
结论1:ReAct方法比其他方法都很不少,AlfWorld数据集上,ReAct vs Act = 71:45,比其他方法也好不少。如果没有任何Thought,Act就不能正确地将目标分解为更小的子目标,或者失去了对当前环境状态的跟踪。
结论2:Webshop数据集合上,ReAct vs IL+RL = 40:28.7,ReAct更有可能通过推理来识别与指令相关的产品和选项,来缩小噪声观察和行动之间的差距。但是还是和人类专家的指标差不少。
三、总结
- Act可以调用外部接口获取更多信息,但是如果没有Thought过程,一方面没法将目标分解为更小的目标,失去了对当前环境的跟踪。另一方面,ReAct可以通过推理来识别与指令相关的信息,过滤不相关的噪声。
- ReAct vsCoT:这两者是灵活性和事实性的权衡,CoT灵活性好,ReAct事实性更好。幻觉是CoT的一个严重问题,因幻觉带来的错误推理占比比较高。Action和观察步骤提高了ReAct的基础性和可信度,但这种结构性约束也降低了其制定推理步骤的灵活性。
- 在模型尺寸比较小的时候,在prompt中使用ReAct效果提升不大,随着模型增大,效果越来越好这个和[3]观察到的现象一致,可能只有大模型才能理解你在In-context中举的例子。
- 利用推理正确的数据,去构建中间过程的数据集,这个是一个比较好的降低标注成本方法[4],可以通过该方法低成本构建大量的finetuning数据集。同时本文观察的在模型大小为60B左右时,Finetuning带来的提升比prompt方法带来的提升要高很多,说明ReAct结合finetuning可能是一种比较好的方式来提高效果。
四、References
[1] Wang X, Wei J, Schuurmans D, et al. Self-consistency improves chain of thought reasoning in language models[J]. arXiv preprint arXiv:2203.11171, 2022.
[2] Yao S, Zhao J, Yu D, et al. React: Synergizing reasoning and acting in language models[J]. arXiv preprint arXiv:2210.03629, 2022.
[3] Wei J, Wei J, Tay Y, et al. Larger language models do in-context learning differently[J]. arXiv preprint arXiv:2303.03846, 2023.
[4] Zelikman E, Wu Y, Mu J, et al. Star: Bootstrapping reasoning with reasoning[J]. Advances in Neural Information Processing Systems, 2022, 35: 15476-15488.
[5] state of gpt: https://karpathy.ai/stateofgpt.pdf
本文转载自NLP PaperWeekly,作者: HxShine
