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