0 / 0
Retourner à la version anglaise de la documentation
Génération d'une sortie précise
Dernière mise à jour : 28 nov. 2024
Génération d'une sortie précise

Les modèles de base génèrent parfois une sortie qui n'est pas factuellement précise. Si la précision factuelle est importante pour votre projet, mettez-vous en place pour réussir en apprenant comment et pourquoi ces modèles peuvent parfois se tromper sur les faits et comment vous pouvez générer des résultats générés dans des faits corrects.

Pourquoi les modèles de base se trompent sur les faits

Les modèles de base peuvent obtenir des faits erronés pour plusieurs raisons:

  • La pré-formation construit des associations de mots, pas des faits
  • Les ensembles de données de pré-entraînement contiennent des faits obsolètes
  • Les ensembles de données de pré-entraînement ne contiennent pas de faits et de jargon ésotériques ou spécifiques à un domaine
  • Le décodage par échantillonnage est plus susceptible de s'écarter des faits

La pré-formation construit des associations de mots, pas des faits

Au cours du préapprentissage, un foundation model construit un vocabulaire demots (tokens) rencontrés dans les ensembles de données de préapprentissage. Lors du pré-apprentissage également, les relations statistiques entre ces mots sont codées dans les pondérations du modèle.

Par exemple, le "mont Everest" apparaît souvent près de la "plus haute montagne du monde" dans de nombreux articles, livres, discours et autres sources communes de pré-entraînement. En conséquence, un modèle pré-formé complétera probablement correctement l'invite "La plus haute montagne du monde est" avec la sortie "Mount Everest".

Ces associations de mots peuvent faire croire que des faits ont également été encodés dans ces modèles. Pour des connaissances très communes et des faits immuables, vous pouvez avoir de la chance de générer une sortie factuellement précise à l'aide de modèles de base pré-formés avec des invites simples comme l'exemple le plus haut de la montagne. Toutefois, il est risqué de ne s'appuyer que sur des associations de mots préformées lors de l'utilisation de modèles de base dans des applications où la précision est importante.

Les ensembles de données de pré-entraînement contiennent des faits obsolètes

La collecte des ensembles de données de pré-entraînement et l'exécution des exécutions de pré-entraînement peuvent prendre beaucoup de temps, parfois des mois. Si un modèle a été pré-entraîné sur un ensemble de données d'il y a plusieurs années, le vocabulaire du modèle et les associations de mots codées dans les pondérations du modèle ne reflètent pas les événements du monde en cours ou les thèmes nouvellement populaires. Pour cette raison, si vous soumettez l'invite "Le vainqueur le plus récent de la coupe du monde de football (football) est" à un modèle pré-formé sur l'information de quelques années, la sortie générée sera obsolète.

Les ensembles de données de pré-entraînement ne contiennent pas de faits et de jargon ésotériques ou spécifiques à un domaine

Les ensembles de données de pré-entraînement des foundation model courants, tels que The Pile (Wikipedia), contiennent des centaines de millions de documents. Compte tenu de la célébrité du mont Everest, on peut raisonnablement s'attendre à ce qu'un foundation model ait codé une relation entre "la plus haute montagne du monde" et "le mont Everest". Toutefois, si un phénomène, une personne ou un concept n'est mentionné que dans une poignée d'articles, il y a peu de chances qu'un foundation model ait des associations de mots sur ce sujet encodées dans ses poids. Il est peu probable qu'un modèle pré-entraîné sur des informations qui ne se trouvent pas dans ses ensembles de données de pré-entraînement produise une sortie générée factuellement précise.

Le décodage par échantillonnage est plus susceptible de s'écarter des faits

Le décodage est le processus utilisé par un modèle pour choisir les mots (jetons) dans la sortie générée:

  • Le décodage gourmand sélectionne toujours le jeton avec la probabilité la plus élevée
  • Le décodage par échantillonnage sélectionne les jetons de manière pseudo-aléatoire à partir d'une distribution de probabilité

Le décodage gourmand génère une sortie plus prévisible et plus répétitive. Le décodage par échantillonnage est plus aléatoire, ce qui se sent "créatif". Si, sur la base des ensembles de données de pré-apprentissage, les mots les plus susceptibles de suivre "La plus haute montagne est" sont "Mount Everest", puis le décodage gourmand pourrait générer de manière fiable cette sortie factuellement correcte, alors que le décodage par échantillonnage peut parfois générer le nom d'une autre montagne ou quelque chose qui n'est même pas une montagne.

Comment mettre à la terre la sortie générée dans des faits corrects

Plutôt que de ne compter que sur des associations de mots préformées pour obtenir une exactitude factuelle, fournissez le contexte dans votre texte d'invite.

Utilisez le contexte dans votre texte d'invite pour établir des faits

Lorsque vous demandez à un foundation model générer une sortie, les mots (tokens) de la sortie générée sont influencés par les mots du vocabulaire du modèle et les mots du texte d'invite. Vous pouvez utiliser votre texte d'invite pour améliorer l'exactitude factuelle des associations de mots.

Exemple 1

Voici une invite pour demander à un modèle de compléter une phrase déclarant votre couleur préférée:

My favorite color is 

Etant donné que vous seul savez quelle est votre couleur préférée, il n'est pas possible que le modèle puisse générer de manière fiable la sortie correcte.

A la place, une couleur sera sélectionnée parmi les couleurs mentionnées dans les données de pré-apprentissage du modèle:

  • Si le décodage gourmand est utilisé, la couleur qui apparaît le plus fréquemment avec les instructions sur les couleurs favorites dans le contenu de pré-entraînement sera sélectionnée.
  • Si le décodage par échantillonnage est utilisé, une couleur sera sélectionnée de manière aléatoire parmi les couleurs mentionnées le plus souvent comme favoris dans le contenu de pré-entraînement.

Exemple 2

Voici une invite qui inclut le contexte pour établir les faits:

I recently painted my kitchen yellow, which is my favorite color.

My favorite color is 

Si vous invitez un modèle avec du texte qui inclut un contexte factuellement précis comme celui-ci, la sortie générée par le modèle sera plus susceptible d'être précise.

Pour obtenir d'autres exemples d'inclusion de contexte dans votre invite, consultez les exemples suivants:

Utiliser moins de décodage "créatif"

Lorsque vous incluez le contexte avec les faits nécessaires dans votre invite, l'utilisation du décodage gourmand est susceptible de générer une sortie précise. Si vous avez besoin d'une certaine variété dans la sortie, vous pouvez expérimenter le décodage par échantillonnage avec des valeurs faibles pour des paramètres tels que Temperature, Top Pet Top K. Cependant, l'utilisation du décodage par échantillonnage augmente le risque de sortie inexacte.

Récupération-Génération augmentée

Le modèle de génération étendu à l'extraction met à l'échelle la technique d'extraction du contexte dans les invites. Si vous disposez d'une base de connaissances, telle qu'une documentation de processus dans des pages Web, des contrats juridiques dans des fichiers PDF, une base de données de produits à vendre, un référentiel GitHub de fichiers de code C++ ou toute autre collection d'informations, vous pouvez utiliser le modèle de génération d'extension d'extraction pour générer une sortie factuellement précise basée sur les informations de cette base de connaissances.

La récupération-génération augmentée implique trois étapes de base:

  1. Recherchez du contenu pertinent dans votre base de connaissances
  2. Extraire le contenu le plus pertinent dans votre invite en tant que contexte
  3. Envoyer le texte d'invite combiné au modèle pour générer la sortie

Pour plus d'informations, voir Génération augmentée par récupération

Rubrique parent: Conseils d'invite