0 / 0
Retourner à la version anglaise de la documentation
Paramètres du modèle de base: critères de décodage et d'arrêt
Dernière mise à jour : 14 nov. 2024
Paramètres du modèle de base: critères de décodage et d'arrêt

Vous pouvez définir des paramètres dans le laboratoire d'invite pour contrôler la façon dont le modèle génère la sortie en réponse à votre invite. Définissez les paramètres de décodage pour ajuster la façon dont le texte de sortie est généré. Définissez les paramètres de critères d'arrêt pour spécifier à quel moment le modèle doit arrêter de générer une sortie.

Décodage

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

Choisissez l'une des options de décodage suivantes:

  • Greedy decoding: sélectionne le jeton avec la probabilité la plus élevée à chaque étape du processus de décodage.

    Le décodage gourmand produit une sortie qui correspond étroitement au langage le plus courant dans les données de préapprentissage du modèle et dans votre texte d'invite, ce qui est souhaitable dans les cas d'utilisation moins créatifs ou basés sur des faits. Une faiblesse du décodage gourmand est qu'il peut provoquer des boucles répétitives dans la sortie générée.

    Le décodage gourmand ne génère pas toujours la même sortie dans des invites consécutives. Pour obtenir des résultats cohérents sur plusieurs invites, utilisez le décodage par échantillonnage et spécifiez le même nombre pour le paramètre de graine aléatoire dans chaque invite.

  • Echantillonnage de décodage: offre plus de variabilité dans la façon dont les jetons sont sélectionnés.

    Avec le décodage par échantillonnage, le modèle échantillonne des jetons, ce qui signifie que le modèle choisit un sous-ensemble de jetons, puis un jeton est choisi de manière aléatoire dans ce sous-ensemble pour être ajouté au texte de sortie. L'échantillonnage ajoute de la variabilité et du caractère aléatoire au processus de décodage, ce qui peut être souhaitable dans les cas d'utilisation créative. Cependant, avec une plus grande variabilité, il y a un plus grand risque de sortie incorrecte ou non sensée.

Plus d'options pour le décodage par échantillonnage

Lorsque vous choisissez le décodage par échantillonnage, d'autres paramètres sont disponibles pour ajuster la façon dont le foundation model choisit les jetons à échantillonner. Les paramètres suivants fonctionnent ensemble pour déterminer quels jetons sont échantillonnés:

  • L' échantillonnage de température aplatit ou aiguise la distribution de probabilité sur les jetons à échantillonner.
  • Top-k échantillonnage échantillonne les jetons avec les probabilités les plus élevées jusqu'à ce que le nombre de jetons spécifié soit atteint.
  • L'échantillonnage Top-p échantillonne les jetons avec les scores de probabilité les plus élevés jusqu'à ce que la somme des scores atteigne la valeur de seuil spécifiée. (L'échantillonnage Top-p est également appelé échantillonnage des noyaux.)
Tableau 1. Valeurs prises en charge, valeurs par défaut et remarques d'utilisation pour le décodage d'échantillonnage
Paramètre Valeurs prises en charge Par défaut Utilisation
Température Nombre à virgule flottante compris entre 0.0 (identique au décodage gourmand) et 2.0 (créativité maximale) 0.7 Des valeurs plus élevées entraînent une plus grande variabilité
Top K Entier compris entre 1 et 100 50 Des valeurs plus élevées entraînent une plus grande variabilité
P premiers Nombre à virgule flottante compris entre 0.0 et 1.0 1.0 Sauf si vous modifiez la valeur, ce paramètre n'est pas utilisé

Les paramètres Température, Top K et Top P ne sont pas applicables lorsque vous choisissez d'utiliser le décodage gourmand.

Exemple d'ajustement des paramètres de décodage d'échantillonnage

Dans cet exemple, le foundation model a déjà généré le texte de sortie " I took my dog et le modèle choisit maintenant le jeton suivant.

Pour trouver le meilleur choix, le modèle calcule une distribution de probabilité discrète sur les jetons possibles. Avec ce type de distribution, chaque jeton se voit attribuer un score de probabilité de point décimal compris entre 0 et 1, où les scores s'additionnent à 1.

Dans un scénario réel, il peut y avoir des centaines de jetons possibles. Dans cet exemple, les choix incluent seulement cinq jetons, qui sont présentés ici dans le contexte de phrases typiques:

J'ai pris mon chien ...

  • pour une promenade.
  • à le vétérinaire.
  • avec moi.
  • et mon chat en vacances.
  • par le collier.

Top K et Top P représentent deux méthodes différentes pour choisir les jetons à échantillonner.

Les deux méthodes commencent par classer les choix de la plus probable à la moins probable. Le tableau suivant répertorie les jetons et leurs scores de probabilité fictifs dans l'ordre.

Tableau 2: Exemples d'options de jeton avec des scores de probabilité
Jeton Score de probabilité
pour 0.4
à 0.25
par 0.17
et 0.13
par 0.05

Exemple K supérieur

Top K indique le nombre de jetons à échantillonner. Par exemple, si vous définissez Top K sur 3, seuls les trois premiers jetons de la liste sont échantillonnés: pour, suret avec.

Affiche les mêmes valeurs que dans le tableau 2, mais avec les trois premières lignes mises en évidence

Remarque: Un paramètre de décodage gourmand est équivalent à Top K = 1.

Exemple Top P

Top P indique le seuil de score de probabilité cumulé que les jetons doivent atteindre.

Par exemple, si vous définissez Top P sur 0.6, seuls les deux premiers jetons, pour et sur, sont échantillonnés car leurs probabilités (0.4 et 0.25) sont additionnées à 0.65. (Comme illustré dans cet exemple, il est acceptable que la somme dépasse le seuil.)

Affiche les mêmes valeurs que dans le tableau 2, mais avec les valeurs de probabilité des deux premières lignes ajoutées pour 0.65

Top P n'est pas utilisé sauf si vous définissez la valeur du paramètre Top P sur une valeur autre que la valeur par défaut 1. L'utilisation de Top P et Top K ensemble peut être un moyen utile de filtrer les jetons avec des scores de probabilité très faibles. Lorsque les deux paramètres sont spécifiés, les K premiers sont appliqués en premier.

Par exemple, vous pouvez définir Top K sur 5 et Top P sur 0.8. Le paramètre Top K échantillonne les 5 jetons, puis Top P limite les jetons échantillonnés à pour, àet avec car leurs probabilités atteignent le seuil de score de probabilité de 0.8 (0.4 + 0.25 + 0.17 = 0.82).

Lorsque les deux paramètres sont spécifiés, tous les jetons situés en dessous de la limite définie par les K premiers sont considérés comme ayant une probabilité de zéro lorsque les P premiers sont calculés. Par exemple, si Top K est défini sur 2 et Top P sur 0.8, seuls pour et sur sont échantillonnés. Le jeton avec n'est pas échantillonné car les scores de probabilité pour avec, et, et par sont réinitialisés à 0.

Exemple de température

Le paramètre de température affecte la forme de la distribution de probabilité utilisée lors de l'échantillonnage des jetons.

Affiche deux graphiques côte à côte. Le graphique basse température montre une augmentation drastique. Le graphique à haute température montre une augmentation progressive.

Les basses températures amplifient les différences de probabilité entre les jetons. Les termes les plus probables ont des scores beaucoup plus élevés par rapport aux termes les moins probables. Par conséquent, les termes qui sont similaires aux termes des données d'apprentissage du modèle ou de votre entrée d'invite seront probablement échantillonnés. Utilisez une valeur de température plus basse lorsque vous souhaitez une sortie plus fiable.

Les températures élevées se traduisent par des probabilités de jeton plus proches les unes des autres. Par conséquent, les termes inhabituels ont de meilleures chances d'être échantillonnés. Utilisez une valeur de température plus élevée lorsque vous souhaitez augmenter le caractère aléatoire et la variabilité ou la sortie, par exemple lorsque vous voulez une sortie créative. N'oubliez pas que le caractère aléatoire peut également entraîner une sortie inexacte ou non sensée.

Par example, lorsqu'une valeur de température élevée telle que 2 est appliquée, les scores de probabilité des jetons dans cet example peuvent être plus proches les uns des autres, comme indiqué dans le tableau 3.

Tableau 3: Exemples de probabilités de jeton avec une température élevée
Jeton Scores avec température = 2
pour 0.3
à 0.25
par 0.2
et 0.15
par 0.10

Lorsque Top P est défini sur 0.8, la température affecte les échantillons de jetons comme suit:

  • Avec une température élevée, les quatre premiers jetons (pour, à, avec, et) sont échantillonnés car leurs scores (0.3 + 0.25 + 0.2 + 0.15 = 90) totalisent 90.
  • Avec une température basse, seuls les trois premiers jetons (pour, àet avec) sont échantillonnés car leurs scores (0.4 + 0.25 + 0.17 = 82) totalisent 82.

Affiche un tableau à deux colonnes. Les trois premiers mots de la colonne basse température s'additionnent jusqu'à 0.82. Les quatre premiers mots de la colonne Haute température sont ajoutés à 0.9.

Lorsqu'une valeur de température élevée est utilisée, il faut plus de jetons pour atteindre le seuil défini par Top P. Le jeton supplémentaire qui est échantillonné a le score le plus bas, ce qui signifie que le jeton est un choix plus inhabituel.

Valeur aléatoire de départ

Lorsque vous soumettez la même invite à un modèle plusieurs fois avec le décodage par échantillonnage, le modèle génère généralement un texte différent à chaque fois. Cette variabilité est le résultat d'une pseudo-aléatoire intentionnelle qui est intégrée au processus de décodage.

La valeur de départ aléatoire fait référence au nombre utilisé pour démarrer le générateur de nombres aléatoires que le modèle utilise pour randomiser ses choix de jeton. Si vous souhaitez supprimer ce caractère aléatoire intentionnel en tant que variable de vos expérimentations, vous pouvez sélectionner un nombre et spécifier ce même nombre à chaque fois que vous exécutez l'expérimentation.

  • Valeurs prises en charge: entier compris entre 1 et 4 294 967 295
  • Valeur par défaut: généré de manière aléatoire
  • Utilisation: Pour produire des résultats reproductibles, définissez la même valeur de départ aléatoire à chaque fois.

Pénalité de répétition

Si la sortie générée pour l'invite, le modèle et les paramètres choisis contient systématiquement du texte répétitif, vous pouvez essayer d'ajouter une pénalité de répétition. Lorsqu'elle est définie, la pénalité abaisse les scores de probabilité des jetons récemment utilisés afin que le modèle soit moins susceptible de les répéter. Une valeur plus élevée conduit à une production plus diversifiée et variée.

  • Valeurs prises en charge : Nombre en virgule flottante compris entre 1.0 (pas de pénalité) et 2.0 (pénalité maximale)
  • Valeur par défaut : 1.0
  • Utilisation : plus la pénalité est élevée, moins il est probable que le résultat contienne du texte répété.

Critères d"arrêt

La génération de texte s'arrête une fois que le modèle considère que la sortie est terminée, qu'une séquence d'arrêt est générée, que la limite de jeton maximale est atteinte ou que la limite de temps de génération du modèle est atteinte.

La génération de modèle s'arrête lorsque la limite de temps de la demande de génération est atteinte. La limite de temps par défaut est de 10 minutes et de 5 minutes pour les plans Lite. Vous pouvez spécifier une limite de temps plus courte lorsque vous soumettez une demande d'inférence à l'aide de l'API.

Vous pouvez affecter la longueur de la sortie générée par le modèle de la manière suivante: en spécifiant des séquences d'arrêt et en définissant des jetons Min et Max.

Séquences d'arrêt

Une séquence d'arrêt est une chaîne d'un ou de plusieurs caractères. Si vous spécifiez des séquences d'arrêt, le modèle arrête automatiquement la génération de la sortie une fois que l'une des séquences d'arrêt que vous spécifiez apparaît dans la sortie générée.

Par exemple, une façon de faire en sorte qu'un modèle cesse de générer une sortie après une seule phrase consiste à spécifier un point en tant que séquence d'arrêt. De cette manière, après que le modèle a généré la première phrase et l'a terminée par un point, la génération de la sortie s'arrête.

Le choix de séquences d'arrêt efficaces dépend de votre cas d'utilisation et de la nature de la sortie générée que vous attendez.

  • Valeurs prises en charge : 0 à 6 chaînes, chacune ne dépassant pas 40 tokens

  • Valeur par défaut : Pas de séquence d'arrêt

  • Utilisation : Suivez ces conseils pour utiliser les séquences d'arrêt :

    • Les séquences d'arrêt sont ignorées jusqu'à la génération du nombre de jetons spécifié dans le paramètre Min tokens. Gardez cette relation à l'esprit lorsque vous définissez la valeur minimale du paramètre de jeton.
    • Si votre invite comprend des exemples de paires d'entrées et de sorties, veillez à inclure dans vos exemples l'une des séquences d'arrêt dans l'exemple de sortie.

Nombre minimal et nombre maximal de nouveaux jetons

Si la sortie du modèle est trop courte ou trop longue, essayez d'ajuster les paramètres qui contrôlent le nombre de jetons générés:

  • Le paramètre Min tokens contrôle le nombre minimal de jetons dans la sortie générée

  • Le paramètre Max tokens contrôle le nombre maximal de jetons dans la sortie générée

  • Valeurs prises en charge : Le nombre maximum de jetons autorisés dans la sortie varie selon le modèle. Pour plus d'informations, voir Maximum tokens dans Supported foundation models.

  • Valeurs par défaut :

    • Nombre minimal de jetons: 0
    • Nombre maximal de jetons: 200
  • Utilisez :

    • Le nombre minimal de jetons doit être inférieur ou égal au nombre maximal de jetons.
    • Le coût d'utilisation des modèles de base dans IBM watsonx.ai est basé sur l'utilisation, qui est en partie liée au nombre de jetons générés. La spécification de la valeur la plus faible pour les jetons Max qui fonctionne pour votre cas d'utilisation est une stratégie d'économie de coût.

En savoir plus

Rubrique parent: Prompt Lab

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus