Tout ce que vous devez savoir sur le prompting automatique par chaîne de pensée dans les grands modèles de langage

Tout ce que vous devez savoir sur le prompting automatique par chaîne de pensée dans les grands modèles de langage

Introduction

Qu’est-ce que le prompting automatique par chaîne de pensée dans les grands modèles de langage ? Dans cet article, nous allons décomposer cette question en petites parties, en commençant par la définition du prompting par chaîne de pensée (CoT), puis en abordant les avantages et le développement de l’Auto CoT. Enfin, nous discuterons de l’API LLM comme élément central de l’application de l’Auto CoT. Restez à l’écoute pour explorer le puissant Auto CoT !

Qu’est-ce que le prompting CoT ?

Le prompting par chaîne de pensée (Chain-of-Thought, CoT) est une technique utilisée pour améliorer les capacités de raisonnement des grands modèles de langage (LLM). Les LLM, tels que GPT-3, ont montré des performances remarquables sur diverses tâches, notamment les questions-réponses, la génération de texte et la résolution de problèmes.

Cependant, dans de nombreuses tâches de raisonnement complexes, les LLM peuvent avoir du mal à fournir une solution complète et cohérente étape par étape. Le prompting CoT vise à résoudre ce problème en incitant le modèle de langage à générer une « chaîne de pensée » — une séquence d’étapes de raisonnement intermédiaires qui mènent à la réponse finale.

L’idée centrale du prompting CoT est d’inciter le modèle de langage à réfléchir explicitement à un problème, plutôt que de fournir une réponse directe. Cela se fait généralement en incluant une invite comme « Réfléchissons étape par étape » ou « Explique ton raisonnement » en plus de la question ou du problème donné. Le prompting CoT peut conduire à des résultats plus précis et plus explicables, en particulier pour les tâches complexes en plusieurs étapes.

Pourquoi avons-nous besoin de l’Auto CoT ?

Le problème clé est qu’il existe deux approches principales du prompting par chaîne de pensée (CoT), et que toutes deux présentent des inconvénients significatifs.

Limitations du Zero-Shot-CoT

Dans cette approche, vous posez simplement une question au modèle de langage (LM) et lui demandez de « réfléchir étape par étape » pour arriver à la réponse. L’avantage est qu’elle est très facile à utiliser — vous n’avez pas besoin de fournir d’informations ou d’exemples supplémentaires. Cependant, le gros inconvénient est que le raisonnement étape par étape du LM peut souvent être erroné ou contenir des erreurs. La réponse finale peut donc ne pas être fiable.

Limitations du Manual-CoT

Cette approche consiste à créer manuellement des exemples détaillés pour le LM, montrant comment décomposer un problème en étapes logiques et arriver à la bonne réponse. En fournissant ces exemples soigneusement élaborés, le LM peut ensuite utiliser ces connaissances pour mieux résoudre de nouvelles questions. L’avantage est que le raisonnement du LM est plus robuste et précis lorsqu’il peut se référer aux exemples manuels. Mais l’inconvénient majeur est que la création de ces exemples détaillés est extrêmement chronophage et nécessite beaucoup d’efforts humains et d’expertise. Ce n’est pas du tout scalable.

Surmonter les limitations avec l’Auto-CoT

En résumé, le Zero-Shot-CoT est facile mais peu fiable, tandis que le Manual-CoT est plus robuste mais très laborieux. C’est le défi clé que les auteurs tentent de résoudre avec leur approche proposée « Auto-CoT ».

L’idée centrale de l’Auto-CoT défendue par certains chercheurs est de générer automatiquement les exemples de démonstration que le LM peut utiliser, sans nécessiter d’effort humain manuel. Cela pourrait potentiellement combiner les avantages des deux approches existantes — un raisonnement fiable, mais de manière plus scalable.

Comment l’Auto CoT a-t-il été développé ?

Dans cette section, nous allons explorer les détails de l’article intitulé « Automatic Chain of Thought Prompting in Large Language Models » par Zhuosheng Zhang, Aston Zhang, Mu Li et Alex Smola, publié en 2022. Si les détails de la recherche ne vous intéressent pas, n’hésitez pas à passer à la section suivante.

Approche proposée

Pour surmonter ces limitations des approches CoT existantes, les auteurs proposent un paradigme « Auto-CoT » qui construit automatiquement des démonstrations pour le prompting CoT.

Les étapes clés sont :

  1. Utiliser les LLM avec l’invite « Réfléchissons étape par étape » pour générer des chaînes de raisonnement pour les questions de démonstration.
  2. Reconnaissant que les chaînes de raisonnement générées peuvent contenir des erreurs, les auteurs se concentrent sur la garantie de la diversité des questions de démonstration sélectionnées.
  3. Les auteurs développent une approche en deux étapes pour construire automatiquement les démonstrations :
    a. Partitionner les questions du jeu de données en clusters basés sur la similarité.
    b. Sélectionner une question représentative de chaque cluster et générer sa chaîne de raisonnement en utilisant le Zero-Shot-CoT.

Évaluation

Les auteurs évaluent l’approche Auto-CoT avec GPT-3 sur dix tâches de raisonnement de référence, incluant le raisonnement arithmétique, le bon sens et le raisonnement symbolique. Ils comparent les performances avec les paradigmes Zero-Shot-CoT et Manual-CoT.

Résultats clés

Les résultats montrent que l’approche Auto-CoT atteint ou dépasse systématiquement les performances du paradigme Manual-CoT, qui nécessite une conception manuelle des démonstrations. Cela démontre que les LLM peuvent effectuer un raisonnement CoT efficace sans nécessiter d’efforts manuels.

Comment fonctionne l’Auto CoT ?

L’idée clé derrière l’Auto-CoT est de générer automatiquement les exemples de démonstration que le modèle de langage (LM) peut utiliser pour le prompting par chaîne de pensée, plutôt que de s’appuyer sur des démonstrations fabriquées manuellement.

Voici comment fonctionne l’approche Auto-CoT, étape par étape :

Étape 1 Regroupement des questions :

  • La première étape consiste à prendre l’ensemble des questions de test (les questions sur lesquelles le LM sera évalué et les questions préexistantes des jeux de données de référence standard) et à les regrouper en quelques clusters basés sur leur similarité.
  • Ce regroupement permet de garantir que les questions de démonstration couvrent des types divers de problèmes, plutôt que d’être trop similaires.

Étape 2 Génération de la démonstration :

  • Pour chaque cluster de questions, Auto-CoT sélectionne une question représentative de ce cluster.
  • Il utilise ensuite l’invite « Réfléchissons étape par étape » pour demander au LM de générer une chaîne de raisonnement pour cette question représentative.
  • Cette chaîne de raisonnement, constituée des étapes intermédiaires et de la réponse finale, devient l’exemple de démonstration pour ce cluster.

Étape 3 Invitation du LM :

  • Lors de l’évaluation du LM sur une nouvelle question de test, Auto-CoT fournit au LM l’ensemble des exemples de démonstration générés automatiquement.
  • Le LM peut alors utiliser ces démonstrations pour guider son propre processus de raisonnement étape par étape afin d’arriver à la réponse de la question de test.

Comment puis-je utiliser l’Auto CoT ?

Prérequis :

  • Python version 3.8 ou ultérieure

Installation :

  • Installez les paquets PyTorch et torchtext requis en utilisant les versions spécifiées et l’URL PyPI :
    pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html
  • Installez les autres dépendances en exécutant pip install -r requirements.txt

Jeux de données :

Téléchargez les jeux de données depuis les dépôts GitHub suivants :

Démarrage rapide :

Consultez le notebook try_cot.ipynb pour un guide de démarrage rapide.

Instructions :

Construire les démos :

  • Exécutez la commande suivante pour construire les démos pour la tâche « multiarith » :
    python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith

Exécuter l’inférence :

  • Exécutez la commande suivante pour lancer l’inférence sur le jeu de données « multiarith » :
    python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith

Citation de l’Auto-CoT :

Si vous utilisez Auto-CoT dans vos travaux, veuillez citer l’article suivant :

@inproceedings{zhang2023automatic,
title={Automatic Chain of Thought Prompting in Large Language Models},
author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex},
booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)},
year={2023}
}

L’API LLM comme élément central de l’application de l’Auto-CoT

Quels sont les avantages de combiner l’Auto-CoT avec les API LLM ?

  1. Accès à des modèles de langage puissants :
  • L’Auto-CoT repose sur les capacités des grands modèles de langage pour générer des chaînes de raisonnement étape par étape et produire des résultats précis.
  • En intégrant les API LLM, les chercheurs et développeurs peuvent tirer parti des modèles de langage les plus récents et les plus puissants, tels que GPT-3, Megatron-LLM ou InstructGPT, pour alimenter le système Auto-CoT.
  1. Flexibilité et personnalisation :
  • Différents modèles de langage peuvent avoir des forces, des biais et des capacités variables. L’intégration d’API LLM permet aux utilisateurs d’expérimenter et de comparer les performances de différents modèles pour leurs tâches et applications spécifiques.
  • Cette flexibilité permet aux chercheurs d’affiner et de personnaliser les modèles de langage en fonction de leurs besoins, améliorant ainsi l’efficacité globale du système Auto-CoT.
  1. Scalabilité et déploiement :
  • Les API LLM offrent souvent une infrastructure scalable et fiable pour servir et déployer des modèles de langage, permettant aux systèmes Auto-CoT de gérer des charges de travail accrues et de servir une base d’utilisateurs plus large.
  • En exploitant les capacités de mise à l’échelle des API LLM, les chercheurs et développeurs peuvent plus facilement déployer et maintenir le système Auto-CoT dans des environnements de production.
  1. Améliorations continues des modèles :
  • Les modèles de langage évoluent rapidement, avec de nouvelles versions améliorées publiées fréquemment. L’intégration des API LLM permet aux systèmes Auto-CoT de bénéficier de ces avancées et de rester à jour avec les dernières capacités des modèles de langage.
  • Cela garantit que le système Auto-CoT peut continuer à fournir des résultats de haute qualité et maintenir sa compétitivité à mesure que le domaine des modèles de langage progresse.

Comment intégrer l’API LLM à mon projet ?

Novita AI fournit aux utilisateurs une API LLM avec de nombreux modèles à appeler, y compris les récemment publiés llama-3–8b et llama-3–70b. Vous pouvez essayer différents modèles et comparer leurs performances gratuitement sur notre Playground avant d’intégrer notre API LLM.

De plus, pour répondre à des besoins personnalisés, vous pouvez ajuster des paramètres clés comme temperature (contrôle le caractère aléatoire et l’exploration de la sortie du modèle), top_p (une alternative à l’échantillonnage avec température, appelée échantillonnage par noyau, où le modèle considère les résultats des tokens avec une masse de probabilité top_p), presence_penalty (encourage le modèle à produire un texte différent de ce qu’il a généré auparavant), et maximum tokens (définit la longueur maximale de la sortie générée par le modèle) pour optimiser les sorties du modèle pour vos exigences d’application spécifiques. Ce niveau de personnalisation vous permet de combiner pleinement les capacités du LLM avec vos systèmes Auto-CoT.

Vous pouvez visiter notre site web pour plus d’informations sur l’API LLM, y compris les instructions de code pour l’intégration, les tarifs et d’autres fonctionnalités.

Conclusion

Dans cet article, nous avons exploré le concept du prompting par chaîne de pensée (CoT) et le besoin d’une approche automatisée appelée Auto-CoT. Alors que les méthodes CoT existantes ont des limitations, l’approche Auto-CoT vise à générer automatiquement des exemples de démonstration pour guider les modèles de langage dans un raisonnement étape par étape, sans nécessiter d’effort manuel. Nous avons discuté des étapes clés de l’Auto-CoT, y compris le regroupement des questions et la génération de démonstrations. Enfin, nous avons souligné comment l’intégration des API LLM peut fournir des modèles de langage puissants et flexibles pour alimenter le système Auto-CoT, conduisant à des performances améliorées, une meilleure scalabilité et des améliorations continues des modèles. Dans l’ensemble, l’Auto-CoT représente un développement passionnant pour améliorer les capacités de raisonnement des grands modèles de langage.

Novita AI, la plateforme tout-en-un pour une créativité sans limites qui vous donne accès à plus de 100 API. De la génération d’images au traitement du langage, en passant par l’amélioration audio et la manipulation vidéo, avec un paiement à l’utilisation peu coûteux, elle vous libère des soucis de maintenance des GPU tout en construisant vos propres produits. Essayez-la gratuitement.