ToolLLM: Facilitare ai Modelli Linguistici di Grande Scala il Dominio di Oltre 16000 API del Mondo Reale
ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs
July 31, 2023
Autori: Yujia Qin, Shihao Liang, Yining Ye, Kunlun Zhu, Lan Yan, Yaxi Lu, Yankai Lin, Xin Cong, Xiangru Tang, Bill Qian, Sihan Zhao, Runchu Tian, Ruobing Xie, Jie Zhou, Mark Gerstein, Dahai Li, Zhiyuan Liu, Maosong Sun
cs.AI
Abstract
Nonostante i progressi dei modelli linguistici di grandi dimensioni (LLM) open-source e delle loro varianti, come LLaMA e Vicuna, essi rimangono significativamente limitati nell'esecuzione di compiti di livello superiore, come seguire le istruzioni umane per utilizzare strumenti esterni (API). Ciò è dovuto al fatto che l'attuale ottimizzazione delle istruzioni si concentra principalmente su compiti linguistici di base piuttosto che sul dominio dell'uso degli strumenti. Questo è in contrasto con i migliori LLM all'avanguardia (SOTA), come ChatGPT, che hanno dimostrato eccellenti capacità di utilizzo degli strumenti ma che, purtroppo, sono closed source. Per facilitare le capacità di utilizzo degli strumenti all'interno degli LLM open-source, introduciamo ToolLLM, un framework generale per l'uso degli strumenti che include la costruzione dei dati, l'addestramento del modello e la valutazione. Presentiamo innanzitutto ToolBench, un dataset di ottimizzazione delle istruzioni per l'uso degli strumenti, creato automaticamente utilizzando ChatGPT. Nello specifico, raccogliamo 16.464 API RESTful del mondo reale, che coprono 49 categorie da RapidAPI Hub, quindi sollecitiamo ChatGPT a generare diverse istruzioni umane che coinvolgono queste API, coprendo sia scenari con un singolo strumento che con più strumenti. Infine, utilizziamo ChatGPT per cercare un percorso di soluzione valido (catena di chiamate API) per ogni istruzione. Per rendere il processo di ricerca più efficiente, sviluppiamo un nuovo albero decisionale basato su ricerca in profondità (DFSDT), che consente agli LLM di valutare più tracce di ragionamento e ampliare lo spazio di ricerca. Dimostriamo che DFSDT migliora significativamente le capacità di pianificazione e ragionamento degli LLM. Per una valutazione efficiente dell'uso degli strumenti, sviluppiamo un valutatore automatico: ToolEval. Ottimizziamo LLaMA su ToolBench e otteniamo ToolLLaMA. Il nostro ToolEval rivela che ToolLLaMA dimostra una notevole capacità di eseguire istruzioni complesse e di generalizzare su API non viste, mostrando prestazioni comparabili a ChatGPT. Per rendere la pipeline più pratica, progettiamo un selettore di API neurale per raccomandare le API appropriate per ogni istruzione, eliminando la necessità di una selezione manuale delle API.
English
Despite the advancements of open-source large language models (LLMs) and
their variants, e.g., LLaMA and Vicuna, they remain significantly limited in
performing higher-level tasks, such as following human instructions to use
external tools (APIs). This is because current instruction tuning largely
focuses on basic language tasks instead of the tool-use domain. This is in
contrast to state-of-the-art (SOTA) LLMs, e.g., ChatGPT, which have
demonstrated excellent tool-use capabilities but are unfortunately closed
source. To facilitate tool-use capabilities within open-source LLMs, we
introduce ToolLLM, a general tool-use framework of data construction, model
training and evaluation. We first present ToolBench, an instruction-tuning
dataset for tool use, which is created automatically using ChatGPT.
Specifically, we collect 16,464 real-world RESTful APIs spanning 49 categories
from RapidAPI Hub, then prompt ChatGPT to generate diverse human instructions
involving these APIs, covering both single-tool and multi-tool scenarios.
Finally, we use ChatGPT to search for a valid solution path (chain of API
calls) for each instruction. To make the searching process more efficient, we
develop a novel depth-first search-based decision tree (DFSDT), enabling LLMs
to evaluate multiple reasoning traces and expand the search space. We show that
DFSDT significantly enhances the planning and reasoning capabilities of LLMs.
For efficient tool-use assessment, we develop an automatic evaluator: ToolEval.
We fine-tune LLaMA on ToolBench and obtain ToolLLaMA. Our ToolEval reveals that
ToolLLaMA demonstrates a remarkable ability to execute complex instructions and
generalize to unseen APIs, and exhibits comparable performance to ChatGPT. To
make the pipeline more practical, we devise a neural API retriever to recommend
appropriate APIs for each instruction, negating the need for manual API
selection.