En bref. Toolformer apprend à un modèle de langage à appeler des outils en générant des appels candidats, en les filtrant selon la perte de prédiction et en l’entraînant sur les exemples retenus.
Définition : Toolformer: Language Models Can Teach Themselves to Use Tools est un article de recherche qui présente une méthode pour entraîner un modèle de langage à sélectionner et à appeler des outils externes. Le modèle génère des appels candidats, conserve ceux dont les réponses l’aident à prédire la suite du texte, puis apprend à partir des exemples ainsi obtenus.
Points clés
- La notice arXiv date la soumission initiale de Timo Schick et de ses collègues du 9 février 2023.
- La publication NeurIPS mentionne une calculatrice, un système de questions-réponses, un moteur de recherche, un système de traduction et un calendrier parmi les outils étudiés.
- Les spécifications des outils dans l’article exigent des entrées et des sorties textuelles, ainsi que quelques démonstrations de l’utilisation prévue pour chaque outil.
Comment le modèle apprend-il à appeler des outils ?
Une interface de programmation d’application (API) permet au modèle de demander à un outil d’effectuer une opération et d’en recevoir le résultat. Dans la procédure d’entraînement de Toolformer, des démonstrations rédigées par des humains montrent comment insérer des appels dans le texte. Le modèle propose ensuite des appels candidats à des positions choisies dans un jeu de données de modélisation du langage, puis la chaîne d’entraînement les exécute.
Une fonction de perte mesure l’erreur du modèle lorsqu’il prédit les tokens suivants, c’est-à-dire les unités de texte qu’il génère. La chaîne conserve les appels dont les résultats réduisent cette perte d’au moins un seuil choisi. Elle compare l’appel accompagné de son résultat à deux situations : l’absence d’appel et un appel sans résultat renvoyé. L’utilité de la réponse entre ainsi dans le critère de sélection.
Les appels et les réponses retenus sont insérés dans les textes d’origine. Le modèle est ensuite affiné (fine-tuning) sur ce jeu de données enrichi : ses paramètres sont mis à jour au cours d’un entraînement supplémentaire. Les expériences utilisent GPT-J comme modèle de langage et un sous-ensemble de CCNet comme jeu de données textuelles.
À quoi ressemble un appel d’outil ?
L’exemple de calculatrice de l’article, écrit avec les séquences de tokens utilisées en pratique et décrites dans sa note d’implémentation, prend cette forme :
[Calculator(400 / 1400) -> 0.29]
Le nom de l’outil identifie l’opération, les parenthèses contiennent son entrée et la flèche introduit le résultat renvoyé. Pendant la génération du texte, le modèle produit l’appel jusqu’à la flèche. Le processus d’exécution qui l’entoure suspend la génération, exécute l’outil, insère la réponse et le marqueur de fermeture, puis reprend la génération.
Pour la recherche, l’expérience utilise un système qui renvoie de courts extraits de Wikipédia. Sa méthode de recherche d’information, BM25, met en correspondance une requête avec un index construit à partir de la collection Wikipédia fournie avec KILT. Le modèle extrait les informations pertinentes du texte renvoyé.
Quelles limites l’article décrit-il ?
La section consacrée aux limites relève une incapacité à enchaîner les outils, c’est-à-dire à utiliser la sortie d’un outil comme entrée d’un autre. Les appels d’entraînement sont générés indépendamment pour chaque outil ; le jeu de données d’entraînement ne contient donc aucun exemple d’utilisation en chaîne. La méthode ne permet pas non plus d’effectuer des recherches interactives, comme parcourir des résultats successifs ou affiner une requête.
La sélection des outils est sensible à la formulation de l’entrée. La production d’exemples d’entraînement utiles peut aussi nécessiter un traitement important : les auteurs indiquent que plus d’un million de documents ne fournissent que quelques milliers d’appels utiles à la calculatrice. La décision d’appel ne tient pas compte du coût de calcul de l’outil sélectionné.
Le dispositif expérimental autorise au plus un appel d’API par entrée pour éviter que des appels répétés ne forment une boucle.
Termes connexes
- Grand modèle de langage (LLM)
- Génération augmentée par la recherche (RAG)
- Article ReAct
- Recherche agentique
Questions fréquentes
L’entraînement autosupervisé supprime-t-il les démonstrations humaines ?
Le résumé de l’article précise qu’une poignée de démonstrations est nécessaire pour chaque API. Le modèle génère des appels supplémentaires, puis le filtre fondé sur la perte sélectionne les exemples utiles à la poursuite de l’entraînement.
Toolformer effectue-t-il des recherches sur le Web en direct ?
L’outil de recherche décrit interroge une collection Wikipédia et renvoie des extraits. Son index provient de KILT et sa méthode de recherche d’information est BM25.
Puis-je m’appuyer sur cet article pour choisir les modifications à apporter à mon site pour la recherche par IA ?
Les expériences de ce même article évaluent des tâches comme la complétion factuelle, les mathématiques et les questions-réponses. L’article ne présente aucun test portant sur des modifications de sites web ou sur les taux de citation dans les moteurs de réponse actuels.
Sources
- arXiv, « Toolformer: Language Models Can Teach Themselves to Use Tools », 9 février 2023
- NeurIPS, « Toolformer: Language Models Can Teach Themselves to Use Tools », 2023, notice de publication
- NeurIPS, « Toolformer: Language Models Can Teach Themselves to Use Tools », 2023, article intégral
Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO