天天看點

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

作者:機器之心Pro

機器之心報道

編輯:陳萍、梓文

本文提出了一個新的架構 ToolLLM,其增強了大型語言模型對 API 的使用。在指令調優資料集 ToolBench 上對 LLaMA 進行微調,得到的 ToolLLaMA 與 ChatGPT 性能相當。

相信大家都已經見識到了,開源大型語言模型(LLMs)及其變體(例如 LLaMA 和 Vicuna)在各種任務上取得了顯著的進展。

然而,盡管 LLM 很強大,但它們在執行更進階任務方面局限性仍然很大,比如讓 LLM 按照人類給出的指令使用外部工具(APIs),很多開源 LLM 就很難辦到。

原因在于目前 LLM 的指令調優技術主要集中在基本語言任務上,缺乏對工具使用方面的探索。這與最先進的閉源模型如 ChatGPT 形成了鮮明的對比,後者已經展示出出色的工具使用能力。

為了讓開源 LLM 更好的使用外部工具,來自清華、人大、耶魯、騰訊、知乎等多家機構的研究者聯合撰寫了論文,他們引入了一個通用工具使用架構 ToolLLM,該架構包括資料建構、模型訓練和評估多項功能。

值得一提的是,該研究從 RapidAPI Hub 收集了 16464 個真實世界的 RESTful API,涵蓋 49 個類别。

該研究在 ToolBench(指令調優資料集)上對 LLaMA 進行微調,得到了 ToolLLaMA。ToolEval(自動評估器)評估顯示,ToolLLaMA 展現出了出色的執行複雜指令和泛化到未知 API 的能力,并且在工具使用方面性能與 ChatGPT 相媲美。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT
  • 論文位址:https://arxiv.org/pdf/2307.16789.pdf
  • 項目位址:https://github.com/OpenBMB/ToolBench

ToolLLaMA 效果展示如下:

視訊加載中...

方法介紹

論文首先介紹了 ToolBench,這是一個用于工具使用的指令調優資料集,由 ChatGPT 自動建立。具體而言,研究團隊從 RapidAPI Hub 收集了 16464 個涵蓋 49 個類别的真實世界 RESTful API,然後提示 ChatGPT 生成涉及這些 API 的多樣化人類指令,涵蓋單工具和多工具場景。最後,他們使用 ChatGPT 為每個指令搜尋有效的解路徑(一系列 API 調用)。為了使搜尋過程更加高效,他們開發了一種新穎的基于深度優先搜尋的決策樹(DFSDT),使 LLMs 能夠評估多個推理軌迹并擴充搜尋空間。

在資料集方面。如圖 1 所示,研究者首先收集了一些高品質的指令調優資料集 ToolBench。該資料集是通過使用最新的 ChatGPT(gpt-3.5-turbo-16k)自動建構的。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

具體而言,ToolBench 的建構包含三個階段:API 收集(API collection)、指令生成、解路徑注釋(solution path annotation)。

API 收集

研究團隊從 RapidAPI 收集了 16464 個 REST(representational state transfer)API。這些 API 涵蓋 49 個不同類别,如社交媒體、電子商務和天氣。對于每個 API,研究團隊都會從 RapidAPI 抓取詳細的 API 文檔,包括功能描述、所需參數、API 調用的代碼片段等。他們希望 LLM 能夠通過了解這些文檔來學習使用 API,進而使模型能夠泛化到訓練過程中未見過的 API。

注:RapidAPI 是一個領先的 API 市場,它将開發者與成千上萬的真實世界 API 連接配接起來。在這個平台上,開發者隻需注冊一個 RapidAPI 密鑰,就可以發現、測試和連接配接各種 API。

RapidAPI 的層級結構 (左) 和指令生成過程 (右) 如下圖所示。對于每個工具,研究者會爬取以下資訊:工具的名稱和描述,主機的 URL,以及屬于該工具的所有可用 API;對于每個 API,研究者會記錄其名稱、描述、HTTP 方法、必要參數、可選參數、可執行的 API 調用代碼片段等。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

在這一過程中,還需要 API 過濾:最初,該研究從 RapidAPI 收集了 10853 個工具(53190 個 API)。然而,這些 API 的品質和可靠性可能會有很大的差異。為此,他們進行了嚴格的篩選過程,以確定 ToolBench 的最終工具集是可靠且功能正常的。最後隻保留了 3451 個高品質的工具 (16464 個 API)。

指令生成

研究團隊首先從整套程式中抽取 API 樣本,然後使 ChatGPT 為這些 API 生成各種指令。為了涵蓋實際場景,他們策劃了涉及單工具和多工具場景的指令,這確定了模型不僅能學會如何與單個工具互動,還能學會如何将它們組合起來完成複雜的任務。

生成高品質的指令需要兩個重要特性:多樣性和多工具使用,以確定 LLM 能夠處理廣泛的 API 使用場景,并反映現實世界中經常需要多種工具互相作用的情況,進而提高 LLM 的實際應用性和靈活性。為此,研究團隊采用了一種自下而上的指令生成方法,即從收集 API 入手,然後精心制作涉及這些 API 的各種指令。

為所有 API 及其組合的指令生成過程如下,具體過程請參閱原文。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

解路徑注釋

研究團隊對這些指令的高品質響應進行注釋。每個響應可能包含多輪模型推理和實時 API 調用,以得出最終答案。由于工具學習本身的難度,即使是最複雜的 LLM(即 GPT-4),對複雜指令的通過率也很低,進而導緻資料收集效率低下。為此,研究團隊開發了一種新穎的基于深度優先搜尋的決策樹(DFSDT),以增強 LLM 的規劃和推理能力。與傳統的思維鍊(CoT)和 ReACT 相比,DFSDT 使 LLM 能夠評估多種推理路徑,并慎重做出決定,以撤回步驟或沿着有希望的路徑前進。在實驗中,DFSDT 顯著提高了注釋效率,并成功完成了那些用 CoT 或 ReACT 無法回答的複雜指令。

下圖為在模型推理過程中,DFSDT 與傳統的 CoT 或 ReACT 的比較 (左)。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

下表為 ToolBench 與其他研究的比較:

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

實驗及結果

本文通過實驗來研究了 ToolLLaMa 的性能,報告了 ToolLLaMa 的評估名額、API retriever 和 DFSDT 的有效性以及實驗和分析結果。

考慮到 API 的時間可變性,為每條測試指令标注固定的真實解路徑是不可行的。此外,確定不同模型在評估過程中使用相同版本的 API 也至關重要。考慮到人工評估可能會耗費大量時間,該研究仿效 AlpacaEval 開發了高效的機器評估工具 ToolEval,其依賴于 ChatGPT 的支援,并包含兩個關鍵評估名額:(1)通過率,用于衡量在有限預算内成功執行指令的能力,以及(2)勝率,用于比較兩條解路徑的品質和有用性。本文證明 ToolEval 與人類評估有很高的相關性,并為工具學習提供了一個強大、可擴充且可靠的評估方式。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

如表 2 所示,在不同類型的指令中,研究團隊的 API 檢索器始終優于 BM25 和 Ada Embedding。較高的 NDCG 得分表明其在 API 檢索方面的有效性。此外,I1 的 NDCG 分數遠高于 I2 和 I3,這意味着單工具指令在 API 檢索方面比多工具指令相對簡單。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

從表 3 可以看出,DFSDT 在所有情況下的性能都明顯優于其餘兩種基線方法,這表明 DFSDT 是一種更有效的方法,可以節省解路徑标注的成本。并且與較簡單的指令(I1)相比,DFSDT 對較難指令(即 I2 和 I3)的性能提升更為明顯。這說明,除了效率之外,DFSDT 還能解決那些困難、複雜的指令,而這些指令是普通 ReACT 無論執行多少次都無法回答的。将此類 「困難示例 」納入資料集,可以充分激發工具在這些複雜情況下的使用能力。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT
大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

從表 4 中可以發現:

  • ToolLLaMA 在通過率和獲勝率方面都明顯優于傳統的工具使用方法 ChatGPT-ReACT,并表現出卓越的泛化能力。此外,當 ToolLLaMA 與 DFSDT 結合使用時,其表現也優于 Text-Dainci-003。
  • 雖然研究團隊對 prompt 工程進行了廣泛研究,但 Vicuna 和 Alpaca 都未能通過任何指令,這意味着它們的指令遵循能力并未擴充到工具使用場景。這凸顯了目前主要側重于提高語言技能的指令調優方法的不足。

總體而言,ToolLLaMA 在所有場景中都表現出了競争力,其通過率略低于 ChatGPT+DFSDT。在獲勝率方面,ToolLLaMA 與 ChatGPT+DFSDT 的能力基本相當,在 I2-Cat 設定中甚至超過了後者。

總之,這些結果表明,ToolBench 可以充分激發 LLM 的工具使用能力,使他們能夠熟練掌握各種指令的未知 API。

在實驗研究團隊對 LLaMA 的所有參數進行了微調,得到了 ToolLLaMA。為了提高參數效率,他們進一步應用了具有代表性的參數效率調整方法 LoRA,并研究了其對性能的影響。下表 5 中的結果表明,參數效率的提高是在性能權衡的基礎上實作的。他們期待未來的嘗試能設計出不犧牲性能的前提下實作參數效率的方法。

大模型掌握16000+真實世界API了,清華等機構ToolLLM不輸ChatGPT

更多詳細内容,請參閱原文。

繼續閱讀