Prompts

À quoi servent la température et le top-p dans GPT-3?

· Par Robert Scales · 5 min de lecture

Réponse courte

La température et le top-p déterminent comment GPT-3 choisit chaque mot suivant dans sa liste de candidats probables. Une température basse rend le choix plus prévisible et une température élevée, plus audacieux; le top-p coupe la queue improbable de la liste, pour que le modèle ne choisisse que parmi les options les plus plausibles.

Chaque fois que GPT-3 écrit un jeton, un mot ou un morceau de mot, il produit d’abord un score pour chaque jeton qu’il connaît : la probabilité que chacun vienne ensuite. Le modèle lui-même s’arrête là. Il faut encore choisir un jeton dans cette liste, et les règles de ce choix sont les réglages que vous voyez à côté de la zone du prompt dans l’API d’OpenAI, au premier rang desquels la température et le top-p.

Ces deux nombres ne rendent pas le modèle plus intelligent et ne changent pas ce qu’il sait. Ils changent l’audace avec laquelle il choisit. Le même prompt peut donner une réponse nette et reproductible, ou une histoire différente et surprenante à chaque fois, selon la façon dont vous les réglez.

L’analogie du dé

Représentez-vous le choix du modèle comme le lancer d’un dé pipé. Chaque face est un mot suivant possible, et les faces n’ont pas toutes la même taille : les mots probables ont de grandes faces, les mots improbables, de toutes petites.

  • La température change à quel point le dé est pipé. À basse température, les grandes faces grossissent et les petites rétrécissent, de sorte que le favori sort presque à tous les coups. À zéro, il n’y a plus de lancer du tout : le modèle prend toujours le premier mot. À plus haute température, les faces s’égalisent et les options improbables sortent plus souvent.
  • Le top-p retire carrément les petites faces du dé. Avec un top-p de 0,9, le modèle garde les mots les plus probables jusqu’à ce qu’ensemble ils couvrent 90 % de la probabilité, jette le reste et lance le dé parmi ce qui reste.

Le guide de génération de texte de l’équipe de Hugging Face décrit les deux mêmes idées en termes techniques. Baisser la température rend la distribution de probabilités plus pointue. Le top-p, aussi appelé nucleus sampling (échantillonnage par noyau), choisit dans le plus petit groupe de mots dont la probabilité combinée dépasse p; le groupe est donc grand quand beaucoup de mots pourraient convenir, et petit quand le mot suivant est évident.

Un exemple chiffré

Prenez le prompt « Aujourd’hui, le temps est » et supposons que le modèle attribue les scores ci-dessous à cinq mots candidats. Ces scores de départ sont inventés pour l’illustration; les autres colonnes en sont calculées avec la formule standard de la température.

Mot suivantTempérature 0Température 0,7Température 1,0
ensoleillé100 %61 %50 %
nuageux0 %23 %25 %
pluvieux0 %11 %15 %
parfait0 %4 %7 %
violet0 %1 %3 %

À température 0, le modèle écrit « ensoleillé » chaque fois, sans exception. À 0,7, « ensoleillé » reste le favori, mais « nuageux » et « pluvieux » apparaissent régulièrement, et « violet » presque jamais. À 1,0, le modèle utilise ses scores tels quels; le mot bizarre « violet » sort donc environ trois fois sur cent.

Ajoutez maintenant le top-p. Avec un top-p de 0,8, le modèle garde « ensoleillé », « nuageux » et « pluvieux », qui atteignent ensemble 90 % à température 1,0, et laisse complètement tomber « parfait » et « violet ». Les trois mots restants sont recalculés à environ 56 %, 28 % et 17 %. L’option étrange a disparu, mais il reste de la variété parmi les options sensées.

Un « violet » dans une phrase semble inoffensif. Mais le choix se répète pour chaque jeton, et chaque choix inhabituel devient une partie du texte sur lequel le modèle s’appuie pour la suite. Quelques options improbables d’affilée peuvent mener un paragraphe dans une direction bizarre.

Ce qu’ont utilisé les chercheurs de GPT-3

L’article sur GPT-3 donne un point de repère concret. Pour ses exemples de poèmes et pour certaines de ses mesures de biais, les auteurs ont généré du texte à une température de 1 avec un échantillonnage par noyau à p = 0,9. Cette combinaison conserve la variété naturelle du modèle tout en retranchant les 10 % d’options les moins probables.

Les personnes qui participent à la version bêta de l’API ont adopté une répartition semblable. Le développeur Max Woolf, qui écrivait en juillet après avoir testé GPT-3, décrit deux grands usages : le texte créatif à température élevée, et les tâches fonctionnelles, comme produire des maquettes de pages Web, à une température de 0,0. Il a aussi constaté que les sorties offensantes devenaient plus visibles aux températures élevées, ce qui rappelle qu’un échantillonnage plus large laisse passer davantage du pire de ce qui s’écrit sur le Web.

Un conseil pratique : changez un seul réglage à la fois. La température et le top-p élargissent ou resserrent tous deux le choix; si vous bougez les deux en même temps, il devient difficile de savoir lequel a causé un changement.

À essayer : choisissez un prompt comme « Trois noms pour une boulangerie de quartier : ». Lancez-le trois fois à température 0, trois fois à 0,7 et trois fois à 1,0, en laissant le top-p à 1. Notez quelles exécutions se répètent exactement, lesquelles donnent une variété sensée, et à quel moment les noms commencent à devenir étranges.

Quels réglages utiliser pour les faits et pour les histoires?

Pour les faits, le classement et tout ce qui a une seule bonne réponse, utilisez une température basse, 0 ou presque. Vous obtenez la réponse unique la plus probable du modèle, et le même prompt donne la même réponse, ce qui facilite beaucoup les tests. Le guide de Hugging Face prévient que le choix systématique du premier mot peut tomber dans la répétition dans les longs textes; gardez donc des sorties courtes pour ces tâches. N’oubliez pas qu’une température basse rend les réponses constantes, pas exactes : si la première hypothèse du modèle est fausse, elle sera fausse à chaque fois.

Pour les histoires, le remue-méninges, les noms et les dialogues, essayez une température d’environ 0,7 à 0,9, ou une température de 1 avec un top-p d’environ 0,9, comme les auteurs de GPT-3 l’ont fait pour la poésie. Vous obtiendrez de la variété d’une exécution à l’autre; générez donc plusieurs versions et gardez la meilleure. Si l’écriture commence à s’égarer ou à se contredire, baissez la température d’un cran avant de réécrire le prompt.

Entre ces deux pôles, il n’y a pas de chiffre idéal unique. Une description de produit peut demander un peu de vie, par exemple 0,5, alors qu’un résumé de contrat n’en demande aucune. Partez de l’usage, testez sur quelques vrais prompts et notez les réglages qui ont fonctionné pour pouvoir les reproduire.

Sources

  1. Language Models are Few-Shot Learners — OpenAI (arXiv), 28 mai 2020
  2. How to generate text: using different decoding methods for language generation with Transformers — Hugging Face (Patrick von Platen), 18 mars 2020
  3. Tempering Expectations for GPT-3 and OpenAI's API — Max Woolf (minimaxir.com), 18 juillet 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é