多Agent思想顯著提升小模型工具調用能力
今天分享一篇阿里的利用Agent思想做工具調用的文章,標題為《Small LLMs Are Weak Tool Learners: A Multi-LLM Agent》。其提出的多LLM代理微調框架,將工具調用拆解為三個agent(Planner、Caller、Summarizer),并結合一個二階段的微調策略。對比單個LLM表現(xiàn)更為出色,性能也更為穩(wěn)定,并且能夠超過像ChatGPT、GPT4等閉源模型,證明了多agent思路在工具調用上的有效性。
除了工具調用,或許本文的方法也可以拓展到問答的其他場景,大家可以參考。
Title: Small LLMs Are Weak Tool Learners: A Multi-LLM Agent URL:?? https://arxiv.org/abs/2401.07324??
Code:?? https://github.com/X-PLUG/Multi-LLM-Agent??
Authors: Weizhou Shen, Chenliang Li, Hongzhan Chen, Ming Yan, Xiaojun Quan, Hehong Chen, Ji Zhang, Fei Huang
1.Motivation
? 外部工具(例如APIs, 函數(shù))的使用要求LLM不僅要了解用戶查詢并準確生成答案,而且要擅長任務計劃、工具調用和結果總結。
? 單個LLM特別是Small LLMs調用外部工具(例如APIs, 函數(shù))的能力以及自主完成各種任務時表現(xiàn)不太好。
? 之前的研究方法主要探索如何訓練并提高單個LLMs的能力,利用多LLM來提高上述能力的工作并不多。
2.Methods
論文通過提出一個新穎的多LLM框架來解決問題,該框架將任務規(guī)劃、工具調用和結果總結的能力分解為計劃者、調用者和總結者三個組件。每個組件由專注于特定能力的單個LLM實現(xiàn),并與其他LLM合作完成任務。此外,論文引入了一個兩階段訓練范式,首先在整個數(shù)據集上對背景LLM進行微調,其次使用微調過的LLM對上述三個組件進行初始化,然后再在相應的子任務上進行持續(xù)的微調。
2.1 詳細方法和步驟:
? 首先,對整個數(shù)據集進行微調,為主干LLM提供對任務的全面理解,而不區(qū)分子任務。
? 然后,使用微調過的LLM實例化規(guī)劃者、調用者和總結者,分別對應子任務繼續(xù)微調。
? 這種模塊化框架促進了單個組件的更新,并且有可能使用更小型的LLMs來構建每個能力。
? 在各種工具使用基準測試中,該多LLM框架超越了傳統(tǒng)的單LLM方法,突出了其在工具學習上的高效性和優(yōu)勢。
Figure 2: An illustration of how α-UMi works to complete a task.
規(guī)劃器(Planner):α-UMi 框架中的規(guī)劃器組件負責生成任務執(zhí)行的邏輯和計劃。它根據當前系統(tǒng)狀態(tài)和用戶指令來決定下一步的操作。規(guī)劃器的輸出包括一個理由(Rationale)和一個決策,決策可能是:
? “Next: Caller”:指示調用者(Caller)組件進行下一步操作。
? “Next: Summarizer”:如果已經收集到足夠的信息,指示總結器(Summarizer)組件生成最終答案。
? “Next: Give up”:如果認為任務無法解決,決定放棄執(zhí)行。
調用者(Caller):根據規(guī)劃器的指示和理由,調用者組件負責調用具體的工具或 API。它根據規(guī)劃器提供的邏輯生成合法且有用的請求,并從工具中獲取觀察結果(Observation)。
總結器(Summarizer):一旦規(guī)劃器決定已經有足夠的信息來解決用戶指令,它會指示總結器生成最終的答案。總結器根據執(zhí)行軌跡和用戶指令來構建最終的回復,提供給用戶。
2.2 訓練方法
α-UMi 采用了全局到局部漸進式微調(Global-to-Local Progressive Fine-Tuning,簡稱 GLPFT)策略,用于有效訓練多 LLM 系統(tǒng),它分為兩個主要階段:
1)全局微調(Global Fine-tuning):
? 在這個階段,首先對一個基礎的大型語言模型(LLM backbone)進行微調,使用的是整個訓練數(shù)據集,而不區(qū)分子任務,微調的目標是讓模型獲得對整個工具學習任務的綜合理解。
? 經過全局微調后,基礎 LLM 被訓練成能夠依次輸出理由(rationale)、動作(action)和答案(answer)。
2)局部微調(Local Fine-tuning):
? 原始的訓練數(shù)據集被重新組織,形成針對每個 LLM 角色(規(guī)劃器、調用者和總結器)的特定數(shù)據集。
? 接著,分別對規(guī)劃器、調用者和總結器進行進一步的微調,以增強它們在各自子任務中的具體能力。
? 在局部微調階段,基礎 LLM 被復制成三個獨立的模型,每個模型專注于一個特定的子任務,每個子任務的專家模型(規(guī)劃器、調用者和總結器)能夠在其專門的任務上進行優(yōu)化,從而提高整體框架的性能。
總結:GLPFT 策略通過分階段的微調方法,使得每個組件模型能夠在其專門的任務上達到更高的性能,同時保持了整個系統(tǒng)的協(xié)同工作能力。這種策略有效地提高了模型在工具學習任務中的表現(xiàn),并充分利用了每個小型 LLM 的潛力。
3.Conclusion
? 在工具使用的任務中,本文提出的多LLM代理微調框架表現(xiàn)出色,能夠超過像ChatGPT、GPT4等閉源模型,證明了多agent思路在工具調用上的有效性。
二、詳細內容
1.實驗表現(xiàn)
實驗設置:
?Model Size = 7B / 13B:指的是模型的參數(shù)數(shù)量,7B 表示 70 億參數(shù),13B 表示 130 億參數(shù)。
?Multi-LLM one-stage:在單一階段直接對規(guī)劃器、調用者和總結器進行微調的多 LLM 模型。
?α-UMi w/o reuse / w/ reuse:α-UMi 框架的不同版本,其中一個版本在微調過程中重用了用戶指令集(w/ reuse),另一個版本沒有(w/o reuse)。
實驗結論:
1)利用α-UMi框架對7B/13B左右的模型微調,效果能超過GPT-4:α-UMi 框架在多個評估指標上超越了傳統(tǒng)的單一大型語言模型(如 ChatGPT 和 GPT-4),特別是在規(guī)劃器準確率(Plan ACC)和 Rouge-L 分數(shù)(R-L)方面,α-UMi 有了顯著的改進。
2)模型越大,效果越好:使用 13B 參數(shù)模型的 α-UMi 版本在大多數(shù)指標上表現(xiàn)優(yōu)于 7B 參數(shù)版本,這表明更大的模型容量可以帶來更好的性能。然而,值得注意的是,即使是 7B 參數(shù)的 α-UMi 也能在某些情況下超越 13B 參數(shù)的單一大型語言模型,這強調了 α-UMi 框架設計的有效性。
3)多階段微調比單階段微調效果更好:與單階段微調的多 LLM(Multi-LLM one-stage)和多任務微調的單一大型語言模型(Single-LLM multi-task)相比,α-UMi 展現(xiàn)了更好的性能,說明 GLPFT 策略在提升模型性能方面的有效性。
4)添加用戶指令數(shù)據效果更佳:α-UMi w/ reuse(重用用戶指令的版本)在大多數(shù)指標上優(yōu)于 α-UMi w/o reuse(不重用用戶指令的版本),這表明在微調過程中重用用戶指令可以幫助模型更好地學習和適應任務需求。
綜上所述,α-UMi 框架通過其模塊化設計和漸進式微調策略,在工具學習任務上展現(xiàn)了顯著的性能提升,特別是在任務規(guī)劃和結果總結方面。此外,該框架的有效性不受模型大小的限制,即使是小型模型也能通過合作達到高性能。
2.ToolBench上的詳細表現(xiàn)
Table 2: Results of real-time evaluation on ToolBench
主要結論:
1)α-UMi 框架效果非常不錯:
? α-UMi(使用 7B 模型)在多數(shù)測試組中的通過率(Pass)和勝利率(Win)都超過了 ChatGPT 和 ToolLLaMA,這表明 α-UMi 框架在實時 API 調用任務中表現(xiàn)出色,能夠有效地解決實際問題。
? 在某些測試組中,α-UMi 的通過率與 GPT-4 相當,甚至在 I1-Inst. 和 I2-Inst. 組別中超過了 GPT-4。
2)DFSDT vs ReACT:使用 ReACT 和 DFSDT 策略的模型在不同的測試組中表現(xiàn)出不同的性能。這表明不同的推理策略對于模型解決任務的能力有顯著影響,選擇合適的策略對于提升模型性能至關重要。
3)小模型的工具調用能力也可以做得很不錯:盡管 GPT-4 擁有更大的模型容量,但在某些情況下,α-UMi(7B)的性能與 GPT-4 相當,這表明通過有效的框架設計和微調策略,較小的模型也能實現(xiàn)與大模型相媲美的性能。
總結:α-UMi 框架在實時工具調用任務中的有效性和競爭力,也表明通過選擇合適的推理策略和優(yōu)化的微調方法,可以顯著提升模型(特別是小模型)在實際應用中的性能。
3.訓練數(shù)據量對不同框架工具調用能力的影響
Figure 4: Results of data scaling law study on ToolBench with different evaluation metrics
評估指標:
?Plan ACC(規(guī)劃器準確率):衡量規(guī)劃器在決策下一步行動時的準確性。
?Act. EM(動作實體匹配):衡量調用者在調用 API 時參數(shù)匹配的準確性。
?Hallu.(幻覺率):衡量模型在生成 API 名稱時是否產生了不存在的實體。
?Arg. F1(參數(shù) F1 分數(shù)):衡量 API 調用中參數(shù)準確性的指標。
結論:α-UMi 框架性能不錯,效果較為穩(wěn)定,性能隨數(shù)據量的增加穩(wěn)步提升。隨著訓練數(shù)據的增加,α-UMi 框架在多個評估指標上的性能得到了顯著提升,尤其是在任務規(guī)劃和 API 調用方面。
三、總結
結論1: 多LLM代理框架(例如本文的Planner、Caller、Summarizer)能夠克服傳統(tǒng)單個LLM在工具學習方面的性能限制,通過模塊化的方法分解任務,可以利用小型LLMs構建特定能力,并且更容易更新和維護。
結論2: 多階段微調比單階段微調效果更好。與單階段微調的多 LLM(Multi-LLM one-stage)和多任務微調的單一大型語言模型(Single-LLM multi-task)相比,α-UMi 展現(xiàn)了更好的性能,說明 GLPFT 策略在提升模型性能方面的有效性。
結論3: 添加用戶指令數(shù)據微調效果更佳:α-UMi w/ reuse(重用用戶指令的版本)在大多數(shù)指標上優(yōu)于 α-UMi w/o reuse(不重用用戶指令的版本),這表明在微調過程中重用用戶指令可以幫助模型更好地學習和適應任務需求。
本文轉載自??NLP PaperWeekly??,作者: NLP PaperWeekly ????
