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 ?
