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):
Paragraph 1: The Eiffel Tower is a wrought-iron lattice tower located on the Champ de Mars in Paris, France. It was named after the engineer Gustave Eiffel, whose company designed and built the structure.
Paragraph 2: The tower is 324 meters tall, about the same height as an 81-story building. It was completed in 1889 and has become a global cultural icon of France.
Paragraph 3: Visitors can take elevators or climb the stairs to reach the tower's observation decks. The tower offers stunning panoramic views of Paris, making it one of the most popular tourist attractions in the world.
Question:
Question: When was the Eiffel Tower completed?
Answer:
Answer: The Eiffel Tower was completed in 1889.
特点:
- 多跳推理:问题的设计方式使得它们的答案无法从单个段落中得出。相反,它们需要从上下文中的多个段落中汇总信息。
- 多样的段落:每个问题都附带有多个文本段落,其中一些段落可能包含相关信息,而其他段落可能与回答问题无关。
- 支持性事实:数据集还包括“支持性事实”,为模型提供有关回答问题的相关段落的提示。
- 解释:除了答案之外,数据集还包括“解释”,强调了对回答问题至关重要的段落部分。这个特点使得该数据集在可解释的人工智能研究中非常有用。
本文用到的例子:
说明:需要检索多跳内容才能得出最终结论。
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