Prompts

Qu’est-ce que le zero-shot prompting?

· Par Robert Scales · 4 min de lecture

Réponse courte

Le zero-shot prompting consiste à demander à un modèle de langage d’accomplir une tâche avec une simple consigne, sans aucun exemple résolu dans le prompt. Il fonctionne bien pour les tâches courantes que le modèle a vues de nombreuses fois, comme résumer, traduire ou classer un texte dans des catégories évidentes, et c’est le point de départ naturel maintenant que les modèles qui suivent les consignes sont ceux par défaut.

Un shot, c’est le mot qu’utilisent les chercheurs pour désigner un exemple résolu placé dans un prompt. Un prompt few-shot contient plusieurs exemples résolus avant la vraie question. Un prompt one-shot en contient un. Un prompt zero-shot n’en contient aucun : vous décrivez la tâche en mots simples et vous laissez le modèle s’en charger.

Les termes viennent de l’article de 2020 sur GPT-3, qui a testé le modèle dans les trois situations. Les auteurs qualifiaient le zero-shot de situation la plus pratique, mais aussi la plus exigeante, puisque le modèle doit comprendre la tâche à partir de la seule description. Cet équilibre a changé au cours des dernières semaines. Depuis le 27 janvier, les modèles InstructGPT d’OpenAI, qui suivent les consignes, sont ceux par défaut dans son API, et ils sont entraînés précisément pour agir à partir de demandes simples. Le zero-shot prompting (le prompt sans exemple) est maintenant un premier essai raisonnable pour bien des tâches de tous les jours.

Pourquoi un modèle peut travailler sans exemples

Un grand modèle de langage a lu une quantité énorme de texte pendant son entraînement. Résumés, traductions, critiques de produits, courriels et définitions apparaissent d’innombrables fois dans ce texte. Quand vous demandez l’une de ces tâches familières, le modèle sait déjà à quoi ressemble généralement un bon résultat. La consigne n’a qu’à l’orienter dans la bonne direction.

L’entraînement peut renforcer cette capacité. Dans un article de septembre 2021, des chercheurs de Google ont fait l’ajustement fin d’un modèle de 137 milliards de paramètres sur plus de 60 tâches, chacune formulée comme une consigne écrite, une méthode qu’ils appellent l’ajustement par consignes (instruction tuning). Le modèle ajusté, nommé FLAN, a fait mieux que GPT-3 en zero-shot sur 19 des 25 tâches vérifiées. Les modèles InstructGPT d’OpenAI atteignent un objectif semblable par une autre voie, en apprenant de personnes qui ont rédigé et classé des réponses.

Trois prompts zero-shot qui fonctionnent habituellement

Voici trois tâches pour lesquelles une consigne suffit. Chacune est courante, a un but clair et accepte plus d’une bonne réponse.

1. Résumer

Prompt
Résume le paragraphe suivant en une phrase pour une gestionnaire pressée.

Notre bureau déménagera au troisième étage à partir du 7 mars. Les déménageurs emballeront les bureaux vendredi après-midi; veuillez donc rapporter vos effets personnels à la maison avant midi. L’accès à Internet pourrait être coupé lundi matin, jusqu’à ce que le service informatique ait terminé l’installation.

2. Traduire

Prompt
Traduis en anglais : « La bibliothèque est fermée le dimanche, mais vous pouvez rapporter vos livres dans la chute à livres près de la porte d’entrée. »

3. Classer dans des catégories évidentes

Prompt
L’avis de client suivant est-il positif, négatif ou mitigé? Réponds en un seul mot.

Avis : La livraison a été rapide et le manteau est chaud, mais la fermeture éclair a brisé après une semaine.

Dans chaque cas, le modèle a vu ce genre de tâche des milliers de fois, et la consigne nomme le public, la langue cible ou les réponses permises. Un mot comme « mitigé » dans le troisième prompt compte : il donne au modèle une option raisonnable pour un avis qui n’est ni l’un ni l’autre.

À essayer : écrivez des prompts zero-shot pour trois petites tâches de votre semaine, comme raccourcir un courriel, traduire une affiche ou indiquer si un message est urgent ou non. Pour chacun, changez un seul mot de la consigne (le public, la longueur ou les réponses permises) et comparez les deux résultats.

Quand un prompt zero-shot échoue-t-il?

Les prompts zero-shot échouent quand la tâche dépend de quelque chose que vous seul connaissez : un format privé, des règles maison, des étiquettes inhabituelles ou une décision délicate que la consigne n’explique pas. Le modèle comble le vide avec la réponse la plus typique, et la réponse la plus typique n’est pas la vôtre.

Voici un prompt qui semble clair, mais qui tourne habituellement mal :

Prompt
Attribue le bon code à ce courriel de soutien.

Courriel : Bonjour, on m’a facturé deux fois mon abonnement de février. Pouvez-vous rembourser l’un des paiements?

Le modèle n’a aucun moyen de connaître vos codes. Il pourrait répondre « Facturation », « Demande de remboursement », « #paiements » ou une phrase entière. Chaque réponse est raisonnable, et aucune ne correspond à un système qui attend, par exemple, BIL-02 pour les doubles facturations.

La solution consiste à transformer le prompt zero-shot en prompt one-shot ou few-shot, en ajoutant des exemples qui montrent les codes et le format :

Prompt
Attribue à chaque courriel de soutien un code de cette liste : BIL-01 (mauvais montant), BIL-02 (double facturation), ACC-01 (connexion impossible), SHP-01 (livraison en retard). Réponds seulement avec le code.

Courriel : Mon colis devait arriver mardi et il n’est toujours pas là.
Code : SHP-01

Courriel : Bonjour, on m’a facturé deux fois mon abonnement de février. Pouvez-vous rembourser l’un des paiements?
Code :

Le modèle voit maintenant la liste, le format exact de la réponse et un cas résolu. La tâche est passée de deviner à faire correspondre.

D’autres signes que le zero-shot ne suffit pas :

  • Le format du résultat change sans cesse. Si un essai donne une liste et le suivant un paragraphe, montrez un exemple de la forme voulue.
  • La tâche est inhabituelle. L’article sur GPT-3 a constaté que des casse-têtes comme remettre dans l’ordre les lettres d’un mot étaient beaucoup plus difficiles pour le modèle sans exemples qu’avec des exemples.
  • L’exactitude compte et vous pouvez la tester. Faites passer le même prompt zero-shot sur dix entrées dont vous connaissez la bonne réponse. S’il en rate plusieurs, ajoutez deux ou trois exemples et refaites le test.

Une bonne habitude de travail consiste à commencer en zero-shot, à regarder ce qui revient et à ajouter des exemples seulement là où la consigne seule laisse le modèle deviner. Vos prompts restent ainsi courts quand ils peuvent l’être, et précis quand ils doivent l’être.

Sources

  1. Language Models are Few-Shot Learners — OpenAI (arXiv), 28 mai 2020
  2. Finetuned Language Models Are Zero-Shot Learners — Google Research (arXiv), 3 septembre 2021
  3. Aligning Language Models to Follow Instructions — OpenAI, 27 janvier 2022

Recevez gratuitement le Guide de l’intelligence artificielle

Abonnez-vous à l’infolettre hebdomadaire et recevez le guide gratuit : ce qui a changé en IA cette semaine, une leçon, un prompt à essayer. Désabonnement en un clic.

Ce que nous faisons de votre adresse

Retour en haut

Affichage

Vos choix sont enregistrés dans ce navigateur seulement. Aucune donnée n’est transmise.

Taille du texte
100 %
Couleurs
Lecture
Autres réglages
Déclaration d’accessibilité