Auteurs:
(1) Kexun Zhang, UC Santa Barbara et contribution égale ;
(2) Hongqiao Chen, Northwood High School et contribution égale ;
(3) Lei Li, Université Carnegie Mellon ;
(4) William Yang Wang, UC Santa Barbara.
Les grands modèles de langage (LLM) ont montré des capacités prometteuses dans l'utilisation d'outils externes pour résoudre des problèmes complexes. Cependant, les approches existantes impliquent soit d'affiner les démonstrations d'outils, qui ne se généralisent pas à de nouveaux outils sans formation supplémentaire, soit de fournir une documentation des outils en contexte, limitant le nombre d'outils. Les deux approches génèrent souvent des appels d’outils syntaxiquement invalides. Dans cet article, nous proposons TOOLDEC, un algorithme de décodage guidé par machine à états finis pour les LLM augmentés par des outils. TOOLDEC élimine les erreurs liées aux outils pour tout LLM augmenté par des outils en garantissant des noms d'outils valides et des arguments conformes au type. De plus, TOOLDEC permet à LLM de sélectionner efficacement les outils en utilisant uniquement les informations contenues dans leurs noms, sans avoir besoin d'un réglage précis ou d'une documentation contextuelle. Nous avons évalué plusieurs méthodes antérieures et leurs versions améliorées par TOOLDEC sur une variété de tâches impliquant des outils tels que des fonctions mathématiques, des relations entre graphes de connaissances et des API RESTful complexes du monde réel. Nos expériences montrent que TOOLDEC réduit les erreurs syntaxiques à zéro, obtenant ainsi des performances nettement meilleures et une accélération jusqu'à 2x. Nous montrons également que TOOLDEC atteint des performances de généralisation supérieures sur des outils invisibles, fonctionnant jusqu'à 8 fois mieux que les lignes de base [1]
L'augmentation des grands modèles de langage (LLM) avec des outils externes (Mialon et al., 2023) leur permet de résoudre des problèmes complexes. Les LLM actuels peuvent utiliser des récupérateurs (Shen et al., 2023 ; Gupta & Kembhavi, 2022 ; Schick et al., 2023), des API RESTful (Qin et al., 2023 ; Song et al., 2023), des interprètes de programme (Chen et al., 2023). al., 2022 ; Gao et al., 2023), et divers autres outils. Les performances d'un LLM augmenté par des outils dépendent de sa capacité à prendre trois décisions clés : quand utiliser un outil, quel outil utiliser et comment invoquer un outil. Les approches existantes apprennent à prendre ces décisions grâce à un réglage précis ou à un apprentissage en contexte.
Cependant, ces approches génèrent toujours des appels d’outils erronés. Par exemple, l’apprentissage en contexte peut facilement générer des noms d’outils inexistants qui ne figurent pas dans l’inventaire des outils, car des outils inexistants peuvent également sembler plausibles comme prochain jeton (Song et al., 2023 ; Qin et al., 2023). . Les modèles affinés, bien qu’ils appellent généralement les outils par des noms corrects, transmettent souvent des arguments non valides aux bonnes fonctions de l’outil (Hao et al., 2023), tout comme le fait l’apprentissage en contexte. De plus, les approches antérieures ne se généralisent pas bien aux outils invisibles. Les approches de réglage précis nécessitent des données de formation supplémentaires et des ajustements supplémentaires pour adopter de nouveaux outils. Les approches d'apprentissage en contexte nécessitent une documentation des outils dans les invites.
Pour résoudre ces problèmes, nous proposons TOOLDEC, un algorithme de décodage guidé par une machine à états finis (FSM) pour garantir que les LLM invoquent correctement les outils. Notre objectif principal est de représenter explicitement les états lors du décodage LLM. Chaque état est associé à un ensemble valide de jetons correspondant aux noms d'outils et aux arguments d'outils. TOOLDEC passe d'un état à l'autre au fur et à mesure que le décodage progresse. A chaque étape de décodage, TOOLDEC n'échantillonne pas l'intégralité du vocabulaire du modèle de langage. Au lieu de cela, il échantillonne un sous-ensemble de jetons autorisés par l’état actuel. Le FSM qui guide TOOLDEC est construit à partir de la documentation des outils et de la signature API afin que la machine représente précisément la grammaire des appels d'outils. De cette manière, TOOLDEC est en mesure de toujours générer
appels d'outils syntaxiquement corrects. La figure 1 illustre qu'un LLM amélioré par TOOLDEC est capable de générer le bon appel de fonction multiplié avec des arguments précis (« 3.14 » et « 123 ») et, par conséquent, il obtient le résultat correct renvoyé par l'outil. D'autres exemples comparant TOOLDEC et d'autres outils LLM peuvent être trouvés à l'annexe A.3.
De plus, TOOLDEC se généralise de manière beaucoup plus efficace à de nouveaux outils qui ne sont jamais apparus auparavant. Contrairement aux approches précédentes qui nécessitaient un réglage fin ou des descriptions contextuelles des nouveaux outils, TOOLDEC construit automatiquement une machine à états finis à partir de la signature API d'un outil (son nom et ses types d'arguments) et l'ajoute au FSM existant. TOOLDEC est alors capable d'appeler de nouveaux outils sans mise au point ni démonstration en contexte. Bien que les modèles de langage pré-entraînés puissent générer des noms d'outils lorsqu'ils y sont invités, ils hallucinent souvent des noms d'outils plausibles qui ne figurent pas dans l'inventaire. TOOLDEC ne fait pas cela. Dans la figure 1, le produit et la multiplication semblent plausibles pour le scénario, mais seule la multiplication est un outil donné. Puisque TOOLDEC n'appelle que les outils existants, il n'hallucinera pas un outil plausible mais inexistant et pourra s'appuyer sur les noms d'outils pour trouver le bon outil.
Les contributions de cet article peuvent être résumées comme suit :
• Nous proposons TOOLDEC, un algorithme de décodage à états finis pour permettre aux LLM d'utiliser correctement les outils. TOOLDEC bénéficie de deux avantages : ses appels d'outils générés sont garantis syntaxiquement corrects et il se généralise efficacement à des outils invisibles.
• Nous vérifions empiriquement les performances supérieures de TOOLDEC par rapport aux bases de référence solides précédentes sur quatre ensembles de données divers provenant de différents domaines. Nos expériences approfondies montrent que TOOLDEC élimine toutes les erreurs de syntaxe et les noms d'outils hallucinés, ce qui se traduit par une meilleure précision et jusqu'à 50 % de temps d'inférence en moins. Nos résultats indiquent également que TOOLDEC est plus de 8 fois meilleur que les références en matière de raisonnement mathématique avec 9 outils invisibles et 7 fois meilleur que la réponse aux questions de connaissances avec 204 outils invisibles.
Cet article est disponible sur arxiv sous licence CC 4.0 DEED.
[1] Nous publions notre code et nos données sur https://github.com/chenhongqiao/tooldec.