HomeRessources, Guides & Actualités – Actualités de l’intelligence artificielleDéfinitionRepetition Penality – Pénalité de Répétition

Repetition Penality – Pénalité de Répétition

Une pénalité de répétition est un hyperparamètre d’inférence. Elle empêche les grands modèles de langage de s’enfermer dans des boucles infinies. Elle évite la réitération de phrases identiques ou l’abus de mots spécifiques. Son action modifie les scores bruts avant la sélection finale.

Lorsqu’un modèle prédit le mot suivant, il génère une liste de jetons candidats. Chacun reçoit un score brut nommé logit. Le système suit les jetons produits dans la séquence active.

Si un jeton existe déjà, le système divise son logit par le facteur de pénalité thêta dans le cas d’un score positif. Il le multiplie par ce facteur si le score est négatif. Cet ajustement écrase la probabilité des jetons passés. Il force le modèle à choisir un vocabulaire neuf.

Trois formules mathématiques régissent ces ajustements dans les architectures comme Hugging Face, OpenAI ou llama.cpp.

Type de pénalitéComportementValeur de basePlage recommandéeUsage idéal
Pénalité de répétition (Multiplicative)Divise le logit de tout jeton utilisé par un facteur fixe. Traite un jeton utilisé une fois de la même manière qu’un jeton utilisé cinquante fois.1.01.05 à 1.15Génération de texte général dans les modèles locaux.
Pénalité de présence (Additive)Soustrait une valeur fixe du logit de tout jeton apparu au moins une fois.0.00.1 à 0.5Écriture créative et remue-méninges pour forcer de nouveaux sujets.
Pénalité de fréquence (Additive et pondérée)Soustrait une pénalité qui évolue avec le nombre d’apparitions du jeton. Plus un mot revient, plus la pénalité augmente.0.00.2 à 0.8Essais longs, résumés structurés, évitement de tics de langage.

Les dangers d’un réglage excessif

Pousser ces valeurs trop loin dégrade la qualité textuelle. L’effondrement grammatical guette le système. Les mots de structure et la ponctuation courante doivent se répéter dans la langue humaine. Des pénalités trop fortes interdisent leur usage. La syntaxe éclate.

Le modèle peut sombrer dans le jargon incohérent et les hallucinations. Privé de mots de liaison, il sélectionne des jetons improbables.

La cohérence s’effondre. Le code devient impossible à générer. Pour la programmation, réglez la pénalité sur la valeur neutre de 1.0. Le code exige une répétition constante de mots-clés syntaxiques.

La mécanique mathématique sous le capot

Le modèle projette sa couche finale en scores numériques bruts pour chaque mot du vocabulaire. Sans pénalité, la fonction Softmax transforme ces logits en pourcentages cumulés. La pénalité intercepte ces logits en amont du calcul.

[Logits Bruts] ──> [Application de la Pénalité] ──> [Couche Softmax] ──> [Probabilités Finales]

La formule multiplicative divise les logits positifs par le paramètre thêta. Par exemple, si le mot “pomme” obtient un score de 4.0 et que la pénalité vaut 1.2, le nouveau score devient 3.33. Cette division réduit davantage les gros scores que les petits. Elle cible les choix prioritaires du modèle.

Les pénalités additives d’OpenAI et Anthropic utilisent une autre soustraction mathématique basée sur la présence et la fréquence d’apparition du mot.

L_new = L_old - (Presence_Penalty * c) - (Frequency_Penalty * f)

La variable c vaut 1 si le mot est apparu, 0 sinon. La variable f comptabilise les occurrences exactes. La pénalité de présence applique une taxe fixe dès l’apparition du mot. La pénalité de fréquence agit comme une taxe cumulative à chaque réutilisation.

Voyons l’effet d’une pénalité de présence de 2.0 sur le choix du mot suivant dans la phrase : “Le chevalier monta son cheval dans la forêt.”

Mot candidatLogit initialDéjà utilisé ?Ajustement mathématiqueLogit finalRésultat
forêt5.5Oui5.5 – 2.03.5Pénalisé
chevalier5.0Oui5.0 – 2.03.0Pénalisé
arbres4.2Non4.2 – 0.04.2Sélectionné
obscurité3.8Non3.8 – 0.03.8Reste élevé

Les mots “forêt” et “chevalier” perdent leur priorité. Le mot “arbres” passe de la troisième à la première place. Le texte gagne en variété.

Visualisation des niveaux de pénalité sur la production de texte

Observons les variations de style sur la consigne : “Décris une rue commerçante animée.”

Une pénalité basse (1.0 à 1.02) provoque un risque de boucle : “La rue de la ville était pleine de gens. Les gens marchaient dans la rue, regardant les bâtiments de la ville. La ville était bruyante, et la rue était occupée par des gens.” Le modèle choisit la facilité et répète les termes à forte probabilité.

Une pénalité équilibrée (1.1 à 1.15) produit une belle diversité : “L’avenue urbaine grouillait de piétons pressés devant les vitrines. Les klaxons résonnaient contre les grat-ciels pendant que la foule envahissait les trottoirs.” Le modèle cherche des synonymes riches.

Une pénalité excessive (supérieure à 1.3) mène à un effondrement cognitif : “L’artère métropolitaine pullulait de bipèdes déambulant devant les devantures mercantiles. Des avertisseurs sonores d’automobilistes vibraient sur les colonnes architecturales…” Les mots simples comme “la” ou “de” subissent un blocage. Le modèle pioche des termes rares au détriment du sens commun.

La fenêtre de mémoire glissante

La pénalité n’analyse pas l’historique entier de la discussion. Elle opère dans une limite appelée fenêtre de pénalité. Le modèle observe les derniers jetons générés. Les mots situés au-delà de cette limite retrouvent leur liberté d’usage. Une fenêtre trop courte engendre des répétitions de structures à intervalles réguliers. Une fenêtre démesurée vide le réservoir de vocabulaire disponible avant la fin d’un texte long.

Le piège de la dérive sémantique

Une pénalité trop forte provoque une perte de fil conducteur. Le modèle évite ses propres mots-clés par obligation mécanique. Pour une recette de tarte aux pommes avec une pénalité de 1.5, la première phrase annonce : “Pour cuire une tarte aux pommes, tranchez d’abord le fruit.” Les mots essentiels se retrouvent pénalisés. La deuxième phrase s’adapte : “Ensuite, déposez la production croustillante du verger dans une pâte feuilletée.” La troisième phrase dérape : “Chauffez la matrice sphérique sucrée à la cannelle.” Le modèle n’a plus de termes culinaires autorisés. Il invente des tournures abstraites pour fuir la pénalité, ruinant la logique humaine.

Interactions au sein du pipeline d’échantillonnage

[Logits Bruts] ──> [Pénalité de Répétition] ──> [Température] ──> [Top-K / Top-P] ──> [Sélection du Jeton Final]

Une température basse sans pénalité rend le modèle prévisible. Ajouter une légère pénalité brise les boucles sans introduire de chaos. À l’inverse, une température élevée couplée à une forte pénalité génère un texte incohérent.

La température disperse les choix et la pénalité élimine toute continuité logique.

Concernant le Top-P, s’il reste large alors que la pénalité exclut les mots probables, le modèle sélectionne des termes de piètre qualité pour obéir à la contrainte.

Parcours pas à pas de la sélection d’un jeton

Visualisons le traitement d’un jeton avec une pénalité multiplicative de 1.2.

  1. Étape 1 : calcul des logits bruts pour “le” (6.0), “chat” (4.8), et “félin” (3.6).
  2. Étape 2 : vérification de l’historique. Le système détecte que “le” et “chat” figurent dans la fenêtre de mémoire. “Félin” n’y est pas.
  3. Étape 3 : calcul de la pénalité. Le logit de “le” devient 5.0 (6.0 divisé par 1.2). Celui de “chat” devient 4.0 (4.8 divisé par 1.2). Le logit de “félin” reste à 3.6.
  4. Étape 4 : décision finale. Malgré la réduction, “le” et “chat” conservent une force mathématique supérieure à “félin”. La pénalité réduit leur domination sans interdire leur usage légitime.

Les plages de valeurs opérationnelles

Les échelles de réglage divergent selon l’approche adoptée.

Pour la méthode multiplicative, la valeur 1.0 désactive le filtre. Entre 1.01 et 1.05, le réglage convient aux tâches factuelles et au code. La zone de confort pour la création littéraire s’établit entre 1.10 et 1.15. La plage de 1.20 à 1.30 s’avère agressive. Au-delà de 1.30, la grammaire s’effondre.

Pour l’approche additive, l’échelle s’étend de -2.0 à 2.0. La valeur 0.0 désactive l’effet. Entre 0.1 et 0.5, l’ajustement élimine les répétitions subtiles. De 0.6 à 1.0, la variété conceptuelle s’impose. Entre 1.1 et 2.0, l’interdiction stricte détériore l’orthographe et la syntaxe.

Les valeurs négatives encouragent la répétition, un usage confiné à de rares expériences.

Type de paramètreObjectif cibléValeur recommandée
MultiplicatifCode et mathématiques1.0 (Désactivé)
MultiplicatifDiscussion standard et faits1.05
MultiplicatifÉcriture créative et fiction1.12
Additif (Présence/Fréquence)Discussion standard et faits0.0 à 0.2
Additif (Présence/Fréquence)Écriture créative et fiction0.3 à 0.5

Distinguer la pénalité de présence de la pénalité de répétition

La différence réside dans la méthode de calcul du châtiment appliqué au mot réutilisé.

La pénalité de présence applique une taxe fixe dès l’apparition d’un terme, peu importe son nombre d’occurrences. La pénalité de répétition module le score par une division proportionnelle à la confiance initiale du modèle.

Prenons un mot fort comme “le” (logit de 6.0) et un mot descriptif moyen comme “forêt” (logit de 3.0). Avec une pénalité de présence de 2.0, “le” passe à 4.0 (baisse de 33 %) et “forêt” tombe à 1.0 (baisse de 66 %). Les termes faibles subissent un préjudice lourd alors que les mots structurels résistent.

Avec une pénalité de répétition multiplicative de 1.2, “le” passe à 5.0 (perte de 1.0 point) et “forêt” tombe à 2.5 (perte de 0.5 point). Cette division cible en priorité les choix dominants pour équilibrer le terrain de sélection.

CaractéristiquePénalité de présencePénalité de répétition
Type de calculAdditif (Soustraction)Multiplicatif (Division)
Plage typique-2.0 à 2.01.0 à 2.0
Frameworks associésOpenAI, Anthropic, CohereHugging Face, Llama.cpp, vLLM
Objectif principalIntroduire de nouveaux sujets et concepts globaux.Éviter les boucles de grammaire et la copie de phrases.
Impact lexicalPousse le modèle vers des thèmes différents.Pousse le modèle à dénicher des synonymes.

Privilégiez la pénalité de présence pour concevoir un outil de remue-méninges ou stimuler la créativité narrative. Elle pousse le modèle à changer de sujet une fois abordé. Adoptez la pénalité de répétition pour exploiter des modèles locaux sur votre machine afin d’endiguer les boucles de génération sans dévier du sujet initial.

Leave a Reply

Your email address will not be published. Required fields are marked *