P

Frequency Penalty : Définition et Exemples

Le Frequency Penalty est un paramètre des modèles de langage qui pénalise les tokens proportionnellement au nombre de fois qu'ils apparaissent dans le texte généré, réduisant ainsi les répétitions.

Définition complète

Le Frequency Penalty (pénalité de fréquence) est un hyperparamètre disponible dans les API de modèles de langage comme GPT d'OpenAI. Il applique une pénalité croissante à chaque token en fonction du nombre de fois où celui-ci a déjà été utilisé dans la réponse générée. Plus un mot apparaît fréquemment, plus sa probabilité d'être sélectionné à nouveau diminue.

Concrètement, ce paramètre fonctionne en soustrayant une valeur proportionnelle au nombre d'occurrences d'un token dans les logits (scores de probabilité) avant l'échantillonnage. Par exemple, avec un Frequency Penalty de 0.5, un mot apparu 3 fois verra son score réduit de 1.5 (3 × 0.5). Cette pénalité est linéaire : elle augmente à chaque nouvelle occurrence, contrairement au Presence Penalty qui applique une pénalité fixe dès la première apparition.

Le paramètre accepte généralement des valeurs entre 0 et 2. À 0, aucune pénalité n'est appliquée et le modèle peut répéter librement les mêmes mots. Des valeurs modérées (0.3-0.8) permettent de réduire les répétitions tout en conservant un texte naturel. Des valeurs élevées (au-delà de 1.5) forcent le modèle à utiliser un vocabulaire très varié, au risque de produire des formulations artificielles ou incohérentes.

En prompt engineering, le Frequency Penalty est particulièrement utile pour la génération de contenu créatif, la rédaction d'articles ou toute tâche où la diversité lexicale est souhaitable. Il se distingue du paramètre Temperature, qui contrôle l'aléatoire global de la génération, en ciblant spécifiquement le problème de la répétition de termes.

Étymologie

Le terme vient de l'anglais « frequency » (fréquence, nombre d'occurrences) et « penalty » (pénalité). Il décrit littéralement le mécanisme : une pénalité appliquée en fonction de la fréquence d'apparition d'un token. Ce concept est issu des techniques de décodage en traitement automatique du langage naturel (NLP), où différentes stratégies de pénalisation ont été développées pour améliorer la qualité et la diversité des textes générés.

Exemples concrets

Rédaction d'un article de blog sans répétitions

Rédige un article sur les bienfaits du sommeil. Utilise un vocabulaire varié et évite les répétitions. [frequency_penalty: 0.6]

Génération de slogans publicitaires créatifs

Génère 10 slogans originaux pour une marque de café artisanal. Chaque slogan doit utiliser des mots différents. [frequency_penalty: 1.0]

Réponse technique nécessitant de la précision sans pénalité

Explique le fonctionnement d'un compilateur étape par étape. [frequency_penalty: 0] — Ici, on garde la pénalité à 0 car la répétition de termes techniques est nécessaire à la clarté.

Usage pratique

Utilisez un Frequency Penalty entre 0.3 et 0.8 pour la rédaction de contenu long afin d'éviter les formulations répétitives tout en gardant un texte naturel. Pour des tâches techniques ou factuelles où la répétition de termes clés est normale, gardez-le à 0. Combinez-le avec le paramètre Temperature pour un contrôle fin : Temperature gère la créativité globale, tandis que Frequency Penalty cible spécifiquement les répétitions.

Concepts liés

Presence PenaltyTemperatureTop-P (Nucleus Sampling)Logits

FAQ

Quelle est la différence entre Frequency Penalty et Presence Penalty ?
Le Frequency Penalty applique une pénalité proportionnelle au nombre d'occurrences d'un token (plus un mot est répété, plus il est pénalisé). Le Presence Penalty applique une pénalité fixe dès qu'un token est apparu au moins une fois, indépendamment du nombre de répétitions. En résumé, le Frequency Penalty combat les répétitions excessives, tandis que le Presence Penalty encourage l'introduction de nouveaux sujets.
Quelle valeur de Frequency Penalty utiliser par défaut ?
Pour la plupart des usages, une valeur entre 0.3 et 0.6 offre un bon équilibre entre diversité et naturel. Pour du contenu créatif (poésie, slogans), montez jusqu'à 0.8-1.2. Pour des réponses techniques ou du code, restez à 0 ou très bas (0.1-0.2) car la répétition de termes spécifiques y est souvent nécessaire.
Le Frequency Penalty est-il disponible sur tous les modèles d'IA ?
Non. Ce paramètre est principalement disponible dans l'API d'OpenAI (GPT-3.5, GPT-4). D'autres fournisseurs proposent des mécanismes similaires sous des noms différents ou intégrés dans d'autres paramètres. Par exemple, l'API d'Anthropic (Claude) ne propose pas directement ce paramètre, car ses modèles gèrent la diversité lexicale différemment via d'autres techniques internes.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.