40多位學者聯合發布基礎模型工具學習綜述,開源BMTools平臺
近期,來自清華大學、中國人民大學、北京郵電大學、UIUC、NYU、CMU 等高校的研究人員聯合知乎、面壁智能公司探索了基礎模型調用外部工具的課題,聯合發表了一篇 74 頁的基礎模型工具學習綜述論文,并發布了開源工具學習平臺。該團隊提出了基礎模型工具學習的概念,系統性地整理和闡述了其技術框架,同時展示了未來可能面臨的機遇和挑戰。這項研究對于了解基礎模型工具學習的最新進展及其未來發展趨勢具有重要價值。
- 論文鏈接:https://arxiv.org/abs/2304.08354
- BMTools 工具包:https://github.com/OpenBMB/BMTools
- 工具學習論文列表:https://github.com/thunlp/ToolLearningPapers
研究背景
近年來,基礎模型(Foundation Model)在自然語言處理、計算機視覺、生物學等諸多領域展現出驚人的應用價值,持續刷新各類下游任務的效果上限。基礎模型通過預訓練過程中積累的豐富世界知識,在復雜交互環境中展現出了非凡的理解、推理與決策能力,并能與現實世界進行緊密交互。尤其是最近誕生的 ChatGPT 和 GPT-4,更是彰顯了基礎模型在理解人類意圖、自動化復雜過程、解讀多模態信息等方面的巨大潛力。
盡管基礎模型在很多方面取得了顯著的成果,但在特定領域的任務上,仍然存在一定的局限性。這些任務往往需要專業化的工具或領域知識才能有效解決。以金融領域為例,基礎模型雖然可以在自然語言處理和風險評估上發揮作用,但在證券交易和金融市場預測等領域,卻需要更為專業的工具和領域知識來應對特定問題。整合專用工具與基礎模型可以充分發揮各自獨特優勢。專用工具可解決模型時效性不足的問題、增強專業知識、提高可解釋性。而基礎模型在理解復雜數據和場景方面具備類人的推理規劃能力,進而與現實世界交互。
研究團隊認為,基礎模型需要具備調用各種專業化工具的能力,這樣才能為現實世界任務提供更為全面的支持。將二者結合能夠充分發揮各自的優勢,將復雜工具的使用平民化,降低新用戶門檻,充分釋放創造力。那么,如何將基礎模型與專業化工具相結合,共同打造更強大、高效的任務解決方案呢?
工具學習范式旨在結合專有工具與基礎模型的優勢
團隊總結并提出了新的范式:基礎模型工具學習。這一范式的核心在于將專業工具與基礎模型的優勢相融合,以在問題解決方面達到更高的準確性、效率和自主性。近期的研究成果揭示,基礎模型在運用工具方面表現出了顯著的靈活性和精細操作能力,這為該范式的發展奠定了堅實基礎。
工具增強學習通過工具的執行結果來增強基礎模型、輔助內容生成;工具導向學習專注于利用模型來管理工具并代替人類進行序列決策
工具學習是指讓模型能夠理解和使用各種工具來完成任務的學習過程。從學習目標的角度來看,現有工具學習主要可以分為兩類:
- 工具增強學習(Tool-augmented Learning),利用各種工具的執行結果,增強基礎模型性能。在這一范式中,工具執行結果被視為輔助生成高質量輸出的外部資源。
- 工具導向學習(Tool-oriented Learning),將學習過程重點從增強模型性能轉向工具執行本身。這一類研究關注開發能夠代替人類控制工具并進行序列決策的模型。
上述兩類方法的核心差異在于學習過程的側重點,即通過工具執行來增強基礎模型(工具為 AI 服務)或者通過基礎模型優化工具的使用(AI 為工具服務)。在這篇綜述中,團隊提出了統一這兩類方法的工具學習框架,對兩者進行了統一。
工具學習框架
工具學習整體框架,呈現了人類用戶和四個核心成分:工具集、控制器、感知器、環境。
通用的工具學習框架包含人類用戶和四個關鍵組成部分:工具集、控制器、感知器和環境:
- 工具集(Tool Set):可供模型使用的各種工具。從交互接口的視角可以分為三類:基于物理交互的工具、基于 GUI 交互的工具、基于程序交互的工具。
- 控制器(Controller):通常使用基礎模型建模,負責接收用戶的指令,并根據這些指令制定可執行的計劃并調用工具執行。
- 感知器(Perceiver):負責接收來自環境和用戶的反饋信息,并將其匯總給控制器。
- 環境(Environment):模型所處的場景,包括物理環境和虛擬環境等。
從用戶界面的角度對工具進行分類:(a)基于物理交互的工具,(b)基于圖形用戶界面交互的工具,和(c)基于程序交互的工具。
在該框架中,控制器負責理解用戶指令,將復雜任務分解為若干子任務,并通過推理動態調整計劃,最終調用合適的工具完成每個子任務。為了有效地利用工具,必須考慮其物理特性、與控制器的關系以及周圍環境。因此,工具學習框架是通過強調所有這些組件之間的相互作用來設計的。
整個過程從用戶指令開始,接收到指令后,由基礎模型支持的控制器被激活來響應用戶,并為該指令制定計劃并執行工具與環境進行交互;工具執行可能導致環境發生變化,感知器捕捉這些變化并將信息反饋給控制器,進行新一輪的工具執行;人類也可以提供反饋來糾正或協助控制器的決策。經過多輪工具執行后,實現用戶需求;最后,控制器可以將工具返回的信息總結給用戶。
形式化定義:給定工具集合,在時間步 t,環境
提供工具執行的反饋
。感知器
接收用戶反饋
和環境反饋
,并生成總結反饋
。控制器
生成計劃
,選擇并執行來自
的合適工具。這個過程可以建模為以下概率分布:
其中表示控制器
的參數,
表示用戶查詢或指令,
代表工具的具體執行計劃
,表示歷史的反饋和計劃。我們可以進一步將上式分解:
該分解揭示了制定計劃可以分為兩個子任務:基于用戶意圖選擇適當的工具和使用所選工具執行的具體操作。例如,對于 “我想預訂下周去北京的飛機” 的指令,控制器
首先推斷出用戶的目標是預訂一次去北京的航班。接著,模型選擇航空公司預訂系統作為工具。最后,它將時間和目的地作為初步計劃輸入以完成第二個子任務。良好的工具學習框架必須具備糾錯的能力:例如如果下周沒有飛往北京的航班,控制器
可以在接受到該反饋后更新計劃。
關鍵研究問題
研究團隊指出了工具學習領域的一系列關鍵研究問題:
意圖理解
控制器需要理解用戶所給出的自然語言指令,識別其對應的任務目標。意圖理解在現實工具學習應用場景中仍存在著諸多挑戰:(1)指令模糊問題:用戶給出的指令很有可能是不精確甚至多義的。(2)指令多樣問題:用戶給出的指令天然具有個性化和多樣性。
工具理解
控制器使用工具的前提是理解工具的功能與使用方式。人類在學習使用工具時通常會有兩種途徑,一是從工具的說明書或是教程中學習;二是通過觀察其它人使用工具的過程來學習。類似的,現有工具學習工作通常采用兩種提示學習技術實現工具理解:零樣本提示學習和少樣本提示學習。但是提示學習的有效性很大程度上取決于模型能力,而且會受到輸入上下文長度的限制。
零樣本提示學習描述工具的功能、輸入輸出格式等,少樣本提示學習則通過具體的使用案例來提示模型如何使用對應工具。
規劃與推理
對于復雜任務,控制器需要具備一定的規劃和推理能力,以便將任務拆分成若干子任務。這一過程中的推理能力可以分為兩類:內省推理(Introspective Reasoning),是指控制器在不涉及與環境交互的情況下,僅根據指令對任務進行推理和規劃,無需中間執行結果。這種推理方式側重于分析任務的本質,通過對指令的理解來生成相應的規劃;與之相反,外省推理(Extrospective Reasoning),涉及控制器與環境的交互。在這種情況下,控制器會根據先前步驟的執行結果逐步推理并生成規劃。這種方式強調了模型的實時調整和適應能力,使得控制器能夠在完成任務過程中不斷優化規劃策略。
工具學習內省推理和外省推理
在完成對復雜任務進行分解之外,控制器還需要利用不同工具完成各個子任務,在該過程中存在一些挑戰需要進一步研究。
- 工具間的協同配合:為了完成復雜任務,模型不僅需要理解各個工具的功能,還應該理解它們之間的相互作用和依賴關系。這有助于控制器更有效地使用工具,確保任務的順利完成。
- 并行執行:對于彼此不存在依賴關系的子任務,模型需要具有并行執行的能力以提高執行效率。這將有助于在有限的時間內完成更多任務,提高整體性能。
- 多智能體協作:復雜任務通常需要多個智能體彼此協作,在這種情況下,每個智能體都具有其獨特的能力和專業知識,彼此協作可以實現更高效和有效的問題解決。因此,探索多智能體協作機制對于提升控制器在復雜任務中的表現具有重要意義。
可泛化的工具學習訓練方法
為了讓模型學會使用工具,訓練模型也是一種可行的途徑。嬰兒學習新工具主要有兩種方式,一種是觀察模仿成人如何使用工具的過程,另一種是依靠自身的探索,摸索出工具的使用方式。受此啟發,工具學習的模型訓練范式也可以分成兩種:
- 從演示中學習:模型模仿人類使用工具,可采用監督學習、半監督學習或自監督學習來實現。
- 從反饋中學習:環境或人類的反饋可以幫助模型理解其行為的結果并調整其行為,據此改進其工具使用策略,從而增強模型的使用工具能力。強化學習便是實現從反饋中學習的一個代表性解決方案。
工具學習模型訓練范式示意圖
通用工具學習:工具使用經驗的通用性是人類智能的一個重要特征。人類可以從一個工具的使用中總結出通用性的經驗,從而幫助其它工具的使用。為了實現通用工具學習,首先要對工具的操作接口進行形式化統一。這樣,模型便能夠以標準化的方式操作各種工具,并更容易地抽象出工具的基本特征。這可以通過以下三種方式實現。
- 語義接口:模型通過使用特定的文本片段(如動作名稱)作為動作觸發器,從而來操作工具。
- GUI 接口:模型模仿人類使用圖形界面(GUI)來與工具交互。
- 編程接口:模型通過編寫代碼來使用工具。這種方式具有廣闊的應用前景,首先是因為編寫代碼可以實現復雜的工具使用邏輯,其次通過執行程序可以更加方便地調用外部工具。
在統一工具操作接口的前提下,模型還需要針對具體的任務或領域進一步地適應、細化和專門化其學習的知識。為了達成此目標,有兩種解決方法:
- 元工具學習:元工具學習體現了模型的元認知能力,使其能夠反思自身的學習過程并在必要時調整新的工具使用策略。通過元認知,模型可以識別工具使用策略中的基本原則或共同模式,并將其遷移到新的任務或領域中去。
- 課程工具學習:課程工具學習則采用逐步學習的方法,讓模型從簡單的工具開始學習,然后逐漸學習更復雜的工具。這種方法有助于模型理解復雜工具,將其視為簡單工具的進階版。通過課程工具學習,模型能夠更有效地識別抽象工具間的共性和差異,從而實現知識和技能的遷移。
開源平臺 BMTools
ChatGPT Plugins 的出現補充了 ChatGPT 最后的短板,使其可以支持連網、解決數學計算,被稱為 OpenAI 的 “App Store” 時刻。然而,由于目前其支持的工具數量有限,并且僅支持部分 OpenAI Plus 用戶,大多數開發者仍然無法使用。
為解決這個痛點,研究團隊推出了工具學習包 BMTools,一個基于語言模型的開源可擴展工具學習平臺。團隊將各種各樣的工具(例如文生圖模型、搜索引擎、股查詢等)調用流程都統一到一個框架上,使整個工具調用流程標準化、自動化。開發者可以通過 BMTools,使用給定的模型(ChatGPT、GPT4)調用多種多樣的工具接口,實現特定功能。
BMTools 不僅支持 OpenAI 的 Plugins,還允許開發者自己擴充工具庫。開發者只用編寫簡單的 python 程序就能輕松構建新的插件功能,并可集成其他來源的外部工具(如 ChatGPT Plugins)。該工具包目前已支持論文中提到的 17 種工具,并在持續維護更新中,未來將支持更多基底模型和面向國內的工具的使用,助力工具學習的前沿學術探索和工程落地。此外,該工具包也已集成最近爆火的 Auto-GPT 與 BabyAGI,并且在 Huggingface Spaces 上可直接試用。
BMTools Huggingface Spaces 演示
基于 BMTools,團隊探索了基礎模型使用工具的有效性與局限性,并選取了 text-davinci-003 和 ChatGPT 兩個代表性基礎模型,評估它們在 17 種工具使用場景下的性能表現,實驗證明:
1. 在大多數情況下,模型可以通過簡單的提示學習如何有效地使用工具,并提高它們的任務性能。
2. 對于模型能夠利用其內部知識解決的任務,只有在對工具進行正確調用時,模型才會獲得性能提升,否則反而會產生負面影響。
3.ChatGPT 相比于 text-davinci-003 并沒有得到更好的結果。對于知識圖譜、在線購物、3D 建模等較為復雜的工具,ChatGPT 和 text-davinci-003 均不夠令人滿意,需要進一步提升基礎模型能力來提升工具的使用能力。
ChatGPT 和 text-davinci-003 工具學習實驗結果
前瞻開放討論
最后,論文從不同角度探討了工具學習帶來的機遇與挑戰:
- 工具學習的安全性:在期待基礎模型與工具學習結合所帶來的生活改變之前,審視其中潛在的風險尤為重要。團隊強調了需要防止惡意用戶誤導模型調用工具,以及提升模型使用工具的可信度等問題。
- AI 創造工具:基礎模型可能具有自發創造工具的潛力。一直以來,創造和使用工具被認為是人類智能的獨特特征,而基礎模型的出現可能顛覆這一觀念。越來越多的證據表明,創造工具的能力不再是人類專有的領域。
- 工具學習個性化:模型通常在通用文本語料庫上訓練,并使用廣泛定義的人類偏好進行校準。然而,這種方法無法滿足具有不同需求的用戶的個性化需求。探索如何實現個性化的工具學習將成為未來研究的重要課題。
- 知識沖突:引入工具后,模型需要解決來自不同來源的知識沖突問題,包括模型自身、外部知識庫等。解決不同知識庫間的知識沖突,以實現知識的有效整合,是迎接工具學習挑戰的關鍵一步。
- 開放性問題:最后,團隊提出了一系列開放性問題,包括:工具能力是否應當內化進模型中?如何準確評判模型的工具使用能力?如何規避工具學習場景下的安全性、隱私性問題?如何在工具學習框架下促進更好的人機協同?
總結
研究團隊深入探討了基礎模型的工具學習范式,提出了一個通用的工具學習框架,并重點探討了其中的重點研究問題。為了展示基礎模型在工具使用方面的靈活性與精細性,團隊開發了開源的工具學習平臺 BMTools,并對 17 個代表性工具進行了實驗,通過詳細的分析、實驗探索,提出了一系列具有前瞻性的問題。我們期待這篇文章能激發更多融合工具與基礎模型的研究,助力開創智能化人機協同工作的新篇章。