Alucinación
Actualizado el
Definición
En el reconocimiento de voz, una alucinación es texto que el modelo produce y que nadie dijo: una frase verosímil inventada a partir del silencio, del ruido o de un fragmento demasiado corto para transcribirlo. Es el error de inserción llevado al extremo.
Todo modelo de voz está entrenado para producir texto, así que cuando recibe audio sin habla, lo intenta igualmente. Los modelos por lotes como Whisper son el caso más conocido: si les das unos segundos de ruido ambiente, a veces emiten “Thank you for watching” o una frase completa en otro idioma, porque esas cadenas eran frecuentes al final de las grabaciones en los datos de entrenamiento. La salida es fluida y está equivocada con total seguridad.
La misma palabra se usa para los modelos de lenguaje que se inventan datos, y el mecanismo es parecido: un sistema optimizado para producir la salida más probable la producirá tanto si la entrada lo justifica como si no. En una herramienta de dictado, una alucinación significa que en tu documento aparece texto que nunca dijiste.
Cuándo ocurre
Con silencio al principio o al final de una grabación, y por eso importan la captura al soltar la tecla y la detección de actividad de voz. Con frases muy cortas, una sola palabra o una tos, donde el modelo tiene muy poco a lo que agarrarse. Con voces de fondo de un vídeo o de un compañero, que son habla real pero no tuya. Con grabaciones largas, donde algunos modelos pierden el hilo y repiten un pasaje. Cada caso tiene una solución conocida, y una herramienta que no la ha aplicado acabará sorprendiéndote.
Cómo lo evitan las buenas herramientas
Ejecuta primero un detector de actividad de voz y no envíes nunca al reconocedor lo que no sea habla. Recorta el silencio en los dos extremos. Descarta los resultados de clips por debajo de una duración mínima. Vigila si el modelo emite texto sin energía de audio que le corresponda y descártalo. En el lado del formato, rechaza cualquier reescritura que añada una palabra con contenido que la transcripción no tenía, para que el modelo de formato tampoco pueda alucinar. Una herramienta que hace todo esto aún te entenderá mal de vez en cuando; nunca debería inventarse una frase.
Cómo reducir las alucinaciones de Whisper desde la línea de comandos
Si usas la herramienta de línea de comandos de Whisper, de código abierto, con grabaciones y se inventa o repite texto, la herramienta tiene opciones documentadas pensadas justo para esto. No eliminan el problema, pero atacan sus dos formas habituales: texto inventado sobre un silencio y un pasaje que se repite en bucle.
Los autores de Whisper describen estas comprobaciones como un apaño para las predicciones con ruido, no como una solución, así que contrasta el resultado con el audio después de cambiarlas.
- Abre Terminal y procesa el archivo una vez con los ajustes por omisión, por ejemplo: whisper recording.wav --model turbo. Anota dónde aparece el texto inventado o repetido.
- Si un pasaje se repite, vuelve a ejecutarlo con --condition_on_previous_text False. La documentación dice que el texto puede quedar menos coherente entre ventanas, pero el modelo tiende menos a quedarse atascado en un bucle de fallos.
- Si aparece texto sobre un silencio, añade --word_timestamps True --hallucination_silence_threshold 2. Con las marcas de tiempo por palabra activadas, esto se salta los silencios de más de esos segundos cuando se detecta una posible alucinación.
- Deja --no_speech_threshold en su valor por omisión de 0.6 y --logprob_threshold en su valor por omisión de -1.0, salvo que tengas un motivo para cambiarlos. Entre los dos deciden cuándo un segmento se trata como silencio.
- Recorta los silencios largos del principio y del final de la grabación con cualquier editor de audio y vuelve a ejecutarlo, para que el modelo tenga menos audio sin voz.
- Compara la nueva transcripción con el audio en los puntos que anotaste en el primer paso.
Alucinación o error de oído: cómo distinguirlos
Un error de oído es una palabra equivocada en el lugar donde dijiste otra. Suena como lo que dijiste, y se entiende por qué el modelo la eligió. Una alucinación no tiene ningún origen en el audio. El artículo de Whisper describe el caso extremo como una transcripción que no tiene nada que ver con el audio real.
La diferencia importa porque las soluciones son distintas. Un error de oído mejora con un micrófono mejor, una dicción más clara o una entrada en el diccionario. Una alucinación se evita manteniendo el silencio y el ruido lejos del modelo, o descartando lo que el propio modelo generó sin seguridad.
- El texto que aparece donde estabas en silencio o ya habías dejado de hablar es una alucinación.
- La misma frase repetida varias veces seguidas es un bucle de repetición, que el artículo de Whisper cuenta como un fallo distinto de la alucinación.
- Una palabra equivocada que suena como la correcta es un error de oído.
- Que falten las primeras o las últimas palabras de una grabación es un tercer fallo que nombra el artículo de Whisper, y es una omisión, no una alucinación.
Cómo decide Whisper que su propio resultado ha fallado
El código abierto de Whisper comprueba cada ventana de 30 segundos después de decodificarla. Si la probabilidad logarítmica media de los tokens generados es inferior a -1,0, o la tasa de compresión gzip del texto es superior a 2,4, la ventana se da por fallida y se vuelve a decodificar a una temperatura más alta. El texto muy repetitivo se comprime bien, y por eso la tasa de compresión detecta los bucles.
Sobre el silencio, el artículo señala que la probabilidad del token de ausencia de voz no basta por sí sola para detectar una ventana sin voz. Combinar un umbral de ausencia de voz de 0,6 con el umbral de probabilidad logarítmica de -1 hace la detección más fiable. La ficha del modelo sigue incluyendo las alucinaciones y el texto repetitivo entre sus limitaciones conocidas.
Preguntas que hace la gente.
¿Por qué mi app de dictado escribió algo que nunca dije?
Lo más probable es que el reconocedor recibiera audio sin habla, como el silencio al final de una grabación, o un clip muy corto, y produjera de todos modos una frase verosímil. Es un comportamiento conocido de los modelos por lotes y se puede evitar con detección de actividad de voz y recorte de silencios.
¿La etapa de formato también puede alucinar?
Sí, si es un modelo de lenguaje que reescribe tu transcripción con total libertad. La protección es una regla: la salida puede quitar muletillas y corregir la puntuación, pero nunca puede añadir una palabra con contenido que no dijiste, y una reescritura que rompe esa regla se descarta.
¿Por qué Whisper repite la misma frase una y otra vez?
La ficha del modelo Whisper dice que su arquitectura de secuencia a secuencia lo hace propenso a generar texto repetitivo. En la herramienta de línea de comandos de código abierto, usar --condition_on_previous_text False hace que el modelo tienda menos a quedarse atascado en ese bucle.
¿Un modelo de Whisper más grande evita las alucinaciones?
No de forma fiable. El artículo de Whisper dice que los modelos más grandes avanzaron de forma constante en los errores de percepción, como confundir palabras que suenan parecido, pero que los bucles de repetición y las alucinaciones son más persistentes y son un problema de decodificación.
¿Una alucinación es lo mismo que un error de transcripción?
Es un tipo de error de transcripción. La mayoría de los errores son cosas que sí dijiste y se oyeron mal, mientras que una alucinación es texto sin ningún origen hablado, y cuenta como una inserción al calcular la tasa de error por palabra.