# Comment rédiger des consignes pour les nouveaux modèles GPT-3 qui suivent les consignes?

Date: 2022-02-09 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/rediger-consignes-gpt-3-instruct/

**Answer:** Écrivez à un modèle qui suit les consignes comme vous briefez un assistant compétent : commencez par la tâche, formulée comme une demande directe, puis précisez à qui s’adresse le résultat, quelle longueur il doit avoir et quelle forme il doit prendre, et placez le texte à traiter après la consigne. Maintenant que les modèles InstructGPT sont ceux par défaut de l’API, une seule consigne claire remplace souvent une page d’exemples.

Pendant la plus grande partie de la vie de GPT-3 dans l’API, obtenir de bons résultats voulait dire construire une régularité. Vous écriviez le début d’un document, ajoutiez quelques exemples résolus et laissiez un trou que le modèle devait remplir. Cela fonctionnait parce que le GPT-3 d’origine n’était entraîné qu’à poursuivre du texte. Depuis le 27 janvier, les modèles par défaut de l’API d’OpenAI sont les modèles InstructGPT, entraînés avec de la rétroaction humaine pour exécuter des demandes écrites. Les habitudes qui servaient bien les anciens modèles ne sont plus la seule façon de faire, ni souvent la meilleure.

Ce changement exige une autre compétence. Au lieu de déguiser votre tâche en document, vous l’énoncez. La compétence, maintenant, c’est d’écrire des consignes qui laissent au modèle le moins possible à deviner.

## Les cinq parties d’une consigne claire

Une bonne consigne répond habituellement à cinq questions. Tous les prompts n’en ont pas besoin, mais quand un résultat déçoit, il manque généralement l’une d’elles.

| Partie | Question à laquelle elle répond | Exemple de formulation |
|---|---|---|
| Tâche | Que doit faire le modèle? | « Rédige une description de produit… » |
| Public | Qui lira le résultat? | « …pour des parents qui magasinent un premier vélo… » |
| Longueur | Combien de texte? | « …en deux phrases courtes… » |
| Format ou ton | À quoi le résultat doit-il ressembler, et sur quel ton? | « …amical, sans points d’exclamation… » |
| Entrée | Quel matériel doit-il utiliser? | « Détails du produit : » suivi des faits |

Deux habitudes font travailler ces parties ensemble. D’abord, placez la consigne avant le matériel, pour que le modèle sache ce qu’il cherche pendant qu’il lit. Ensuite, indiquez clairement où commence le matériel, avec une étiquette comme « Texte : » ou une ligne de symboles, pour que le modèle ne prenne pas vos notes pour une partie de la demande.

Soyez concret partout où vous le pouvez. « Court » ne veut pas dire la même chose pour tout le monde; « moins de 50 mots », oui. « Simple » est vague; « pour un enfant de dix ans » ne l’est pas. Dites ce que vous voulez plutôt que seulement ce que vous voulez éviter : « utilise des mots simples » donne une cible au modèle, alors que « ne sois pas technique » ne fait qu’exclure quelque chose.

## Avant et après : de la régularité à la consigne

Voici l’ancienne façon d’obtenir une description de produit de GPT-3. Le prompt installe une régularité avec deux exemples et un espace libre.

```prompt
Produit : Bouteille d’eau en acier inoxydable, 750 ml, garde les boissons froides 24 heures
Description : De l’eau froide toute la journée, du trajet du matin à la course du soir. Cette bouteille en acier de 750 ml garde les boissons froides pendant 24 heures.

Produit : Bas de randonnée en laine, semelle coussinée, tailles P à TG
Description : La laine douce et la semelle coussinée rendent les longs sentiers plus faciles pour vos pieds. Offerts en tailles P à TG.

Produit : Vélo d’équilibre pour enfants, roues de 12 pouces, siège réglable, 2 à 5 ans
Description :
```

Cela fonctionne encore, mais c’est long à écrire, cela prend de la place, et le modèle peut copier les manies de vos exemples, comme leur longueur ou leurs premiers mots. Avec un modèle qui suit les consignes, vous pouvez demander la même chose directement :

```prompt
Rédige une description de produit de deux phrases pour des parents qui magasinent un premier vélo. Garde un ton chaleureux et pratique, mentionne la tranche d’âge et n’invente pas de caractéristiques qui ne figurent pas dans la liste.

Détails du produit : Vélo d’équilibre pour enfants, roues de 12 pouces, siège réglable, 2 à 5 ans
```

Le deuxième prompt est plus court, et il énonce des choses que le premier ne pouvait que suggérer : le lecteur, le ton et une règle contre l’invention. Des règles comme cette dernière sont difficiles à exprimer avec des exemples seulement.

Les comparaisons d’OpenAI vont dans le même sens. Dans son annonce, l’entreprise rapporte que les personnes qui notaient les résultats ont donné aux réponses d’InstructGPT des notes bien supérieures à celles de GPT-3, que GPT-3 ait reçu ou non un prompt *few-shot* (à quelques exemples). L’entreprise décrit l’entraînement comme un moyen de rendre plus accessibles des capacités que GPT-3 avait déjà, sans dépendre autant d’une ingénierie de prompt astucieuse.

> **À essayer :** prenez un prompt *few-shot* que vous utilisez déjà et réécrivez-le en une seule consigne à l’aide des cinq parties ci-dessus. Faites passer les deux versions sur cinq nouvelles entrées et notez laquelle donne des réponses plus proches de ce que vous vouliez, et où chacune se trompe.

## Quand vaut-il encore la peine d’ajouter des exemples?

Il vaut encore la peine d’ajouter des exemples quand le résultat doit respecter un format ou un style que les mots décrivent mal. Une mise en page fixe pour un résumé de facture, un ensemble de codes de catégories internes ou le rythme des titres de votre infolettre sont tous plus faciles à montrer qu’à expliquer. L’article sur GPT-3 le soulignait en présentant les prompts *zero-shot*, *one-shot* et *few-shot* : certaines tâches sont ambiguës sans démonstration, même pour une personne.

Une bonne approche combine les deux méthodes. Commencez par la consigne, puis ajoutez un ou deux exemples qui montrent la forme exacte que vous voulez. La consigne dit au modèle quelle est la tâche; les exemples règlent les détails. Variez vos exemples, pour que le modèle apprenne la régularité plutôt que de copier un seul cas, et faites-les ressembler aux vraies entrées que vous attendez.

Les exemples aident aussi quand vous remarquez que le modèle dérive. Si les réponses reviennent trop longues, trop formelles ou mal structurées même après que vous avez resserré la consigne, un seul exemple est souvent la correction la plus rapide.

Suivre des consignes n’est pas propre à OpenAI. Dans un article de septembre 2021, des chercheurs de Google ont montré qu’un grand modèle ayant subi un ajustement fin sur des dizaines de tâches formulées comme des consignes, qu’ils ont appelé FLAN, devenait bien meilleur sur des tâches qu’il n’avait jamais vues quand on ne lui donnait qu’une consigne. Les modèles entraînés de cette façon sont conçus pour partir de la demande. Les exemples deviennent un outil auquel on recourt quand la demande seule ne suffit pas, plutôt que le seul moyen de se faire comprendre.

## Sources

- Aligning Language Models to Follow Instructions: https://openai.com/index/instruction-following/
- Language Models are Few-Shot Learners: https://arxiv.org/abs/2005.14165
- Finetuned Language Models Are Zero-Shot Learners: https://arxiv.org/abs/2109.01652
