1 pontos por GN⁺ 2025-07-23 | 1 comentários | Compartilhar no WhatsApp
  • No modelo Whisper, ao inserir um arquivo wav completamente silencioso, ocorre um fenômeno em que ele sempre alucina e gera o mesmo texto em árabe, "ترجمة نانسي قنقر" (Translation by Nancy Qunqar)
  • Se você gerar um áudio silencioso com ffmpeg e executar o Whisper especificando o idioma árabe e o modelo large-v3, ele sempre produz o mesmo resultado
  • Isso sugere que o modelo Whisper foi treinado de forma a interpretar áudio silencioso como um texto específico
  • Em modelos anteriores (small etc.), era possível suprimir isso até certo ponto ajustando parâmetros como suppress_tokens, initial prompt e logprob_threshold, mas no v3 (especialmente large-v3) o efeito é pequeno
  • Como solução alternativa, foi proposto "usar VAD (Voice Activity Detection)" ou filtrar previamente os trechos silenciosos do áudio

Sintoma do problema

  • Foi relatado um problema no Whisper large-v3 em que, para áudio silencioso, ele sempre alucina e gera a frase em árabe "ترجمة نانسي قنقر"
  • Gerar um arquivo wav de 30 segundos de silêncio com ffmpeg da seguinte forma
    ffmpeg -f lavfi -i anullsrc=r=44100\:cl=stereo -t 30 silence.wav
  • Exemplo de execução do comando Whisper
    whisper ./silence.wav --language Arabic --model large-v3
  • Resultado:
    \[00:00.000 --> 00:29.980] ترجمة نانسي قنقر

Causa e análise

  • Modelos Whisper mais recentes, como o large-v3, tendem a gerar saídas alucinatórias arbitrárias para silêncio, em vez de seguir abordagens antigas como descrição de áudio
  • Modelos anteriores (small etc.) também geram saídas variadas (aleatórias) em silêncio, mas é possível controlá-las parcialmente com várias opções como suppress_tokens, initial prompt e logprob_threshold
  • No v3, os métodos acima não funcionam bem e aparece um resultado alucinatório fixo

Sugestões de contorno e solução

  • Aplicar VAD (Voice Activity Detection): executar o Whisper apenas nos trechos do áudio em que realmente há voz, sem enviar o silêncio como entrada
  • Ajuste de parâmetros como suppress_tokens, initial prompt e logprob_threshold: em alguns modelos funciona, mas no large-v3 o efeito é mínimo
  • Áudios completamente silenciosos ou com sinal muito fraco precisam de pós-processamento por outro método, em vez de depender do Whisper

Outras discussões

  • Houve também discussão adicional sobre a existência de um modelo melhor do que o large-v3 para árabe, mas nenhum modelo alternativo claro foi apresentado

1 comentários

 
GN⁺ 2025-07-23
Comentário no Hacker News
  • ao transcrever áudio em chinês com o whisper-large-v3, já vi várias vezes trechos de silêncio saírem como frases aleatórias tipo “curta, compartilhe e adicione aos favoritos”, o que levanta a suspeita de que, no treinamento do modelo, coletaram dados aleatoriamente de vídeos do YouTube sem selecionar cuidadosamente material útil

    • em transcrições em chinês, também já vi ele acrescentar frases como "legenda para fins de pesquisa/estudo. Por favor, apague após 48 horas.", que é um aviso de isenção que voluntários costumam adicionar às legendas de filmes ou séries (piratas)
    • mesmo usando outros modelos, continuo vendo trechos de silêncio virarem coisas como “obrigado por assistir!” ou ‘[MUSIC]’, e é frustrante que esse tipo de erro não tenha sido filtrado no processo de QA e se repita em vários modelos de transcrição, sendo que é extremamente comum o áudio de entrada conter períodos de silêncio
    • quando testei o whisper, fiquei com a impressão de que ele não vai bem com vídeos gravados do YouTube ou de celular, provavelmente porque grande parte do material de treino deve ser legenda ou roteiro, os vídeos que tentei eram em chinês (mandarim), e usando o whisper-large-v3 saíram mal-entendidos típicos e resultados sem sentido, mas ainda assim o desempenho era bem superior ao de outros softwares, só que ele inventava nomes de falantes e os colocava no começo das falas, alternava ocasionalmente entre chinês simplificado e tradicional, e nos trechos de silêncio repetia a última frase ou às vezes inseria texto em inglês que parecia instrução de direção de cena, não vi nada como legendas ou créditos finais, mas em um vídeo o falante estava resfriado e fungou o nariz, e o whisper transcreveu isso como “* crying ”, e traduziu uma tosse como “ door closing *”, a linha seguinte também acabou transcrita com um conteúdo bem grosseiro, quando cortei a parte do fungado, a transcrição estranha desapareceu, mas aí ele voltou a trocar para tradicional
    • é uma sensação parecida com “se você colocar jeans em uma calculadora, será que sai uma resposta correta?”
    • quando o YouTube começou a criar a função de legendas automáticas, ele sempre marcava ruído ou música (especialmente barulho de ambiente industrial etc.) como “[foreign]”, há muito tempo sons que ele não entende são tratados como “foreign”
  • com LLM acontece a mesma coisa, é um caso clássico de "overfitting" para dados enviesados e pouco claros, parecido com devolver uma resposta automática de ausência do escritório como se fosse a tradução, artigo relacionado https://www.theguardian.com/theguardian/2008/nov/01/5

    • fico na dúvida se isso é mesmo overfitting ou se é mais um problema de qualidade ou classificação dos dados
  • para poupar tempo de busca: o árabe "رجمة نانسي قنقر" significa "tradução de Nancy Qanqar" ou "traduzido por Nancy Qanqar", "رجمة" é tradução e "نانسي قنقر" é um nome

    • em tcheco, o whisper frequentemente transcreve silêncio como “Titulky vytvořil JohnyX” (legendas feitas por: JohnyX), pelo mesmo motivo
    • apontam que a grafia está errada, o correto não é "رجمة", mas sim "ترجمة", com um ت no começo
    • a causa dessas transcrições é que os dados de treino vêm principalmente de legendas não oficiais de filmes, e essas legendas frequentemente incluem no final algo como “traduzido por XXX”; nesse momento a legenda está na tela, mas no áudio há silêncio
  • o Whisper alucina tanto que chega a ser inutilizável, isso já foi bem documentado várias vezes, remover o silêncio do áudio ajuda um pouco, mas ainda há problemas como correção gramatical automática (por exemplo, em tradução de fala bilíngue), melhorou nos modelos de áudio mais recentes, mas não foi resolvido por completo https://news.ycombinator.com/item?id=43427376

    • pessoalmente, em vez de dizer que “é inutilizável”, acho que o ponto é entender primeiro as limitações do Whisper e encontrar formas de contorná-las, eu construí um negócio em cima do Whisper, e no começo foi crucial introduzir um modelo de detecção de atividade de voz (VAD) para reduzir alucinações, referência https://speechischeap.com
    • isso é problema quando se usa só o modelo grande, ele sempre precisa ser combinado com um modelo satélite menor ou alguma lógica auxiliar, alucinações podem ser detectadas com facilidade até com modelos clássicos de ML/DL, em trechos de silêncio não deveria haver texto, e é fácil escrever código para detectar isso
    • correção gramatical automática também é comum em legendas normais, vídeo de referência: "por que as legendas são diferentes da dublagem?" https://youtu.be/pU9sHwNKc2c
  • mesmo na versão em inglês do Whisper, ao reproduzir silêncio aparecem com frequência coisas como “[ sub by sk cn2 ]”, “de qualquer forma, obrigado por assistir! Não esqueça de se inscrever e curtir! Tchau!” ou “este vídeo terminou. Obrigado por assistir. Se foi útil, inscreva-se no canal.”

    • isso acontece porque o modelo é treinado com mídia pirata ou vídeos do YouTube, é um método eficiente, mas traz risco de falta de controle de qualidade ou problemas de direitos autorais
  • em russo, também costuma aparecer no final a alucinação “Субтитры сделал DimaTorzok” (legendas feitas por: DimaTorzok), fui até procurar no YouTube para ver se realmente havia tantas legendas com isso, mas não parece haver tantas assim

  • quando os primeiros 30 segundos de uma ligação gravada são toque de chamada ou DTMF (algo que quase sempre acontece ao ligar para empresas), o Whisper frequentemente escolhe o idioma errado, como nynorsk ou galês, não cheguei a verificar que texto ele transcreve nesses casos, mas provavelmente sai algo igualmente sem sentido, para mim isso não é um problema prático, mas pode ser bem inconveniente para centrais bilíngues

  • sobre a pergunta “quem é Nicolai Winther?”, https://medium.com/@lehandreassen/who-is-nicolai-winther-985409568201

    • deixou a frase: “no futuro, todo mundo será famoso por 15 minutos em sua própria microcomunidade técnico-linguística de nicho, em plena era da avalanche de IA”
  • defendem que o título deveria ser mudado para "OpenAI, prova exposta de que treinou com filmes piratas"

    • claro, se tiver dinheiro suficiente, até treinar com conteúdo ilegal vira algo legal
    • fico em dúvida se isso realmente pode ser considerado prova, o fato de usarem material com direitos autorais que já era permitido desde a origem, vindo de comunidades de legenda online ou DVDs, já é algo amplamente conhecido no setor, e o uso de vários materiais protegidos por direitos autorais no treinamento de modelos de IA já foi mostrado antes
    • o Hacker News é muito rigoroso com edição subjetiva de títulos, mesmo que não haja dúvida factual, mudar o título desse jeito faria a postagem ser denunciada imediatamente
  • também há a piada de que “talvez a Nancy Qunqar tenha transcrito tudo manualmente, uma por uma”, com mensagens de apoio do tipo “força, Nancy! Continue firme!”

    • há suspeita de que isso seja spam, esse nome só aparece no Instagram e nesta thread, então fica a dúvida se não seria um novo tipo de spam para ganhar seguidores no Instagram