華為諾亞的盤古Agent來了,讓智能體學會結構化推理
自 AI 誕生以來,開發能夠解決和適應復雜工作的多任務智能體(Agent)一直是個重要的目標。
AI 智能體對于許多應用至關重要,研究者通常用強化學習方法通過環境交互來培養智能體的決策技能。基于模型和無模型的深度強化學習方法都已取得了廣為人們所知的成就,例如 AlphaZero、改進的排序和乘法算法、無人機競速以及聚變反應堆中的等離子體控制。這些成功涉及一個標準的強化學習管道,智能體在其中學習我們所說的外在功能 —— 一種直接與外界交互的策略,即響應環境刺激以最大化獎勵信號。該函數通常是參數化神經網絡,根據環境觀察生成動作。
經典的強化學習方法使用單個映射函數來定義策略 π,但在復雜的環境中通常被證明是不夠的,這與通用智能體在多個隨機環境中交互、適應和學習的目標相矛盾。
在強化學習中引入的先驗通常是特定于任務的,并且需要廣泛的工程和領域專業知識。為了泛化,最近的研究已轉向將大型語言模型(LLM)集成到智能體框架中,如 AutoGen、AutoGPT 和 AgentVerse 等工作。
近日,來自華為諾亞方舟實驗室、倫敦大學學院(UCL)、牛津大學等機構的研究者提出了盤古智能體框架(Pangu-Agent)嘗試來解決 AI 智能體面臨的挑戰。該研究作者包括倫敦大學學院計算機系教授汪軍。
論文鏈接:https://arxiv.org/abs/2312.14878
該工作在兩個關鍵方面區別于先前的框架:i)將智能體的內部思維過程形式化為結構化推理的形式;ii)展示了通過監督學習和強化學習來微調智能體的方法。
標準強化學習側重于直接學習從感知中輸出行動的策略。雖然人們習慣于通過深度網絡架構參數化策略,但作者認為,當通過基礎模型策略跨任務擴展智能體時,標準 RL 管道中缺乏固有推理結構可能會成為一個重大瓶頸,因為梯度無法為所有深度網絡提供足夠的監督。
盤古 Agent 框架展示了結構化推理如何幫助強化學習克服這些挑戰,利用大規模基礎模型提供先驗知識并實現跨廣泛領域的泛化能力。
據介紹,該工作的主要貢獻包括:
- 證明了結構化推理在智能體框架中的重要性,盤古 Agent 的通用性足以有效涵蓋現有智能體框架的任務范圍。作為一個元智能體框架,它可以利用內部函數調用的順序進行調整或微調,或者將決策委托給底層 LLM。使用者也可以輕松擴展智能體的功能,并組合或重用許多已經實現的方法。
- 作者在七個 LLM 和六個不同領域上進行了評估。該評估可用于告知研究人員如何初始化其智能體以及如何收集微調步驟的數據。
- 研究證明了框架的監督微調(SFT)和強化學習微調(RLFT)的影響。通過結構化推理,該工作成功實現了基于拒絕采樣的 SFT 管道,大幅提高了 LLM 在 ALFWorld 領域的表現,成功率從 27% 增加到 82%。盡管 SFT 的好處已趨于穩定,但通過 RL 可以實現進一步增強,將 BabyAI 任務的成功率提高到 88%,甚至從 28% 提高到 91%。此外,跨領域實驗顯示通過 RL 管道訓練的單個 LLM 能夠同時在 ALFWorld (82%) 和 BabyAI(18 項任務中平均 58.7%)領域實現高性能。
這些發現凸顯了結構化推理在基于大模型的智能體訓練方面存在不小潛力。
表 1:盤古 Agent 與最近一些大模型智能體的比較
圖 2:三個內在函數的可視化,展示了該工作提出的范式在提高代理的模塊化和靈活性方面的重要性。用戶可以重新定義和重新配置內在函數,例如 μ1 (?) 以 LLM 作為輸入來產生想法,或 μ2 (?) 利用工具來幫助改進推理。新智能體還支持嵌套這些內在函數來構建更通用的模塊,以完成復雜且具有挑戰性的決策任務
Pangu-Agent 的范式
為了引入結構化推理,我們假設一系列內在函數 μ(?) 作用于并轉換智能體的內部記憶。引入這些內在函數可以將典型的強化學習目標重新表述為支持多個「思考」步驟的目標。因此,典型的 RL 目標旨在找到一個以觀察 o→ 的歷史為條件的策略 π,以最大化回報 R,即 maxπ(?) R (π(?|o→)) 可以使用嵌套集重寫(參見圖 . 2) 內函數 μ→ (?) 為:
作者強調需要將這些函數與外部函數分開定義、學習和使用,這樣用戶就可以重新定義任何被認為對其任務有幫助的任意嵌套。我們可以根據方程重寫盤古智能體的優化問題。更詳細的形式為:
其中 rt 是時間步 t 的獎勵,取決于環境觀察 ot 和行動 at。此外,γ ∈ [0, 1) 是一個折扣因子,指定獎勵隨時間折扣的程度。外部函數仍然充當與外界交互的執行器,而那些額外分層的內部函數旨在封裝系統架構師認為有益的任何內部推理過程。
有關 Pangu-Agent 的框架結構,內在函數是對代理的內存狀態進行操作的一系列函數。內在函數對于塑造智能體的內部狀態至關重要,并且可以影響其決策過程。通過利用這些功能,智能體可以根據觀察歷史和先前的知識調整其記憶狀態,從而做出更明智且適合上下文的決策。
外部函數的目的是從語言模型中引發環境交互。與對智能體的內存狀態進行操作的內部函數不同,外部函數通過生成要執行的動作來直接與環境交互。
盤古 Agent 公式的靈活性意味著可以分層創建許多復合方法。此外應該指出的是,該工作在盤古 Agent 代碼庫中提供的這些復合方法的實現并不總是原始算法的忠實再現,因為它們需要特定的任務細節。
受到最近搜索增強的 LLM 研究的啟發,盤古 Agent 框架集成了三種樹搜索算法 – 廣度優先 / 深度優先搜索 (BFS/DFS) 和 蒙特卡洛樹搜索(MCTS),以提高 LLM 的生成和決策能力的規劃能力。具體來說,該框架利用 LLM 作為策略、模型和價值函數。通過與這個基于 LLM 的模擬環境交互,我們就可以構建一個 rollout 樹,該樹將使用樹搜索算法進一步修剪,以實現更好的操作 / 生成效果。
盤古 Agent 兼容一系列任務,例如 ALFWorld、GSM8K、HotpotQA、WebShop 等。它的交互界面與 OpenAI Gym 類似,是一種開放式設計。
最后,該框架包含一個模板系統來為 LLM 生成輸入提示詞(Prompt),使用模板增強了提示制作的靈活性。
評估
最后,研究者對 Pangu-Agent 支持的各種方法進行了廣泛評估。
首先,他們考慮用一階嵌套法和復合法來評估 Pangu-Agent 的結構推理能力(圖 3);然后,使用監督學習和 RL 在三種不同的環境中評估 Pangu-Agent 的微調能力。結果表明,就 Agent 取得的收益而言,復合方法往往優于一階嵌套方法。研究者表示,SFT 和 RLFT 可以讓 Agent 實現專業化,并進一步提高其在 ALFWorld 和 BabyAI 任務中的收益。在整個評估過程中,研究者使用了多種 LLM,如 GPT、Llama 2、OpenChat、Vicuna 和 Mistral 進行測試。
結構化推理評估
通過對內在函數(Intrinsic Functions)的內置支持,可以評估推理結構中的不同設計選擇對 AI 智能體性能的影響。
首先在表 2 中,研究者評估了一階嵌套,即只通過觀察環境和對環境執行的操作來修改智能體記憶的設置。在文獻中,這些方法被簡單地稱為不同的提示方法,例如:少樣本提示法 (FS)、少樣本思維鏈 (FS-CoT) 、零樣本思維鏈(ZS-CoT)。這些方法的詳細介紹見附錄 A.1。
需要注意的是,由于 LLM 文本生成的非確定性,不同的運行所獲得的回報可能會有很大差異。為了考慮這些差異,研究者將任務 - 方法 - LLM 的每種組合運行三次,并報告平均標準偏差。但是,一階嵌套也有局限性,因為它們可能難以充分利用 LLM 的能力。正如此前所述,智能體需要能夠處理語言模型的輸出、重新查看其答案、更改其記憶,甚至使用工具。這里所說的復合方法是指在決定最終行動之前可能需要多個思考步驟的方法。
表 3 列出了四種復合方法的結果:具有自一致性的 FS-CoT(FS-CoTSC)、具有可選獨立思考步驟的 FS-CoT(如 React )、具有映射步驟的 FS-CoT(如 66)、SwiftSage 和 Least-to-Most(另見附錄 A.2)。所有這些方法都在每個環境時間步使用了多個固有函數步,縮略語的簡要說明可參見表 7。
研究者觀察到,結構相似但提示內容不同的方法為智能體帶來的收益卻大相徑庭,這說明了精心設計提示的重要性。同樣值得注意的是,不同的方法在某些 LLM 中比在其他 LLM 中效果更好,例如 React 在 OpenChat-3.2 中的平均表現比 FS 差,而 React 和 FS 在 GPT-3.5 中的平均收益表現類似。
值得注意的是,在所有 LLM 中,FS 在 GSM8K 中的性能比 Direct 差很多。這并不奇怪,因為 FS 只向 LLM 提供最終答案。因此,LLM 的目的是回答問題,而不需要生成中間步驟。然而,在 Direct 中,即使沒有明確要求,LLM 也會生成中間步驟,因為互聯網上類似的小學水平問題就是這樣呈現的,而這些問題很可能就包含在這些 LLM 的訓練集中。在將 ZS-CoT 與 FS 進行比較時,也能得出類似的結論。
這一點在較小的 LLM 中尤為明顯,研究者推測,如果在提示中添加「逐步思考」(think step-by-step)的引語,模型就更有可能生成能夠正確解決當前問題的推理步驟。
在 HumanEval 任務中,研究者觀察到 GPT-3.5 與其他模型的收益率差距明顯大于其他任務。這可能是由于 HumanEval 是一項編碼任務,需要 LLM 提供結構良好的響應。然而,較小的開源 LLM 更容易出現這些結構性錯誤,從而導致任務失敗并得到 0 的返回值。
妨礙 LLM 性能的另一個因素是有限的上下文長度。在 WebShop 等涉及相對較大觀測值的任務中,提示的長度需要截斷,以保持在允許的上下文長度范圍內。因此,LLM 在這項任務中的表現會受到很大影響,特別是在 Reflect 等方法中,提示中還會包含額外的信息。這也解釋了為什么 Reflect 方法在 WebShop 中的表現往往不如其他方法。
在某些情況下,FS-CoT-SC 可以提高 LLM 的收益,尤其是在 GSM8K 中。但是,這需要付出額外的代價,即需要多次提示 LLM(本實驗中為 5 次)以執行 SC 操作選擇。在 HumanEval 等任務中,答案包含較長的文本答案,可能會有多個答案產生正確的結果,研究者發現無法應用 SC。這是因為 LLM 不會生成與之前相同的答案,而 SC 操作選擇器無法選擇最常見的答案。
外在函數評估:微調
上述結果表明,雖然 LLM 在實現各種任務的回報率方面表現出色,但在實現 100% 成功率方面仍有很大的改進空間。隨后,研究者探討了 SFT 和 RLFT 如何幫助 Pangu-Agent 提高成功率。
他們提出了兩種不同的流程:一種是由 multi-turn 軌跡生成和 SFT 組成的 Bootstrap SFT (BSFT),另一種是由軌跡生成、SFT 和 RLFT 組成的三步流程。在執行 SFT 時,專家軌跡演示始終使用 OpenChat-3.5 LLM 收集,該 LLM 配備了 Pangu-Agent 框架的結構化推理能力。研究者使用 OpenChat-3.5 LLM 執行 BSFT,而 SFT-RLFT 管道則應用于 Llama 2-7B LLM,并考慮了兩種不同的評估范式:為每個任務微調不同的 LLM,以及在多個任務中微調一個 LLM(例如多任務微調)。
One Model per Domain
BSFT:第一個實驗展示了 Pangu-Agent 框架提供的固有函數和微調函數的結合。首先從一系列不同的提示方法中收集數據,特別是 ZS-CoT、FS-CoT、FS-CoT-React 和 FS-CoT-Reflect。收集完數據后,運行一個拒絕采樣步驟,丟棄失敗的軌跡,只保留在折扣回報方面表現最好的軌跡。然后可以在該數據集上執行 SFT 步驟,以進一步提高該方法的性能。表 4 中 「1-step SFT」一欄列出了經過單一 SFT 步驟訓練后的模型結果。
如表 4 ,經過一輪拒絕采樣后,可以在 ALFWorld 中取得很好的性能,同時保持模型在行動前產生想法的能力。
SFT-RLFT: 盡管如此,對這些固有函數生成的完整軌跡進行微調的計算成本很高,而且很快就會達到收益遞減的地步。研究者建議使用 RL 在各種任務中實現更高的性能。
如表 5 ,研究者首先對成功演示進行 SFT 微調,然后再進行 RL 微調,成功率的提高幅度最大。對于像 ALFWorld 這樣的復雜領域,用于軌跡生成的 SFT 步驟和固有函數(FS-CoT)至關重要。這說明了 Pangu-Agent 框架的重要性,在該框架中,可以從固有函數和微調中獲益。
更多研究細節,可參考原論文。