paint-brush
Utilisation d'un outil sans erreur de syntaxe et généralisable pour les LLM : ToolDec élimine les erreurs de syntaxepar@textmodels
254 lectures

Utilisation d'un outil sans erreur de syntaxe et généralisable pour les LLM : ToolDec élimine les erreurs de syntaxe

Trop long; Pour lire

Les chercheurs proposent TOOLDEC, un décodage guidé par machine à états finis pour les LLM, réduisant les erreurs et améliorant l'utilisation des outils.
featured image - Utilisation d'un outil sans erreur de syntaxe et généralisable pour les LLM : ToolDec élimine les erreurs de syntaxe
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

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.

Tableau des liens

4. EXPÉRIENCE I : TOOLDEC ÉLIMINE LES ERREURS DE SYNTAXE

Dans cette section, nous montrons que TOOLDEC peut éliminer les erreurs de syntaxe lors de la génération d'appels d'outils. Nous sélectionnons deux références récentes, ToolLLM et ToolkenGPT, représentatives de l'apprentissage en contexte et du paradigme de réglage fin, pour mettre en valeur la capacité de TOOLDEC. Étant donné que les paramètres d'utilisation des outils pour les deux références sont différents et ne peuvent pas être appliqués l'un à l'autre, nous testons les performances de TOOLDEC séparément pour les deux références en utilisant les références des articles originaux. Grâce à des expériences approfondies, nous montrons que TOOLDEC peut éliminer complètement les erreurs syntaxiques, ce qui se traduit par une meilleure précision et un temps d'inférence plus court.

4.1 RÉFÉRENCES ET RÉFÉRENCES

ToolLLM (Qin et al., 2023). ToolLLM est une approche d'apprentissage en contexte des modèles de langage augmentés par des outils. Il utilise un modèle LLaMA-7B adapté aux instructions (Touvron et al., 2023) pour utiliser les outils. Étant donné l’instruction en langage naturel d’une tâche dépendante d’un outil, un récupérateur d’API récupère d’abord un petit sous-ensemble de fonctions pertinentes. La description textuelle et le schéma de ces fonctions pertinentes sont mis à disposition dans le contexte. Ensuite, ToolLLM passe par un processus de raisonnement en plusieurs étapes en utilisant les fonctions pour produire une réponse finale.


ToolLLM est évalué sur ToolEval, un ensemble de données proposé dans le même article. ToolEval contient des tâches qui impliquent un ensemble massif (plus de 10 000) d'API REST accessibles au public. Nous utilisons les sous-ensembles les plus difficiles de ToolEval pour évaluer notre méthode : I2-Category et I3-Instruction. Ils contiennent des tâches qui nécessitent des outils complexes et invisibles de plusieurs catégories (telles que la géolocalisation, la date/heure et autres) pour être résolues. En moyenne, une tâche de catégorie I2 nécessite 6,76 outils et une tâche de catégorie I3 nécessite 8,24 outils. ToolEval a deux métriques principales : Le taux de réussite mesure le pourcentage de tâches pour lesquelles le modèle atteint une réponse dans un certain nombre d'étapes de raisonnement. Win Rate utilise un évaluateur automatique alimenté par un LLM suivant un ensemble prédéfini de critères pour un meilleur chemin. Il compare la qualité et l'exactitude des réponses de base à la réponse de référence produite par ChatGPT. Qin et coll. (2023) constate que l'évaluateur automatique a une corrélation élevée de 75,8 % avec les annotateurs humains. Outre ces deux mesures, nous mesurons également le taux d'erreur des outils , la proportion de tâches comportant au moins une erreur liée aux outils.


ToolkenGPT (Hao et al., 2023). ToolkenGPT est une approche de réglage fin de l'utilisation des outils. ToolkenGPT représente chaque outil comme un jeton spécial et optimise uniquement l'intégration des jetons d'outils pour l'utilisation des outils. Lors de l'inférence, ToolkenGPT appelle un outil une fois que le jeton spécial correspondant est prédit. Lors d'un appel d'outil, il transmet les arguments en apprenant des démonstrations en contexte. ToolkenGPT utilise LLaMA-33B (Touvron et al., 2023) comme modèle de base.


Tableau 3 : Résultats sur ToolEval. ToolLLM amélioré par TOOLDEC a surpassé les références ToolLLM dans toutes les mesures. TOOLDEC a éliminé toutes les erreurs des outils et a même réussi à battre légèrement ChatGPT.


4.2 INTÉGRATION DE TOOLDEC AUX MODÈLES DE BASE

OutilLLM+TOOLDEC. À la suite de Qin et al. (2023), nous utilisons ReAct (Yao et al., 2023) pour planifier les appels d'outils de ToolLLM. Ceci est conforme au deuxième cas de commutation de mode de la section 3.2. Il y a trois parties dans le FSM pour ToolLLM. Tout d’abord, un format FSM qui applique la syntaxe « Pensée, Action, Action Entrée » de ReAct. Après avoir décodé « Action : », ce FSM passe à l'état initial du nom de fonction FSM, ce qui garantit qu'un nom de fonction décodé est toujours valide. Nous avons également construit un argument de fonction FSM basé sur JSON. Nous avons permis aux LLM de raisonner 5 étapes avant de devoir appeler l'action de fin pour être considérée comme « réussite ».


ToolkenGPT+TOOLDEC. Étant donné que ToolkenGPT utilise des jetons spéciaux pour appeler des outils, TOOLDEC n'est appliqué que pour garantir la syntaxe des arguments. Dans cette expérience, notre FSM garantit que chaque argument est un nombre valide et que les arguments sont séparés par des virgules. Cela garantit également que le nombre réel d’arguments transmis à une fonction correspond exactement au nombre dont elle a besoin. Nous avons comparé TOOLDEC à deux variantes de la ligne de base de Hao et al. (2023), un avec backtrace et un sans. Backtrace tente d'éviter les appels d'outil ayant échoué en permettant au LLM de revenir en arrière et d'essayer le prochain jeton probable, à la place de l'appel d'outil ayant échoué. Pour évaluer TOOLDEC, nous rapportons le temps d'inférence moyen par problème et les taux d'erreur des outils en plus de la précision.

4.3 RÉSULTATS EXPÉRIMENTAUX

TOOLDEC améliore les outils d'apprentissage en contexte LLM. Le tableau 3 montre les performances de TOOLDEC sur ToolEval. TOOLDEC a atteint un taux de victoire de 55 % sur la catégorie I2 et de 60 % sur l'instruction I3. En remplacement de l'algorithme de décodage d'origine, TOOLDEC a éliminé les trois types d'erreurs liées aux outils et a obtenu le meilleur taux de victoire et de réussite, battant même ChatGPT.


Le taux d'erreur d'outil élevé des lignes de base suggère que même après le réglage fin des instructions, ToolLLM n'a toujours pas la capacité d'invoquer avec précision des outils externes à partir de la documentation de l'outil. Cette incapacité est plus évidente lorsqu'il existe une grande variété d'outils disponibles, comme dans I3-Instruction. De plus, ces erreurs ont eu un impact significatif sur la capacité du modèle à accomplir les tâches.


Figure 4 : Taux d'erreur des trois types d'erreurs liées aux outils par rapport au nombre total d'appels d'outils. TOOLDEC a réduit à zéro les trois erreurs liées aux outils.


Nous présentons les taux d'erreur de chaque type d'erreur sur deux benchmarks dans la figure 4. Pour les ToolLLM, l'erreur de nom, c'est-à-dire l'appel d'un outil inexistant, était l'erreur syntaxique la plus courante dans un appel d'outil. TOOLDEC a complètement éliminé les trois erreurs.



L’hallucination du nom de fonction étant l’erreur liée à l’outil la plus répandue, une base de référence légèrement meilleure consistait à l’atténuer avec une correspondance floue par suffixe. Nous présentons les résultats de la ligne de base avec correspondance floue sous la forme ToolLLM + Fuzzy Matching, et sans sous la forme ToolLLM. Cette atténuation a augmenté le taux de réussite mais a eu peu d'impact sur le taux de réussite, comme le montre le tableau 3, car de mauvaises API pouvaient souvent être choisies lorsqu'un modèle était incapable d'appeler avec précision l'outil qu'il souhaitait. Dans l'ensemble, nos expériences sur ToolLLM démontrent que TOOLDEC est très efficace sur l'apprentissage en contexte des LLM. Grâce à la référence suivante, ToolkenGPT, nous montrons que TOOLDEC est également bénéfique pour les LLM d'outils affinés.


TOOLDEC améliore les LLM des outils de réglage fin. Le tableau 4 montre les résultats sur FuncQAmulti. Bien que ToolkenGPT élimine la possibilité d'appeler des noms d'outils inexistants en ajustant une intégration de jeton spéciale, il peut toujours souffrir d'autres erreurs syntaxiques, comme le démontre le taux d'erreur des outils de 27,9 %. En remplacement immédiat, TOOLDEC a augmenté la précision de ToolkenGPT tout en étant beaucoup plus rapide en inférence. Bien que ToolkenGPT + backtrace ait atteint une précision légèrement meilleure que TOOLDEC, il a fallu 2 fois plus de temps pour essayer différents outils. Notez que depuis que TOOLDEC a éliminé toutes les erreurs d’outil, aucun appel d’outil n’a échoué pour que le backtrace réessaye. Les résultats soulignent la pertinence des erreurs liées aux outils et l'applicabilité de TOOLDEC à la fois à l'apprentissage en contexte récent et au réglage fin des LLM augmentés par des outils.


Cet article est disponible sur arxiv sous licence CC 4.0 DEED.