真 · " 三個臭皮匠,頂個諸葛亮 " ——
基于開源小模型的三個 Agent 協作,比肩 GPT-4 的工具調用效果!
話不多說,直接來看兩個系統執行記錄。
用戶表示自己是一個音樂愛好者,想探索不同的音樂流派以及音樂家。于是指定模型使用 Deezer 和 Shazam 的 API 來搜尋一些音樂曲目以及相應藝術家信息。
之後 " 飾演 " 三個不同的角色的 Agent 分工協作,在兩步之内完成了任務。
更難一點的,不指定工具,讓模型找一個最受歡迎的風景畫教程視頻以及上傳該視頻的頻道詳情。
在這種情況下,模型通常會遇到工具狀态變化,出現工具被下架或工具所需參數定義變化的問題。
然而使用上述方法,模型在第 0 步試圖使用 video_for_simple_youtube_search 來獲取視頻詳細信息,但發現這個 API 已經被破壞,無法調用。
因此飾演 planner 角色的 Agent 轉換思路,告訴飾演 caller 角色的 Agent 需要嘗試另外一個 API,并最終通過嘗試新的 API 發現了詳細信息,解決了用戶的任務。
這就是中山大學、阿裏通義實驗室聯合提出的一種基于開源小模型的多模型協作 Agent 框架——α -UMi。
α -UMi 通過微調多個開源小模型,實現協同作戰,在工具調用等數據集效果比肩 GPT-4。
總的來說,相比于其他的基于閉源 API 框架,α -UMi 的優勢有以下幾點:
基于 α -UMi 多模型協同框架,通過三個小模型:planner、caller 和 summarizer 分别負責路徑規劃、工具調用和總結回複,對小模型進行工作負荷的卸載。
相比單模型 Agent 支持更靈活的 prompt 設計。其在 ToolBench,ToolAlpaca corpus 等多個 benchmark 上超過單模型 Agent 框架,獲得比肩 GPT-4 的性能。
提出了一種 " 全局 - 局部 " 的多階段微調範式(GLPFT),該範式成功在開源小模型上訓練了多模型協作框架,實驗結果表明這種兩階段範式爲目前探索出的最佳訓練多模型協作 Agent 範式,可以被廣泛應用。
多模型協作框架 α -UMi 長啥樣?
目前,基于大模型調用 API、function 和代碼解釋器的工具學習 Agent,例如 OpenAI code interpretor、AutoGPT 等項目,在工業界和學術界均引起了廣泛關注。
在外部工具的加持下,大模型能夠自主完成例如網頁浏覽、數據分析、地址導航等更複雜的任務,因此 AI Agent 也被譽爲大模型落地的一個重要方向。
但上述一些主流項目主要基于閉源 ChatGPT、GPT-4 大模型,其本身在推理、步驟規劃、調用請求生成和總結回複等能力上已經足夠強。
相比之下開源小模型,由于模型容量和預訓練能力獲取的限制,單個模型無法在推理和規劃、工具調用、回複生成等任務上同時獲得比肩大模型等性能。
爲了解決這一問題,本文研究人員提出了 α -UMi。
α -UMi 包含三個小模型 planner、caller 和 summarizer。
其中 planner 模型爲系統的核心大腦,負責在某一 Agent 執行步驟内激活 caller 或 summarizer,并給予對應的推理(rationale)指導;
而 caller 和 summarizer 則分别負責接收 planner 的指導完成該步後續工作,caller 負責生成于工具交互的指令,summarizer 負責總結最終的回複反饋給用戶。
這三個模型都是基于開源小模型進行不同類型數據微調實現的。
此外,研究人員提出了全局 - 局部多階段微調範式—— GLPFT。
基于開源小模型,實現多模型協作框架并非一件簡單的事,有兩個作用截然相反的影響因素:
一是生成 Rationale,Action 和 Final Answer 三個任務在訓練中可以相互促進的,同時也能增強模型對于 Agent 任務的全局理解。因此目前大部分工作均訓練單個模型同時生成 rationale, action 和 final answer。
二是模型容量,不同任務的數據配比等也限制了我們很難訓練單個模型同時在三個任務上獲得表現峰值。
下圖中,單模型 Agent 在各項指标上達到峰值所需的數據量是不同的,很難找到一個在所有指标上達到峰值的數據量和模型檢查點。
而通過多模型協作,可以解決這個問題。
綜合考慮上述兩點,研究人員提出了一種 " 全局 - 局部 " 的多階段訓練方法,目标在于利用充分利用 Rationale,Action 和 Final Answer 在訓練中相互促進的優勢,獲得一個較好的單模型初始化,再進行多模型微調,專攻子任務性能的提升。
上圖展示了這種多階段微調的流程,在第一階段中,使用預訓練 LLM 在完成工具調用 Agent 任務上微調,獲得一個單模型的 Agent LLM 初始化。
接着,在第二階段中,研究人員對工具調用 Agent 任務的訓練數據進行重構,分解成生成 rationale,生成工具交互 action 和生成最終回複三個子任務,并将第一階段訓練好的 Single-LLM Agent 底座複制三份,分别在不同子任務上進一步微調。
性能比肩 GPT-4 靜态評估
在靜态評估中,本文将所有對比 baseline 的輸出結果與标注輸出進行對比,可以看到:
α -UMi 系統表現顯著超過了 ChatGPT 和工具調用開源模型 ToolLLaMA,性能與 GPT-4 比肩。
值得一提的是,ToolLLaMA 需要 8192 的輸出長度以獲得令人滿意的結果,而α -UMi 隻需要 4096 的輸入長度,得益于多模型框架帶來的更靈活的 prompt 設計。
在多模型協作框架模型的微調方案對比上,直接微調三個模型、或單個模型多任務微調均無法使多模型協作框架發揮效果,隻有使用多階段微調 GLPFT才能達到最佳性能,爲後續多模型協同訓練打開了思路。
真實 API 調用評估
作者也在 ToolBench 數據集上引入了一種真實 API 調用的評估方式,實驗結果如下:
在真實 API 調用實驗結果中,α -UMi 依然戰勝了 ChatGPT 和 ToolLLaMA,并在成功率上取得了與 GPT-4 比肩的結果。
模型開銷
看到這可能有人問了,多模型協作會不會引入更多成本?作者也探究了多模型協作框架在訓練、推理及儲存階段的開銷對比:
總體來說,多模型協作框架确實會在訓練和模型參數儲存上引入更高的開銷,但其推理速度與單模型框架相當。
當然,考慮到多模型協作 Agent 框架使用 7B 底座的性能遠超 13B 單模型 Agent 性能,總開銷也更少。這意味着可以選擇小模型爲底座的多模型協作 Agent 框架來降低開銷,并超過大模型的單模型 Agent 框架。
最後研究人員總結道,多智能體協作是未來智能體發展的趨勢,而如何訓練提升開源小模型的多智能體協作能力,是實際落地很關鍵的一環,本文爲基于開源小模型的多智能體協作打開了新思路,并在多個工具調用 benchmark 上取得了超過單模型 Agent baseline,比肩 GPT-4 的工具調用結果。
後續将會增強 planner 的泛化性,使其使用于更廣泛的 Agent 任務場景,進行 caller 模型的本地私有化,使其專注于本地工具調用任務,以及雲端大模型結合本地小模型的 " 大 - 小 " 模型協同框架。
項目鏈接:
[ 1 ] https://arxiv.org/abs/2401.07324
[ 2 ] https://github.com/X-PLUG/Multi-LLM-agent
[ 3 ] https://modelscope.cn/models/iic/alpha-umi-planner-7b/summary
— 完 —
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~