北郵、美團聯合提出反思微調AgentRefine:微調的也能讓Agent模型學會反思?

©PaperWeekly 原創 · 作者 | 洪文滔、傅大源
單位 | 北京郵電大學碩士生
研究方向 |自然語言處理
概述
背景
基於大語言模型(LLMs)的智慧體(agent)已經被證實其能像人類一樣執行復雜任務。其能利用大型語言模型的強大能力來感知環境、做出決策並採取行動,已成為解決複雜現實世界問題的有效方案。
動機
我們首先觀察到,現有的智慧體訓練語料庫在訓練內(Held-in)評估集上表現出了令人滿意的結果,但在訓練外(Held-out)評估集上卻未能很好地泛化。
這些智慧體微調工作面臨嚴重的格式錯誤,並且常常長時間陷入同樣的錯誤中。它們無法從經驗中學習,只能記住現有的觀察-行動關係。基於這一洞察,我們提出了一種新穎的 AgentRefine 框架用於智慧體微調策略。其核心思想是讓模型透過軌跡中的觀察學習糾正其錯誤。
效果
透過使用我們合成的資料在 Llama3 和 Mistral-v0.3 上執行微調,我們在五個智慧體評估任務上的實驗表明,AgentRefine 在多樣化智慧體任務的泛化能力上顯著超越了最先進的智慧體微調工作。它在面對擾動時也具有更好的魯棒性,並且能夠在推理時生成多樣化的思維。
我們的研究結果建立了智慧體泛化與自我修正之間的關聯,併為未來的研究提供了一個新正規化。
論文題目:
AgentRefine: Enhancing Agent Generalization through Refinement Tuning
論文地址:
https://arxiv.org/abs/2501.01702
程式碼地址:
https://github.com/Fu-Dayuan/AgentRefine
專案主頁:
https://agentrefine.github.io/

方法
資料構建

受到桌面角色扮演遊戲(TRPG)的啟發,AgentRefine 資料的構建過程可以分為三個部分:指令碼生成、軌跡生成和驗證,如圖 4 所示。
指令碼生成要求大型語言模型根據角色生成包含環境、任務和可用動作的指令碼。在軌跡生成階段,LLM 需要同時扮演主持人(DM)和玩家的角色,以生成包含錯誤的多輪智慧體資料,並根據指令碼進行精煉。驗證將對指令碼和軌跡進行驗證,指出 LLM 在給定角色中所犯的錯誤,LLM 將根據驗證者的反饋重新生成指令碼/軌跡。
指令碼生成
我們首先從多樣化的人物中抽取一個人物,並提示大型語言模型基於生成一個包含環境、任務和可用動作的指令碼。環境將包括可能在互動中出現的位置、物品和玩家資訊。
在生成環境後,LLM 將生成一個清晰具體的任務。最後,LLM 將生成一系列可用的動作。對於每個動作,我們要求 LLM 生成一個動作名稱、驗證程式碼和有效引數。
軌跡生成
給定一個指令碼,LLM 可以在一次呼叫中模擬 DM 與玩家之間的多回合互動。具體而言,DM 的回合分為三個階段:思考、觀察和評估。
在思考階段,我們要求 LLM 評估玩家的狀態和迄今為止已知的資訊,並分析玩家可以根據上一個動作獲得的觀察結果。觀察階段將提供玩家可以獲得的觀察結果,而在評估階段,DM 將評估玩家最後的動作是否包含引數錯誤、邏輯錯誤和位置錯誤。玩家的回合類似於 ReAct,要求 LLM 透過思考分析當前狀態,然後提出一個行動。
驗證
驗證器將檢查指令碼和軌跡。在指令碼部分,為了確保動作名稱的有效性,我們對動作名稱應用驗證程式碼,僅在所有動作透過驗證時儲存指令碼。在軌跡部分,如果生成的軌跡存在:
1. 在某個回合處存在 JSON 格式錯誤;
2. 在最後一個回合處任務未完成;
3. 在玩家的回合時,其動作無法與任何驗證程式碼及對應引數匹配,而且 DM 在回合中未提供引數錯誤,我們將儲存所有之前的回合,直到,並提示 LLM 繼續生成。如果 DM 評估任務已完成但軌跡中的錯誤修正回合數少於兩個,我們將提供所有回合給 LLM,並要求其從頭開始重新生成軌跡。
生成設定
我們使用 gpt-4o-2024-05-13 生成指令碼和軌跡。我們將儲存所有能夠透過驗證的軌跡,這些軌跡在 4 次 LLM 呼叫中生成(包括指令碼生成和軌跡生成)。
我們主要採用 1-shot 軌跡示例方法進行軌跡生成,並在指令碼生成中採用 3-shot 指令碼示例,以幫助 LLM 遵循格式並提供多樣化的結果。我們使用 deepseek-v2.5 作為開源 LLM 來生成指令碼和軌跡。
Refinement Tuning
在生成完整軌跡後,我們將軌跡轉換為 Refinement Tuning資料集,具體而言,使用者回合是 DM 的觀察,而助手回合是玩家的思維和行動,以 ReAct 格式表示。
為了防止 LLM 生成的錯誤回合干擾,我們改變了損失函如方程 1 所示,其給定資料的總回合數、、別是第回合的思維、行動和觀察。如正確的,,否則

實驗

實驗設定
我們在大多數實驗中使用 LLaMA3-base 系列模型。對於 mistral,我們使用 mistral-v0.3。我們應用了原始的 llama3(或 mistral)的多輪聊天模板。我們使用 LLaMA-Factory 來訓練我們的模型。
我們選擇了 5 個任務:SciWorld、Alfworld、BabyAI、PDDL 和 Jericho,它們都在測試模型的決策能力。我們使用 AgentBoard 框架進行實驗,該框架可以確定智慧體是否完成了所有任務(成功率)以及智慧體是否到達了關鍵節點(進展率)。
對於閉源模型,我們選擇 gpt-4o-2024-05-13 和 gpt-4o-mini-2024-07-18。對於開源模型,我們選擇 Meta-Llama-3-8B-Instruct、MetaLlama-3-70B-Instruct 和 Mistral-7B-Instruct-v0.3。
對於微調模式,我們選擇 Agent-FLAN、AgentGym 和 AgentGen 作為基線。它們都試圖解決智慧體泛化問題。Agent-FLAN 的訓練集包括 Alfworld。AgentGym 的訓練集包括 Alfworld、BabyAI 和 SciWorld。這些資料集將被視為相應方法的 Held-in 測試任務。
主要結果
表一顯示了 AgentRefine 與其他方法的效能比較。我們用下劃線標識每種方法的 held-in 指標。可以觀察到,與其他工作相比,我們的方法在 held-out 任務中顯示出顯著優勢。
例如,在 Sciworld 成功率上領先 Agent-FLAN 13.3%。值得注意的是,在某些任務中,AgentRefine 甚至可以達到 GPT-4o 系列的效能。這證明了 AgentRefine 強大的泛化能力。
為了進一步研究 Refinement Tuning 的有效性,我們進行了相關的消融實驗。表 2 顯示,在遮蔽 Refinement Tuning 後,模型在 5 個任務上的表現顯著下降。例如,Sciworld 的效能下降約 43%,在某種程度上反映了 Refinement Tuning 的必要性。
從表 2 中,我們可以觀察到,在沒有精煉軌跡的資料上訓練的模型在所有任務中經歷了類似幅度的效能下降。 
在我們提出的 Refinement Tuning 中,我們對錯誤的回合標記的損失進行 mask,以防止模型學習不正確的思維過程。為了驗證這一過程是否必要,我們在相同的資料上訓練一個學習所有助手回合標記的模型。表 2 顯示,學習錯誤標記的模型導致非常不利的後果,Sciworld的效能幾乎下降了75%。
分析
魯棒性分析
我們在一個 held-in 任務上進行資料擾動實驗。具體而言,我們選擇 Alfworld,它屬於 AgentGym 和 Agent-FLAN 的 held-in 類別。我們在 Alfworld 中進行了 5 種擾動:
擾動 1:將指令中的 [clean、cool、heat] {obj} with {recep} 更改為 [clean、cool、heat] {obj} using {recep}。
擾動 2:將指令中的 go to {recep} 更改為 move to {recep}。
擾動 3:將指令中的 take {obj} from {recep} 更改為 from {recep} take {obj}。
擾動 4:刪除指令中物品名稱和物品編號之間的所有空格。
擾動 5:移除訓練集中的所有 IND 資料並重新訓練模型。我們還更改了 Agentboard 的環境介面以適應這些變化。
先前的工作在 held-in 任務上進行了廣泛的訓練,但在 held-out 任務上表現不佳。一個可能的原因是模型僅僅記住了觀察和訓練資料中行為之間的鍵值對。而不是學習根據任務和觀察推斷正確的行動。
透過表 3 我們可以觀察到,簡單的資料擾動導致原始保持任務的效能顯著下降。例如,在平均分數下,AgentGym 的成功率下降了 25.6%,而 Agent-FLAN 的效能下降更為嚴重,達到了 30.4%。它們的標準差接近 20%。
相比之下,我們的 AgentRefine 在平均值上增加了 3.7%,且標準差較低,為 3.73%,這表明它學習了決策能力,而不僅僅是簡單的記憶。
案例分析
圖 9 展示了 Agent-FLAN 和 AgentRefine 在 Jericho 和 Sciworld 中的示例。這些案例表明,Refinement Tuning 可以增強模型思維的多樣性和質量,這有助於提高模型的探索廣度和效率,並避免在新環境中總是陷入迴圈。 
在 Jericho, Agent-FLAN 錯誤地認為它不在牢房中,並試圖前往牢房。在失敗後,它選擇檢查有效動作。儘管檢查有效動作是一個正確的選擇,但 Agent-FLAN 不會根據返回的結果糾正其錯誤決策,而是重複“前往牢房並檢查有效動作”的錯誤迴圈。
相比之下,AgentRefine 在意識到其行動未能實現目標時,會嘗試各種新方法,而不是無休止地重複之前嘗試過的錯誤行動。 
在 Sciworld 中,Agent-FLAN 忽略了目標中的提示,即叉子在臥室,並選擇在廚房搜尋。此外,Agent-FLAN 在記住 Alfworld 資料集後,試圖輸出只能在 Alfworld 中找到的位置(抽屜、檯面以及動作格式 go to {place}),這些在 SciWorld 中並不存在。
相反,AgentRefine 能夠清楚地找到溫度計,並決定去臥室尋找叉子。在去臥室失敗後,它決定根據幾輪觀察去走廊。在思考 6 中,儘管 AgentRefine 錯誤地認為它無法到達臥室,但其判斷表明它可以利用短期記憶(來自第 2 輪)修正其決策。
當觀察 6 提供關於臥室的清晰資訊時,AgentRefine 能夠糾正其在思考 6 中的錯誤決策併到達臥室。這表明,AgentRefine 在結果上的改善並不是由於記憶訓練資料中的先前知識,而是其有效利用和整合短期記憶中多個關鍵資訊的能力,以糾正歷史決策中的錯誤。
推理任務
圖 8 展示了推理任務 HotpotQA 的結果。結果表明,AgentRefine 在 HotpotQA 的 EM 和 F1 指標上優於其他方法。這證明了 AgentRefine 在推理問題上的泛化能力依然有效。
GPT-4 判斷的可靠性
圖 10 顯示了 GPT-4 與人類判斷的比較。我們隨機抽取了 50 條生成軌跡。在每條軌跡中,我們隨機抽取了 1 個正確回合和 1 個錯誤回合。我們要求人類標註者標記回合的正確性。
結果表明,在 GPT-4 標記為正確的回合中,94% 與人類判斷一致,而在 GPT-4 標記為錯誤的回合中,82% 與人類判斷一致。這表明 GPT-4 的判斷是可靠的。
開源模型合成軌跡
表 5 展示了我們使用 Deepseek-v2.5 合成的 4000 個訓練軌跡訓練後的結果。結果表明與使用 GPT-4 進行資料合成的 Agent FLAN 相比,使用開源模型 DeepSeek-v2.5 合成的 AgentRefine 資料在執行任務方面具有顯著優勢。
這說明了 AgentRefine 的有效性。同時也反映出早在 2024 年 9 月 Deepseek 的模型就可以接受複雜指令合成出帶有反思步驟的軌跡。
總結
在這項工作中,我們透過 agent tuning 研究開源大型語言模型的通用 agent 能力。目前的工作在 held-in 的評估集上表現良好,但由於對幾個手動 agent 環境的過擬合,未能在 held-out 上進行泛化。
我們提出了 AgentRefine 方法,使模型能夠根據環境反饋糾正其錯誤。實驗表明,AgentRefine 在多樣化智慧體基準測試的泛化能力方面顯著優於最先進的智慧體微調工作。
我們的分析表明,Refinement Tuning 增強了智慧體能力的健壯性,而智慧體環境和思維的多樣性進一步提升了效能。我們希望為未來的智慧體研究提供新的見解。
更多閱讀
#投 稿 通 道#
 讓你的文字被更多人看到 
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註 
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected] 
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·
·
·

相關文章