Prompts

Comment amener GPT-3 à respecter un format chaque fois?

· Par Robert Scales · 4 min de lecture

Réponse courte

Montrez à GPT-3 le format exact deux ou trois fois, dans des exemples résolus identiques séparés par des délimiteurs clairs, et terminez chaque exemple par le même marqueur de fin. Laissez ensuite le gabarit ouvert pour un nouvel élément, de sorte que la seule suite sensée soit une autre copie remplie qui s’arrête au marqueur.

GPT-3 n’obéit pas à des ordres. Il prolonge du texte. Si vous lui demandez de « résumer ces notes sous forme de liste de décisions et d’actions à faire », il le fera peut-être exactement, ou il écrira peut-être un paragraphe bavard, ajoutera un titre que vous ne vouliez pas, ou enchaînera sur une deuxième série de notes imaginaires. Chacune de ces réponses est une suite plausible de votre prompt. Un format fiable vient du fait que votre format devient la seule suite plausible.

Laria Reynolds et Kyle McDonell l’ont bien formulé dans un article de février sur la programmation par prompts. Un modèle comme GPT-3 ne prédit pas comment une personne en particulier terminerait votre prompt. Il reflète toutes les façons dont n’importe qui pourrait le terminer. Un bon prompt ne doit donc pas seulement permettre le résultat que vous voulez. Il doit exclure ceux que vous ne voulez pas.

Trois outils : gabarit, délimiteurs, marqueur de fin

Un gabarit fixe. Décidez des titres, de l’ordre et de la ponctuation exacts de la réponse avant d’écrire le prompt. Si vous ne pouvez pas écrire le gabarit vide sur papier, le modèle ne pourra pas le deviner non plus.

Des délimiteurs. Ce sont des marqueurs qui séparent une partie du prompt d’une autre, comme une ligne de trois carrés (###) ou une étiquette comme NOTES :. Ils indiquent au modèle où s’arrête l’entrée brute et où commence la réponse structurée, et où un exemple se termine et où le suivant commence.

Un marqueur de fin. C’est un mot ou un symbole, comme FIN, placé à la fin de chaque réponse d’exemple. Après l’avoir vu deux ou trois fois, le modèle a tendance à l’écrire lui aussi quand il termine. Cela vous donne un endroit net où couper le texte, ou où dire à votre logiciel d’arrêter de générer. Les chercheurs s’appuient sur un point d’arrêt semblable : dans une étude récente sur les prompts de GPT-3, les auteurs laissaient simplement le modèle écrire jusqu’à ce qu’il produise un saut de ligne.

Un exemple concret : des notes de réunion vers un résumé fixe

Voici un prompt à quelques exemples qui transforme des notes décousues en un même résumé en trois parties, chaque fois.

Prompt
Transforme chaque série de notes de réunion en un résumé comportant exactement trois sections : Décisions, Actions à faire, Questions en suspens. Utilise des puces « - ». Écris « Aucune » si une section est vide.

###
NOTES :
parlé budget, ok pour dépenser 2k pour nouveaux portables. sam obtient des soumissions d’ici ven. toujours pas sûr si on a besoin d’un 2e écran chacun
RÉSUMÉ :
Décisions :
- Approuver jusqu’à 2 000 $ pour de nouveaux portables.
Actions à faire :
- Sam : obtenir des soumissions pour les portables d’ici vendredi.
Questions en suspens :
- Chaque personne a-t-elle besoin d’un deuxième écran?
FIN
###
NOTES :
infolettre encore en retard. entendu : envoi déplacé au mar. priya écrit, lee relit
RÉSUMÉ :
Décisions :
- Déplacer le jour d’envoi de l’infolettre au mardi.
Actions à faire :
- Priya : rédiger l’infolettre.
- Lee : relire l’infolettre.
Questions en suspens :
- Aucune
FIN
###
NOTES :
client veut logo plus gros?? on a dit peut-être. ana fait maquette de 2 versions. date de lancement reste 1er juin
RÉSUMÉ :

Regardez ce que fait le prompt. La ligne de consigne nomme les trois sections. Les lignes ### et les étiquettes NOTES : et RÉSUMÉ : marquent chaque frontière. Les deux exemples utilisent des titres, des puces et des espacements identiques, et les deux se terminent par FIN. Un exemple contient « Aucune », si bien que le modèle a vu comment traiter une section vide. Le prompt s’arrête juste après RÉSUMÉ :; les mots suivants ne peuvent donc être que le début d’un résumé présenté de cette façon.

Quelques habitudes rendent cette méthode plus solide :

  • Gardez des exemples cohérents jusque dans la ponctuation. Si l’un dit « Actions à faire : » et un autre « Actions - », vous avez montré deux formats.
  • Variez le contenu, pas la forme. Utilisez des exemples de longueurs et de sujets différents, pour que le modèle copie la structure plutôt que le sujet.
  • Surveillez l’ordre. Une étude de Tony Zhao et de ses collègues a montré que GPT-3 penche vers les réponses qui apparaissent près de la fin d’un prompt, et que le format, le choix des exemples et même leur ordre peuvent faire varier énormément l’exactitude. Placez votre exemple le plus typique en dernier.
  • Vérifiez chaque réponse. Avant de vous fier au résultat, confirmez que les trois titres apparaissent dans l’ordre et que le texte se termine par FIN. Sinon, relancez ou signalez-le.

À essayer : prenez trois vraies séries de notes tirées de votre travail. Utilisez-en deux, remises au propre à la main, comme exemples dans le prompt ci-dessus, et faites passer la troisième cinq fois. Comptez combien de réponses correspondent exactement au gabarit. Retirez ensuite les marqueurs FIN et refaites l’essai cinq fois pour voir ce qui change.

Pourquoi les exemples fonctionnent-ils mieux que les consignes seules?

Une consigne décrit un format; un exemple est le format. « Utilise trois sections avec des puces » peut se lire de bien des façons : titres en gras ou non, tirets ou astérisques, ligne vide ou pas. Un seul exemple résolu répond à toutes ces questions d’un coup.

Il y a aussi une raison plus profonde. GPT-3 a lu une énorme quantité de textes dans lesquels un modèle se répète : formulaires, listes, transcriptions, fiches. Quand il voit deux copies remplies d’un gabarit, poursuivre avec une troisième copie est exactement le genre de prédiction qu’il a été entraîné à faire. Reynolds et McDonell soutiennent que les exemples fonctionnent souvent moins en enseignant une nouvelle compétence qu’en orientant le modèle vers un comportement qu’il possède déjà. Ils notent aussi que les exemples sont particulièrement utiles quand une tâche demande un format sur mesure, ce qui est précisément le cas ici.

Les consignes comptent quand même, et les exemples ont leurs propres risques. Dans le même article, un prompt soigneusement formulé sans aucun exemple a battu un prompt à dix exemples dans un test de traduction du français vers l’anglais, et un seul exemple a même nui aux résultats, parce que le modèle a traité son contenu comme une partie de l’histoire. La leçon pratique est de combiner les deux : une courte consigne qui nomme la tâche, plus quelques exemples variés qui montrent la forme exacte, séparés si clairement que le modèle ne puisse pas les prendre pour un seul document continu.

Sources

  1. Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm — Laria Reynolds and Kyle McDonell (arXiv), 15 février 2021
  2. Calibrate Before Use: Improving Few-Shot Performance of Language Models — Zhao, Wallace, Feng, Klein, Singh (UC Berkeley, University of Maryland, UC Irvine) (arXiv), 19 février 2021
  3. Language Models are Few-Shot Learners — OpenAI (arXiv), 28 mai 2020

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é