Biais de logit et interdiction de jetons dans les LLM : piloter les sorties sans reformation

Biais de logit et interdiction de jetons dans les LLM : piloter les sorties sans reformation

Renee Serda janv.. 18 2

Vous avez déjà vu un modèle de langage générer une réponse qui était presque parfaite… sauf pour un mot qui sortait comme une épine dans le pied ? Un mot inapproprié, un nom de concurrent, ou simplement un « um » répété à l’infini ? La solution n’est pas de réentraîner le modèle. Elle est bien plus simple, et bien plus précise : le biais de logit et l’interdiction de jetons.

Comment les modèles de langage choisissent leurs mots

Chaque mot que génère un modèle comme GPT-4 n’est pas choisi au hasard. Il est sélectionné à partir d’une liste de milliers de possibilités, chacune ayant un score - appelé logit - qui représente à quel point ce mot est « probable » selon le contexte. Plus le logit est élevé, plus le mot a de chances d’être choisi. Ce score est calculé par le modèle après avoir analysé tout ce qui a été dit avant.

Le biais de logit, c’est comme un petit levier que vous pouvez ajouter à ce score. Vous prenez un mot spécifique - disons « stupid » - et vous diminuez son logit de 50 points. Résultat ? Le modèle le voit comme beaucoup moins probable, même s’il correspond parfaitement au contexte. Si vous baissez ce score à -100, vous le bloquez presque complètement. C’est comme si vous disiez au modèle : « Je ne veux pas que tu utilises ce mot, même si tu penses que c’est la bonne réponse. »

Le piège des jetons : un mot n’est pas un mot

Voici où ça devient délicat : les modèles ne travaillent pas avec des mots, mais avec des jetons. Un jeton peut être une lettre, une partie de mot, ou un mot entier. Le mot « time » n’est pas un seul jeton. Il peut être divisé en « time » (jeton ID 2435) ou en « time » avec un espace avant, « time » (jeton ID 640). Si vous ne bloquez que l’un des deux, le modèle va simplement utiliser l’autre.

Et ce n’est pas tout. « Stupid » peut être tokenisé en trois jetons différents selon qu’il est au début d’une phrase, après un espace, ou en majuscules. « Stupid » (avec un S majuscule) a un ID différent de « stupid ». « stupid » avec un espace avant a un autre ID encore. Pour vraiment empêcher ce mot d’apparaître, vous devez trouver tous ses jetons possibles. Certains développeurs ont dû identifier plus de 1 200 variantes de jetons pour bloquer seulement 150 mots indésirables.

Comment appliquer un biais de logit

Voici comment faire, étape par étape :

  1. Utilisez l’outil de tokenisation d’OpenAI pour entrer le mot que vous voulez bloquer - par exemple, « competitor ».
  2. Obtenez tous les jetons associés : « competitor », « competitor » (avec espace), « Competitor », etc. Notez leurs IDs.
  3. Créez un dictionnaire JSON : {"2435": -100, "640": -100, "13914": -100}.
  4. Envoyez ce dictionnaire avec votre requête à l’API, dans le paramètre logit_bias.

La valeur -100 bloque presque toujours. Mais attention : une valeur trop forte peut rendre les réponses étranges. Certains modèles, quand on supprime un mot clé comme « not », commencent à générer des phrases logiquement contradictoires. Une valeur entre -30 et -50 est souvent plus naturelle. Pour les mots que vous voulez encourager (comme le nom de votre marque), utilisez +10 à +30 - pas +100, sinon le modèle devient artificiel.

Un développeur configure un biais de logit sur un écran holographique, sous une lumière chaude.

Pourquoi c’est mieux qu’un simple message système

Vous pourriez penser : « Pourquoi ne pas juste dire au modèle dans le message système : ‘Ne parle jamais de [mot]’ ? » La réponse est simple : les modèles ignorent parfois ces instructions. Ils essaient d’être utiles. S’ils pensent que le mot est pertinent, ils le trouveront un moyen de le glisser, même si vous leur dites de ne pas le faire.

Des expériences menées par Samuel Shapley ont montré que même avec des instructions claires, GPT-4 continue de produire des mots interdits dans 15 à 20 % des cas. Avec un biais de logit à -100, ce taux tombe à moins de 1 %. C’est une différence entre « essaye de respecter » et « ne peux pas faire autrement ».

Applications réelles : sécurité, marque, conformité

Les entreprises l’utilisent déjà à grande échelle. Dans les chatbots de service client, bloquer les jetons liés à des insultes ou des termes discriminatoires a réduit les violations de modération de 37 %. Pour les marques, cela permet d’éviter que le modèle ne mentionne un concurrent - par exemple, bloquer les jetons de « Coca-Cola » dans les réponses d’un modèle utilisé par Pepsi. Un cas d’usage réel chez BMW a consisté à baisser le biais de tous les jetons liés à « Mercedes » à -50, ce qui a réduit les mentions non désirées de 62 %.

En Europe, cette technique est devenue un outil de conformité. Le projet d’acte sur l’intelligence artificielle exige que les systèmes empêchent la génération de contenu illégal. Le biais de logit est l’une des rares méthodes reconnues comme efficace et reproductible. 72 % des experts juridiques interrogés en novembre 2023 l’ont citée comme solution technique valide.

Un symbole de marque protégé bloque des variantes de jetons concurrents dans un paysage urbain animé.

Limites et pièges

Malgré son efficacité, ce n’est pas une solution magique. Premièrement, c’est fastidieux. Trouver tous les jetons d’un mot comme « Apple » (qui peut désigner la marque ou le fruit) demande du temps. Si vous bloquez trop de jetons, le modèle commence à produire des phrases incohérentes. Certains utilisateurs ont rapporté que bloquer le jeton « not » a fait générer des phrases comme « Il est impossible de ne pas aimer ce produit » - ce qui, ironiquement, contient toujours le mot interdit.

Deuxièmement, les modèles trouvent des contournements. Ils utilisent des synonymes, des expressions plus longues, ou des métaphores. Bloquer « stupid » ne bloque pas « foolish », « dumb », ou « idiotic ». Vous devez les bloquer aussi. C’est un jeu du chat et de la souris.

Et troisièmement, il n’existe pas encore de solution pour bloquer des phrases entières. Vous ne pouvez pas dire « bloque ‘I am a lawyer’ » en un seul coup. Vous devez identifier chaque jeton de chaque mot dans la phrase, et les bloquer individuellement. Des développeurs demandent depuis 2023 une fonctionnalité de « biais conditionnel » qui agirait sur des séquences de jetons - mais elle n’est pas encore disponible.

Quand utiliser cette technique

Le biais de logit est parfait pour :

  • Supprimer des mots spécifiques indésirables (insultes, noms de concurrents, termes sensibles)
  • Éviter des répétitions gênantes (« um », « you know », « like »)
  • Renforcer la cohérence de marque (favoriser un ton ou un vocabulaire spécifique)
  • Respecter les réglementations (UE, HIPAA, etc.) sans modifier le modèle

Il est moins adapté pour :

  • Changer le ton général du modèle (c’est le rôle du prompt ou du fine-tuning)
  • Bloquer des concepts abstraits (« violence », « haine ») - trop vagues pour être tokenisés efficacement
  • Remplacer une stratégie de modération complète - il faut toujours un système de vérification humaine en back-end

Le futur : vers un contrôle plus intelligent

Les développeurs travaillent déjà sur des versions plus intelligentes. Des recherches en cours visent à intégrer le biais de logit avec une compréhension du contexte. Par exemple : bloquer « Apple » uniquement quand il est suivi de « iPhone » ou « Mac », mais pas quand il est suivi de « pie » ou « tree ». Cela s’appelle le « biais contextuel ».

Les analystes de Forrester prédisent que d’ici fin 2024, 92 % des déploiements professionnels d’IA utiliseront ce type de contrôle. Le coût est minime : environ 0,0002 $ pour 1 000 jetons traités. Comparé à une fine-tuning qui coûte entre 15 et 150 $ par itération, c’est une économie énorme.

Le vrai défi n’est plus technique, mais stratégique : savoir quelles limites imposer, et où laisser la créativité du modèle intacte. Un modèle trop contrôlé devient mécanique. Un modèle trop libre devient risqué. Le biais de logit, bien utilisé, est la clé pour trouver cet équilibre.

Quelle est la différence entre un biais de logit et une instruction dans le message système ?

Le message système demande au modèle de respecter une règle, mais il peut l’ignorer s’il pense que la réponse est plus utile. Le biais de logit modifie directement la probabilité de génération d’un jeton - c’est une restriction technique, pas une suggestion. Avec un biais de -100, le mot ne peut presque pas apparaître, peu importe le contexte.

Pourquoi bloquer un mot avec -100 peut-il rendre les réponses étranges ?

Quand vous supprimez un mot très courant comme « not » ou « time », le modèle perd une pièce essentielle de sa capacité à construire des phrases logiques. Il essaie de compenser en utilisant des tournures inhabituelles, des répétitions, ou des synonymes maladroits. Cela crée un effet de « bégaiement sémantique ». Il vaut mieux utiliser des valeurs modérées (-30 à -50) pour les mots fréquents.

Faut-il bloquer les majuscules et les minuscules séparément ?

Oui. « Apple » et « apple » sont deux jetons différents. De même, « Stupid » et « stupid » ont des IDs distincts. Pour un blocage complet, vous devez identifier et bloquer toutes les variantes de casse, ainsi que les versions avec ou sans espace avant.

Est-ce que tous les modèles prennent en charge le biais de logit ?

Les principaux fournisseurs - OpenAI, Anthropic, et certains modèles de Meta - le supportent. Mais les versions open-source comme Llama.cpp ne l’ont pas nativement. Pour les utiliser, vous devez modifier manuellement le code ou utiliser des bibliothèques tierces. Vérifiez toujours la documentation de l’API avant d’implémenter.

Comment savoir quels jetons correspond à quel mot ?

Utilisez l’outil de tokenisation officiel d’OpenAI (disponible en ligne). Tapez votre mot, et il vous montre tous les jetons associés, avec leurs IDs. Pour les mots composés, testez-les avec et sans espace, en majuscules, en minuscules, et dans différents contextes. C’est fastidieux, mais nécessaire.

Le biais de logit peut-il être utilisé pour forcer un mot à apparaître ?

Oui. Une valeur positive (ex. +20) augmente la probabilité qu’un jeton soit choisi. C’est utile pour insister sur un terme de marque, un nom de produit, ou un ton spécifique. Mais attention : une valeur trop élevée (+80 ou +100) peut rendre les réponses artificielles ou répétitives. Utilisez cette technique avec modération.

Commentaires (2)
  • Marcel Gustin
    Marcel Gustin 18 janv. 2026
    Ah oui, le biais de logit... la magie noire des devs qui veulent contrôler les IA comme des chiens avec un collier électrique. 🤖⚡ Je l’ai testé avec « um » et maintenant mon modèle répond comme un robot zen. Pas un « euh » en vue. Mais bon, il a commencé à dire « en fait, non » à la place. On dirait un prof qui refuse de dire qu’il a tort.
  • Yanis Gannouni
    Yanis Gannouni 19 janv. 2026
    C’est une technique très efficace, mais il faut vraiment comprendre la tokenisation sous-jacente. J’ai perdu 3 jours à bloquer des variantes de « data » dans un projet client. Il y a 8 jetons différents selon la ponctuation, l’espace, et même la police de caractères dans certains cas. Le pire ? « D.A.T.A. » avec des points. 🤯 C’est fou comment une simple lettre peut avoir tant de visages.
Écrire un commentaire
Articles récents
Vérification des agents d'IA générative : garanties, contraintes et audits
Vérification des agents d'IA générative : garanties, contraintes et audits

La vérification des agents d'IA générative est devenue essentielle pour garantir la fiabilité, la conformité et la sécurité des décisions automatisées. Découvrez comment les garanties formelles, les audits et la blockchain transforment l'IA de risque en outil digne de confiance.

Gestion des fournisseurs pour les plateformes de codage Vibe et les fournisseurs de modèles IA
Gestion des fournisseurs pour les plateformes de codage Vibe et les fournisseurs de modèles IA

Le codage Vibe accélère le développement logiciel, mais crée de nouveaux risques de gouvernance. Découvrez les 5 critères essentiels pour choisir et gérer vos fournisseurs de modèles IA en 2025, avec comparaisons concrètes et bonnes pratiques validées par les grandes entreprises.

Télémétrie de sécurité et alertes pour les applications générées par l'IA
Télémétrie de sécurité et alertes pour les applications générées par l'IA

Protéger les applications générées par l’IA nécessite une télémétrie de sécurité spécialisée. Découvrez les menaces uniques, les outils efficaces et les étapes concrètes pour surveiller et alerter sur les comportements anormaux des modèles d’IA.

À propos de nous

Cercle de l'Évaluation IA est une communauté dédiée aux benchmarks, audits et bonnes pratiques pour mesurer la performance et l'éthique des systèmes d'intelligence artificielle. Découvrez des guides, cadres méthodologiques et études de cas pour fiabiliser vos modèles. Partagez et comparez des jeux de tests, métriques et outils open source. Restez informé des actualités et normes autour de l'évaluation des IA.