# Qu’est-ce qu’InstructGPT, et pourquoi suit-il mieux les consignes?

Date: 2022-01-28 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/qu-est-ce-que-instructgpt/

**Answer:** InstructGPT est une famille de modèles GPT-3 qu’OpenAI a ajustés avec de la rétroaction humaine, et depuis le 27 janvier 2022 ce sont les modèles par défaut de l’API d’OpenAI. Ils suivent mieux les consignes parce que des personnes ont montré et classé de bonnes réponses pendant l’entraînement, au lieu que le modèle apprenne seulement à prédire le mot suivant de textes d’Internet.

Hier, OpenAI a annoncé que ses modèles InstructGPT sont désormais les modèles de langage standard derrière son API. Si vous avez utilisé GPT-3 par l’API, vous avez sans doute remarqué ses bizarreries : demandez-lui d’« expliquer l’alunissage à un enfant de 6 ans » et il pourrait répondre par une liste de demandes semblables, comme s’il continuait une page de sujets de devoirs. InstructGPT est conçu pour faire plutôt ce que la consigne demande.

La différence ne vient pas d’un modèle plus gros. Elle vient d’un autre type d’entraînement. OpenAI a demandé à des personnes d’écrire des réponses modèles et de juger les résultats du modèle, puis s’est servie de ces jugements pour ajuster GPT-3. Ces modèles sont offerts en bêta dans l’API depuis plus d’un an; ce qui change maintenant, c’est qu’ils deviennent ceux par défaut.

## Pourquoi GPT-3 a du mal avec les consignes

GPT-3 a appris en prédisant le mot suivant dans une énorme quantité de texte d’Internet. Cela le rend doué pour continuer des documents, mais il n’a jamais été entraîné à exécuter une demande de façon sûre ou utile. Selon les mots d’OpenAI, de tels modèles « ne sont pas alignés sur leurs utilisateurs ». L’alignement, ici, veut dire que le comportement du modèle correspond à ce que la personne qui l’utilise veut réellement.

C’est pourquoi les personnes qui rédigent des prompts ont compté sur une mise en contexte soignée et sur des exemples pour que GPT-3 se comporte bien. Avec InstructGPT, une consigne simple fonctionne souvent à elle seule.

Le billet d’OpenAI montre le contraste avec quelques prompts :

| Prompt | GPT-3 a tendance à… | InstructGPT a tendance à… |
|---|---|---|
| « Explique l’alunissage à un enfant de 6 ans en quelques phrases. » | Énumérer d’autres demandes du genre « explique X à un enfant de 6 ans » | Donner une explication courte et simple |
| « Écris un court poème sur une grenouille sage. » | Produire d’autres sujets d’écriture | Écrire le poème |

## Ce que montrent les résultats

OpenAI rapporte plusieurs améliorations. Les annotateurs, les personnes payées pour noter les résultats, ont préféré les réponses d’un modèle InstructGPT de 1,3 milliard de paramètres à celles du GPT-3 de 175 milliards de paramètres, même si le plus petit modèle compte plus de 100 fois moins de paramètres. InstructGPT invente aussi des faits moins souvent et produit un texte légèrement moins toxique selon des tests standard.

L’entraînement est léger par rapport à l’original. Il utilise moins de 2 % de la puissance de calcul et des données qui ont servi au préentraînement de GPT-3. OpenAI décrit l’effet comme le fait de faire ressortir des capacités que GPT-3 avait déjà, mais qu’il était difficile d’atteindre par le prompt.

Il y a des limites. InstructGPT peut encore produire un texte biaisé ou toxique et inventer des choses. Comme il suit plus volontiers les consignes, il peut aussi suivre des consignes nuisibles. Et il reflète les préférences de ses annotateurs et des chercheurs d’OpenAI; comme il a appris à partir de consignes en anglais, il penche vers les valeurs culturelles des anglophones plutôt que vers celles de toutes les personnes susceptibles de l’utiliser.

> **À essayer :** écrivez la même demande de deux façons : comme une simple consigne (« Résume ce paragraphe en une phrase pour un enfant de dix ans ») et comme une régularité à la manière de GPT-3, avec deux exemples résolus. Si vous avez accès à l’API, lancez les deux et notez laquelle donne la réponse la plus utile, et si les exemples aident encore.

## Écrire des prompts pour un modèle qui suit des consignes

Vous pouvez maintenant commencer directement par la consigne. Les demandes claires et précises fonctionnent bien :

```prompt
Réécris la note suivante sous forme de courriel poli à un propriétaire. Garde-le sous 80 mots et termine en demandant une réponse d’ici vendredi.

Note : chauffage encore brisé, troisième fois ce mois-ci, besoin que quelqu’un vienne le réparer.
```

Les exemples restent utiles quand vous avez besoin d’un format exact, mais ils ne sont plus le seul moyen de mettre le modèle sur la bonne tâche.

## Que veut dire entraîner un modèle avec de la rétroaction humaine?

Entraîner un modèle avec de la rétroaction humaine veut dire que des personnes, et pas seulement du texte d’Internet, lui enseignent à quoi ressemble une bonne réponse. OpenAI appelle sa méthode l’apprentissage par renforcement à partir de la rétroaction humaine (*reinforcement learning from human feedback*, ou RLHF). L’apprentissage par renforcement est une façon d’entraîner un système qui essaie des actions et qu’on pousse vers celles qui rapportent une plus grande récompense. Ici, la récompense vient du jugement humain.

Le billet d’OpenAI décrit trois étapes :

1. **Des démonstrations.** Des annotateurs écrivent des réponses idéales à de vrais prompts envoyés à l’API, et GPT-3 subit un ajustement fin sur ces réponses.
2. **Des classements.** Pour beaucoup d’autres prompts, le modèle produit plusieurs réponses, que les annotateurs classent de la meilleure à la pire.
3. **Un modèle de récompense.** Un modèle distinct apprend à prédire quelle réponse les gens préféreraient. GPT-3 est ensuite entraîné à produire des réponses qui obtiennent une bonne note auprès de ce modèle, au moyen d’un algorithme appelé PPO.

L’idée n’est pas nouvelle chez OpenAI. En 2020, ses chercheurs ont utilisé la même approche pour entraîner des modèles de résumé : des personnes comparaient des paires de résumés, un modèle de récompense apprenait leurs préférences, et l’outil de résumé était ajusté pour le satisfaire. Ces résumés ont été jugés meilleurs que des résumés de référence rédigés par des humains pour des publications sur Reddit, et ont battu des modèles beaucoup plus gros entraînés de la façon habituelle.

La rétroaction humaine est utile parce qu’il est difficile de définir « une bonne réponse » par une formule. L’utilité, la véracité et le ton sont des jugements que les gens portent facilement, mais que les logiciels mesurent mal. La question qui reste ouverte, c’est de savoir quel jugement compte; OpenAI dit étudier les désaccords entre annotateurs et la façon de refléter les valeurs de groupes plus larges.

## Sources

- Aligning Language Models to Follow Instructions: https://openai.com/index/instruction-following/
- Learning to summarize from human feedback: https://arxiv.org/abs/2009.01325
