Glossaire / Comment il vous entend
Hallucination
Mis à jour le
Définition
En reconnaissance vocale, une hallucination est un texte produit par le modèle que personne n’a dit : une phrase plausible inventée à partir du silence, du bruit ou d’un fragment trop court pour être transcrit. C’est l’erreur d’insertion poussée à l’extrême.
Tout modèle vocal est entraîné à produire du texte : face à un audio sans parole, il essaie quand même. Les modèles par lots comme Whisper sont le cas connu : nourris de quelques secondes de bruit ambiant, ils émettent parfois « Thank you for watching » ou une phrase entière dans une autre langue, parce que ces chaînes étaient fréquentes à la fin des enregistrements dans les données d’entraînement. La sortie est fluide et fausse avec aplomb.
Le même mot s’emploie pour les modèles de langage qui inventent des faits, et le mécanisme est proche : un système optimisé pour produire une sortie probable la produira, que l’entrée la justifie ou non. Dans un outil de dictée, une hallucination signifie qu’un texte que vous n’avez jamais prononcé arrive dans votre document.
Quand cela se produit
Le silence au début ou à la fin d’un enregistrement, d’où l’importance de la capture au relâchement de la touche et de la détection d’activité vocale. Les énoncés très courts, un seul mot ou une toux, où le modèle a trop peu de prise. La parole en arrière-plan, d’une vidéo ou d’un collègue, qui est bien de la parole mais pas la vôtre. Les longs enregistrements, où certains modèles perdent le fil et répètent un passage. Chaque cas a une parade connue, et un outil qui ne les a pas appliquées finira par vous surprendre.
Comment les bons outils l’évitent
Faire tourner d’abord un détecteur d’activité vocale et ne jamais envoyer de non-parole à la reconnaissance. Couper le silence aux deux extrémités. Écarter les résultats des extraits sous une durée minimale. Repérer le texte émis par le modèle sans énergie audio correspondante, et le supprimer. Côté mise en forme, refuser toute réécriture qui ajoute un mot porteur de sens absent de la transcription, pour qu’un modèle de mise en forme ne puisse pas halluciner non plus. Un outil qui fait tout cela vous comprendra encore mal de temps en temps ; il ne devrait jamais inventer une phrase.
Comment réduire les hallucinations de Whisper en ligne de commande
Si vous utilisez l’outil en ligne de commande open source de Whisper sur des enregistrements et qu’il invente ou répète du texte, l’outil a des options documentées faites exactement pour cela. Elles ne suppriment pas le problème, mais elles traitent ses deux formes courantes : du texte inventé sur un silence, et un passage répété en boucle.
Les auteurs de Whisper décrivent ces vérifications comme un palliatif aux prédictions bruitées, pas comme un remède : relisez le résultat en écoutant l’audio après les avoir modifiées.
- Ouvrez Terminal et traitez le fichier une première fois avec les réglages par défaut, par exemple : whisper recording.wav --model turbo. Notez où apparaît le texte inventé ou répété.
- Si un passage se répète, relancez avec --condition_on_previous_text False. La documentation indique que le texte peut devenir moins cohérent d’une fenêtre à l’autre, mais que le modèle risque moins de rester bloqué dans une boucle d’échec.
- Si du texte apparaît sur un silence, ajoutez --word_timestamps True --hallucination_silence_threshold 2. Avec les horodatages par mot activés, l’outil saute les silences plus longs que le nombre de secondes indiqué quand une hallucination possible est détectée.
- Laissez --no_speech_threshold à sa valeur par défaut de 0,6 et --logprob_threshold à sa valeur par défaut de -1,0, sauf si vous avez une raison de les changer. Ensemble, ils décident quand un segment est traité comme silencieux.
- Coupez les longs silences au début et à la fin de l’enregistrement dans n’importe quel éditeur audio et relancez, pour que le modèle ait moins de non-parole à traiter.
- Comparez la nouvelle transcription avec l’audio aux endroits notés lors de la première étape.
Hallucination ou erreur d’écoute : comment les distinguer
Une erreur d’écoute, c’est un mot faux à l’endroit où vous avez dit un autre mot. Il ressemble à ce que vous avez dit, et on voit pourquoi le modèle l’a choisi. Une hallucination n’a aucune source dans l’audio. L’article sur Whisper décrit le cas extrême comme une transcription sans aucun rapport avec l’audio réel.
La différence compte, car les remèdes ne sont pas les mêmes. Une erreur d’écoute se corrige avec un meilleur micro, une diction plus claire ou une entrée de dictionnaire. Une hallucination s’évite en tenant le silence et le bruit à l’écart du modèle, ou en rejetant la sortie dont le modèle lui-même n’était pas sûr.
- Du texte qui apparaît là où vous vous taisiez ou aviez cessé de parler est une hallucination.
- La même expression ou la même phrase répétée plusieurs fois de suite est une boucle de répétition, que l’article sur Whisper classe comme un échec distinct de l’hallucination.
- Un mot faux qui sonne comme le bon est une erreur d’écoute.
- La disparition des premiers ou des derniers mots d’un enregistrement est un troisième échec cité par l’article sur Whisper. C’est une suppression, pas une hallucination.
Comment Whisper décide que sa propre sortie a échoué
Le code open source de Whisper vérifie chaque fenêtre de 30 secondes après l’avoir décodée. Si la log-probabilité moyenne des jetons générés est inférieure à -1,0, ou si le taux de compression gzip du texte dépasse 2,4, la fenêtre est considérée comme ratée et décodée à nouveau à une température plus élevée. Un texte très répétitif se compresse bien : c’est pour cela que le taux de compression repère les boucles.
Pour le silence, l’article note que la probabilité du jeton « pas de parole » ne suffit pas à elle seule à détecter une fenêtre sans parole. Combiner un seuil de non-parole de 0,6 avec le seuil de log-probabilité de -1 rend la détection plus fiable. La fiche du modèle cite malgré tout les hallucinations et le texte répétitif parmi ses limites connues.
Les questions qu’on se pose.
Pourquoi mon app de dictée a-t-elle écrit quelque chose que je n’ai jamais dit ?
Très probablement, le moteur de reconnaissance a reçu un audio sans parole, comme le silence à la fin d’un enregistrement ou un extrait très court, et a quand même produit une phrase plausible. C’est un comportement connu des modèles par lots, et on peut l’éviter avec la détection d’activité vocale et la coupure du silence.
L’étape de mise en forme peut-elle halluciner aussi ?
Oui, si c’est un modèle de langage qui réécrit librement votre transcription. Le garde-fou est une règle : la sortie peut retirer les hésitations et corriger la ponctuation, mais ne peut jamais ajouter un mot porteur de sens que vous n’avez pas dit, et une réécriture qui enfreint cette règle est jetée.
Pourquoi Whisper répète-t-il la même phrase encore et encore ?
La fiche du modèle Whisper indique que son architecture séquence à séquence le rend enclin à générer du texte répétitif. Dans l’outil en ligne de commande open source, l’option --condition_on_previous_text False rend le modèle moins susceptible de rester bloqué dans une telle boucle.
Un modèle Whisper plus grand met-il fin aux hallucinations ?
Pas de façon fiable. L’article sur Whisper indique que les modèles plus grands ont régulièrement progressé sur les erreurs de perception, comme la confusion entre mots qui se ressemblent, mais que les boucles de répétition et les hallucinations résistent davantage et relèvent du décodage.
Une hallucination est-elle la même chose qu’une erreur de transcription ?
C’en est un type. La plupart des erreurs sont des erreurs d’écoute sur quelque chose que vous avez vraiment dit, alors qu’une hallucination est un texte sans aucune source parlée. Elle compte comme une insertion dans le calcul du taux d’erreur de mots.