# Qu’était GPT-1, et qu’a changé le « préentraînement génératif »?

Date: 2021-12-04 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/qu-est-ce-que-gpt-1/

**Answer:** GPT-1 est le nom qu’on donne maintenant couramment au modèle de langage qu’OpenAI a décrit le 11 juin 2018 dans l’article *Improving Language Understanding by Generative Pre-Training*. Il a d’abord acquis des compétences linguistiques générales en prédisant le mot suivant dans des milliers de livres, puis a subi un bref ajustement fin pour chaque tâche; avec cette seule recette, il a battu des systèmes conçus sur mesure sur 9 de 12 tests de langage.

Le 11 juin 2018, OpenAI a publié un article au titre modeste : *Improving Language Understanding by Generative Pre-Training* (améliorer la compréhension du langage par le préentraînement génératif). Ses auteurs, Alec Radford, Karthik Narasimhan, Tim Salimans et Ilya Sutskever, n’ont pas donné de nom accrocheur à leur modèle. L’approche est devenue connue sous le nom de **GPT**, pour *generative pre-training* (préentraînement génératif), et maintenant que les versions suivantes portent des numéros, ce premier modèle est souvent appelé GPT-1.

L’idée était simple à énoncer. Laisser un modèle lire une grosse pile de texte ordinaire et apprendre à prédire ce qui vient ensuite. Puis prendre ce même modèle et l’entraîner un peu sur une tâche précise, comme répondre à des questions. OpenAI a montré que cette recette en deux étapes fonctionnait mieux que de construire un nouveau système sur mesure pour chaque tâche.

## Le problème qu’il cherchait à résoudre

La plupart des réussites de l’apprentissage automatique en 2018 reposaient sur l’**apprentissage supervisé** : l’entraînement sur des exemples que des personnes ont étiquetés à la main, comme des phrases marquées positives ou négatives. Les étiquettes sont lentes et coûteuses à produire, si bien que la plupart des jeux de données linguistiques étaient petits.

Le texte non étiqueté, lui, est partout. Des chercheurs s’en étaient déjà servis pour apprendre des **vecteurs de mots**, des listes de nombres qui saisissent ce que chaque mot tend à signifier, au moyen de méthodes comme word2vec. Mais un vecteur de mot donne à chaque mot un seul sens fixe, et il était difficile d’utiliser du texte non étiqueté pour apprendre quelque chose de plus profond. D’autres groupes y travaillaient aussi : ELMo, ULMFiT et une méthode antérieure appelée Semi-supervised Sequence Learning faisaient tous un préentraînement sur du texte brut. L’apport d’OpenAI a été de combiner le préentraînement avec le **Transformer**, l’architecture de réseau fondée sur l’attention que des chercheurs de Google avaient présentée en 2017, et de garder le modèle presque inchangé d’une tâche à l’autre.

## Comment fonctionne le préentraînement génératif

La méthode comporte deux étapes.

**Étape 1, le préentraînement.** Le modèle lit BooksCorpus, une collection de plus de 7 000 livres inédits dans des genres comme l’aventure, la fantasy et la romance. On a choisi des livres parce qu’ils contiennent de longs passages continus, qui apprennent à un modèle à suivre des idées sur de nombreuses phrases. La tâche d’entraînement est la **modélisation du langage** : prédire le jeton suivant (un mot ou un morceau de mot) à partir des précédents. C’est la partie « générative », parce qu’un modèle qui prédit le mot suivant peut aussi générer du texte.

**Étape 2, l’ajustement fin.** Le modèle préentraîné est ensuite entraîné brièvement sur un petit jeu de données étiquetées pour une tâche. Trois passages sur les données ont suffi pour la plupart des tâches.

L’astuce, c’est la façon dont des tâches différentes entrent dans un seul modèle. Plutôt que d’ajouter de nouveaux mécanismes pour chaque tâche, les chercheurs ont réorganisé l’entrée en une seule séquence de texte. Voici à quoi cela ressemble :

| Tâche | Ce qui entre dans le modèle en une seule séquence | Ce qu’il apprend à produire |
|---|---|---|
| Sentiment | La critique de film | Positif ou négatif |
| Implication (la phrase B découle-t-elle de A?) | La phrase A, un séparateur, la phrase B | Implique, contredit ou neutre |
| Similarité | Les deux phrases, dans les deux ordres | À quel point elles se ressemblent |
| Question à choix multiples | Le passage et la question, puis chaque réponse à tour de rôle | Quelle réponse est la plus probable |

Le modèle lui-même était un Transformer de 12 couches qui ne regarde qu’en arrière, vers les mots précédents, avec 12 **têtes d’attention** (des parties du réseau qui se concentrent chacune sur des relations différentes entre les mots). L’annonce d’OpenAI indiquait que le préentraînement avait pris un mois sur huit processeurs graphiques, un gros effort pour un projet sur le langage en 2018, mais qui ne devait être fait qu’une fois.

> **À essayer :** choisissez une phrase dans un livre et cachez son dernier mot. Notez vos trois meilleures hypothèses. Demandez-vous ensuite ce que vous deviez savoir pour bien deviner : la grammaire, des faits sur le monde, le sujet de l’histoire. C’est la compétence que GPT-1 a apprise de milliers de livres, avant d’être entraîné sur une tâche précise.

## Ce que les résultats ont montré

Le même modèle de base, avec très peu d’ajustements, a amélioré les meilleurs résultats publiés sur 9 des 12 tâches étudiées. Ses plus grands gains sont venus sur des tests de raisonnement de sens commun et de compréhension de lecture, qui sont censés exiger une connaissance du monde et un raisonnement sur plusieurs phrases. Au test Story Cloze, où un modèle choisit la bonne fin d’une courte histoire, il a gagné 8,9 points de pourcentage. Il n’a pas gagné partout : sur un petit jeu de données d’implication appelé RTE, il a obtenu 56 %, contre 61,7 % pour le meilleur résultat précédent.

OpenAI a aussi remarqué quelque chose d’intrigant. Même sans ajustement fin, le modèle préentraîné pouvait s’essayer à certaines tâches. Pour le sentiment, l’équipe ajoutait le mot « very » (très) après une critique de film et vérifiait si le modèle jugeait « positive » ou « negative » plus probable comme mot suivant. Cette astuce atteignait environ 80 % d’exactitude. Ce genre de test, sur une tâche pour laquelle le modèle n’a jamais été entraîné, s’appelle le ***zero-shot*** (sans exemple).

L’article était franc sur les inconvénients : de grands besoins en calcul, les limites et les biais d’un apprentissage du monde fait uniquement à partir de texte, et des modèles qui se brisent encore de façon surprenante quand on les met à l’épreuve avec des exemples conçus pour les piéger. OpenAI a publié son code et le modèle entraîné.

## Pourquoi c’était important

GPT-1 a aidé à établir le schéma qui domine maintenant l’IA du langage : préentraîner un grand modèle sur du texte non étiqueté, puis l’adapter. BERT, de Google, publié en octobre 2018, a suivi la même recette générale avec un modèle qui lit dans les deux sens, et l’annonce de Google elle-même citait le préentraînement génératif parmi les travaux sur lesquels il s’appuyait. La conclusion d’OpenAI indiquait la voie à suivre. Une meilleure modélisation du langage allait de pair avec de meilleurs résultats sur les tâches, et l’équipe n’avait utilisé qu’une seule machine à huit processeurs graphiques et environ 5 Go de livres. Plus de données et plus de puissance de calcul semblaient une prochaine étape évidente.

## Comment GPT-1 a-t-il mené à GPT-2 et à GPT-3?

OpenAI a franchi cette étape en février 2019 avec GPT-2, essentiellement la même conception en beaucoup plus grand : 1,5 milliard de paramètres (les nombres ajustables à l’intérieur du modèle), entraînés sur environ 40 Go de pages Web liées depuis Reddit. Il écrivait des paragraphes fluides et a établi les meilleurs résultats sur 7 des 8 tests de langage qu’il a tentés, sans aucun ajustement fin. Par crainte des abus, OpenAI l’a publié par étapes, et a rendu public le modèle complet en novembre 2019.

GPT-3, décrit en mai 2020, a de nouveau changé l’idée d’échelle, avec 175 milliards de paramètres. Il a nettement amélioré les résultats de GPT-2 aux tests. Plutôt que de publier le modèle complet, OpenAI en a offert l’accès par un service infonuagique, en commençant par une bêta privée gratuite en juin 2020.

Pour les trois, l’idée centrale est restée la même qu’en juin 2018 : apprendre à un Transformer à prédire le mot suivant sur une grande quantité de texte. Ce qui a changé, c’est l’échelle et, avec l’échelle, un besoin moindre d’ajustement fin propre à chaque tâche.

## Sources

- Improving Language Understanding with Unsupervised Learning: https://web.archive.org/web/20180613194942/https://blog.openai.com/language-unsupervised/
- Improving Language Understanding by Generative Pre-Training: https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
- OpenAI: https://en.wikipedia.org/w/index.php?title=OpenAI&oldid=1057315839
