華為諾亞聯合中科大發布工具呼叫模型ToolACE,效果持平GPT-4獲開源第一

机器之心發表於2024-09-15

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

大語言模型(如 GPT-4)具備強大的語言處理能力,但其獨立運作時仍存在侷限性,如無法進行復雜計算,獲取不到實時資訊,難以提供專業定製化功能等。而大語言模型的工具呼叫能力使其不僅限於文書處理,更能提供全面、實時、精確的服務,極大地擴充套件了其應用範圍和實際價值。

為提高模型的工具呼叫能力,高質量、多樣化、且複雜的訓練資料至關重要。然而,現實中工具呼叫資料的收集和標註極為困難,現有的合成資料生成方式在覆蓋率和準確性方面仍存在不足。

針對這一挑戰,華為諾亞方舟實驗室聯合中科大等機構的研究人員提出了一個統一的工具呼叫資料合成框架 ToolACE,可以自動化地生成高準確性、高複雜性、高多樣性的工具呼叫資料。ToolACE 透過創新的自進化合成過程,構建了一個包含 26,507 個多樣化 API 的 API 庫。透過多智慧體之間的互動生成對話,並透過形式化的思維過程進行引導,確保生成的資料複雜且多樣化。並結合了基於規則和基於模型的資料質檢機制,確保資料準確性。基於對應合成資料對 Llama 3.1 進行微調,以 8B 的模型量級,在開源工具呼叫榜單 BFCL(https://gorilla.cs.berkeley.edu/leaderboard.html)中持平 GPT-4,獲得開源第一,超過如 Functionary 等 70B 模型效果。

圖片

  • 論文題目:ToolACE: Winning the Points of LLM Function Calling

  • 論文連結:https://arxiv.org/abs/2409.00920

  • 模型和資料連結:https://huggingface.co/Team-ACE/

圖片

圖 1. ToolACE 資料合成框架圖

ToolACE 工具呼叫資料合成框架

ToolACE 的資料合成流程分為 API 生成、對話生成、資料質檢三個階段:

基於自演進的 API 合成:多樣化的 API 能夠顯著提升工具呼叫資料的多樣性和複雜性。ToolACE 利用基於自演進的 API 合成模組構建了一個包含 26,507 個 API 庫,在數量和領域覆蓋上均超越了其他代表性的工具呼叫資料。基於自演進的 API 合成模組可以根據不同的資料型別和約束條件合成新的工具描述。具體來說,該模組利用多樣的網頁預訓練資料提取了一個 API 上下文樹,每個節點代表一個潛在的應用領域和函式呼叫的功能,如金融、健康、交通等。透過由 API 上下文樹中進行取樣,結合給定的 API 示例,由語言模型可以合成新的 API。API 的多樣性和複雜性透過遞迴的自我進化和更新逐漸增加。

基於多智慧體互動的對話生成:ToolACE 利用多智慧體互動的方式進行工具呼叫對話合成,所生成的對話涵蓋了多種型別,包括簡單函式呼叫、並行函式呼叫、依賴函式以及非工具使用的對話。

對話生成過程首先從構建好的 API 庫中取樣一個或多個候選 API,之後透過三個不同的智慧體(使用者、助手和工具)的互動生成對話,每個智慧體都由大語言模型模擬。使用者智慧體主要提出請求或提供額外資訊,請求的多樣性和複雜性由多模式提示和基於相似性的複雜化策略來保證。助手智慧體則使用給定的 API 來完成使用者提出的請求。助手智慧體的操作空間包括:呼叫 API、請求進一步資訊、總結工具反饋以及提供非工具使用的回答。每個操作都透過形式化的思考過程確定,並透過自我一致性驗證以確保準確性。工具智慧體作為 API 執行者,處理助手提供的工具描述和輸入引數,並模擬輸出潛在的執行結果。所生成的對話可進一步進行格式泛化為不同的工具呼叫格式。

雙層資料質檢流程:影響大語言模型工具呼叫能力的一個關鍵因素是訓練資料的準確性和可靠性。不一致或不準確的資料會阻礙模型理解和執行工具的能力。與一般問答資料不同,工具呼叫資料的正確性更容易驗證,因為成功的工具呼叫必須嚴格符合 API 定義中指定的格式。因此,ToolACE 提出了結合規則質檢和模型質檢的雙層資料質檢流程對合成資料進行校驗。規則質檢保證資料嚴格遵循 API 定義的格式和結構要求,確保工具呼叫的可執行性。模型質檢則進一步對規則難以處理的問題進行檢查,如幻象和資料不一致性。

實驗驗證

資料分佈:ToolACE 資料共包含了 26507 個不同的 API,來自於不同的領域。下圖展示了各個領域的 API 數量分佈,以及在娛樂(Entertainment)領域的二級 API 分佈。

圖片

圖 2. ToolACE 資料集 API 領域來源分佈

此外,ToolACE 資料集中 API 的引數覆蓋多個型別:字串(string),浮點數(float),整數(int),字典(dict),陣列(array)等。且資料中含有單工具呼叫(single)、並行多工具呼叫(parallel)、多輪資料(multi-turn)、工具依賴呼叫(dependency)和無需工具呼叫(non-tool)等多種可能情形,分佈如下圖所示。

圖片

圖 3. ToolACE 資料 API 引數型別分佈和工具呼叫形式分佈

工具呼叫能力驗證:研究團隊使用 ToolACE 方案生成的資料集,對開源的 LLaMA-3.1-8B-Instruct 模型進行 LoRA 微調得到 ToolACE-8B 模型,並在加州大學伯克利分校團隊釋出的工具呼叫測試榜單 BFCL 上進行評估,在 BFCL 上擊敗所有模型獲得榜首。

圖片

表 1. 模型在 BFCL-v2 榜單上的工具呼叫效能比較(榜單資料更新於 2024/08/16)。表中選擇排名前 20 的模型作為比較。

通用能力驗證:研究團隊對訓練後模型的綜合通用能力進行測試,實驗涵蓋通用理解任務、程式碼生成任務、數學推理任務、嘗試問答任務以及工具呼叫任務,結果證明 ToolACE-8B 模型在大幅提升工具呼叫能力的同時,相比於基座模型(LLaMA-3.1-8B-Instruct)並未明顯損失其他能力,且各方面明顯優於同規模開源工具呼叫模型 xLAM-7B-fc-r。

圖片

圖 4. ToolACE-8B 模型通用能力評估

相關文獻

[1] Shishir G Patil, Tianjun Zhang, Xin Wang, and Joseph E Gonzalez. Gorilla: Large language model connected with massive apis. arXiv preprint arXiv:2305.15334, 2023.

[2] Qiaoyu Tang, Ziliang Deng, Hongyu Lin, Xianpei Han, Qiao Liang, Boxi Cao, and Le Sun. Toolalpaca: Generalized tool learning for language models with 3000 simulated cases. arXiv preprint arXiv:2306.05301, 2023.

[3] Zuxin Liu, Thai Hoang, Jianguo Zhang, Ming Zhu, Tian Lan, Shirley Kokane, Juntao Tan, Weiran Yao, Zhiwei Liu, Yihao Feng, et al. Apigen: Automated pipeline for generating verifiable and diverse function-calling datasets. arXiv preprint arXiv:2406.18518, 2024.

[4] Meetkai. Functionary.meetkai. 2024.

[5] Ibrahim Abdelaziz, Kinjal Basu, Mayank Agarwal, Sadhana Kumaravel, Matthew Stallone, Rameswar Panda, Yara Rizk, GP Bhargav, Maxwell Crouse, Chulaka Gunasekara, et al. Granitefunction calling model: Introducing function calling abilities via multi-task learning of granular tasks. arXiv preprint arXiv:2407.00121, 2024.

[6] Yujia Qin, Shihao Liang, Yining Ye, Kunlun Zhu, Lan Yan, Yaxi Lu, Yankai Lin, Xin Cong, Xiangru Tang, Bill Qian, et al. Toolllm: Facilitating large language models to master 16000+ real-world apis. arXiv preprint arXiv:2307.16789, 2023.

相關文章