Whisper e Gemma 3 são conectados com aprendizado contrastivo para entrada de voz barata em LLMs

Adicionar voz a um LLM com pouco custo se mostrou mais difícil do que os papers prometem. O autor conectou Whisper Medium e Gemma 3 4B por meio de um projetor MLP e testou teacher forcing, LoRA, quantização e várias regularizações, mas o progresso real só veio com o InfoNCE contrastivo. A primeira execução bem-sucedida chegou a um WER de 35%. Está longe de um ASR de produção, mas o modelo já reconhece fala e erra de modo foneticamente coerente.

Processado por IA de Habr AI; editado por Hamidun News
Whisper e Gemma 3 são conectados com aprendizado contrastivo para entrada de voz barata em LLMs
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dado-chave #1LibriSpeech train.360 como base do corpus
Dado-chave #2LibriSpeech train.100 como inglês limpo adicional
Dado-chave #3Russian LibriSpeech para fala em russo

Adicionar entrada de voz a um LLM de forma econômica se mostrou menos simples do que sugerem muitos trabalhos sobre multimodalidade. O autor do experimento tentou conectar o codificador de áudio Whisper e o modelo de linguagem Gemma 3 por meio de um projetor compacto e, depois de uma série de fracassos, chegou a uma configuração funcional com aprendizado contrastivo.

Como a arquitetura foi montada

A ideia era simples: em vez de treinar do zero um sistema multimodal caro, pegar um codificador de áudio e um LLM prontos e uni-los com um "tradutor" entre os espaços de embeddings. Como codificador, escolheram o Whisper Medium, porque suas representações internas são mais adequadas ao reconhecimento de fala do que as de alternativas autossupervisionadas. Do lado do texto, usaram o Gemma 3 4B, e a ponte foi um projetor MLP de duas camadas que comprimia os vetores de áudio e os traduzia para o espaço de embeddings do LLM.

Para não treinar o modelo apenas com inglês limpo de estúdio, o fluxo de treinamento foi montado a partir de vários conjuntos de dados e misturado dinamicamente. Assim, o sistema recebeu desde o início fala de qualidade, idioma e modo de pronúncia variados. O artigo destaca que essa mistura não serve para gerar estatísticas bonitas, mas para que, desde as primeiras épocas, o sistema não se acostume a um único ambiente acústico e a um único idioma. Caso contrário, qualquer desvio, como ruído, uma pausa ou um trecho em russo, quebraria o reconhecimento.

  • LibriSpeech train.360 como base do corpus
  • LibriSpeech train.100 como inglês limpo adicional
  • Russian LibriSpeech para fala em russo
  • DisfluencySpeech com pausas, lapsos e gagueiras

Por que tudo quebrava

A primeira aposta foi a receita mais óbvia: teacher forcing e entropia cruzada comum sobre a transcrição. O LLM recebia uma instrução, os vetores de áudio e o texto correto, e a perda era calculada apenas sobre os tokens da resposta. Na prática, o sistema quase não ouvia a gravação: o modelo gerava fragmentos desconexos, e o WER chegava a travar perto de 300%. Mesmo após adicionar LoRA, ficou claro que o problema era mais profundo: o projetor não levava o sinal de áudio até onde o modelo de linguagem sabe lê-lo. O Gemma mantinha um prior forte demais sobre a geometria habitual dos tokens de texto.

Depois veio uma série de correções pontuais. O autor adicionou um estágio zero em que o Gemma primeiro apenas aprendia a reescrever texto conforme uma instrução, porque a versão usada não era a instruction-tuned. Em seguida vieram experimentos com quantização e regularizações: a commitment loss devia manter as saídas do projetor perto de embeddings conhecidos, o SWD aproximar as distribuições dos vetores de áudio e de texto, a entropy loss forçar o sistema a usar mais códigos, e o VICReg impedir o colapso de coordenadas individuais.

Visualizações t-SNE ajudaram a enxergar as duas doenças principais: o colapso das representações e a lacuna geométrica entre os espaços de áudio e de texto. Mas cada novo ajuste tratava só um sintoma. O SWD melhorava a forma da distribuição sem melhorar o conteúdo. A entropy loss ampliava o uso de códigos, mas de forma aleatória. O VICReg aumentava a variância, porém os vetores se dispersavam caoticamente. Repetidamente, o sistema achava um atalho em que as métricas pareciam melhores localmente, sem que surgisse reconhecimento real. Essa foi a principal lição da etapa de regularizações: com um sinal principal fraco, o modelo otimiza a matemática, não o significado.

O que funcionou no fim

O ponto de virada foi abandonar a ideia de que o alinhamento pode ser obtido apenas com penalidades indiretas. O autor fez do aprendizado contrastivo o sinal principal e passou ao InfoNCE simétrico: o vetor de áudio deve ficar mais perto da sua transcrição do que de todos os outros textos do lote, e vice-versa. Ao contrário dos regularizadores anteriores, essa perda define não estatísticas gerais, mas relações concretas entre pares.

Com um lote grande, funcionou claramente melhor: a curva de perda passou a cair de forma uniforme e sem saltos bruscos, e o WER caiu para 35%. O resultado ainda não alcança o nível dos sistemas ASR comerciais, mas já não é ruído aleatório. Nos logs, o modelo passou a errar de modo foneticamente plausível: captava o som das palavras e se confundia mais como uma pessoa com audição ruim do que como um gerador de texto quebrado. Para uma primeira rodada, isso importa mais que o valor absoluto do WER: o sistema deixou de imitar uma resposta e passou a usar de fato o som. O autor vê isso como o principal sinal de progresso.

"Mas o principal é que ela já ouve."

O que isso significa

Este caso mostra que uma modalidade de áudio barata para LLMs locais é possível, mas não por meio do projetor MLP "mágico" dos papers. A combinação simples de um codificador pronto com um LLM só começa a funcionar quando surge entre eles um sinal de alinhamento forte. Para desenvolvedores, essa é uma conclusão importante: se você quer adicionar voz ao seu próprio modelo sem um treinamento caro do zero, a etapa contrastiva pode ser não uma opção, mas uma base obrigatória.

Perguntas frequentes sobre a notícia

Como a arquitetura foi montada?

A ideia era simples: em vez de treinar do zero um sistema multimodal caro, pegar um codificador de áudio e um LLM prontos e uni-los com um "tradutor" entre os espaços de embeddings. Como codificador, escolheram o Whisper Medium, porque suas representações internas são mais adequadas ao reconhecimento de fala do que as de alternativas autossupervisionadas. Do lado do texto, usaram o Gemma 3 4B, e a ponte foi um projetor MLP de duas camadas que comprimia os vetores de áudio e os traduzia para o espaço de embeddings do LLM. Para não treinar o modelo apenas com inglês limpo de

Por que tudo quebrava?

A primeira aposta foi a receita mais óbvia: teacher forcing e entropia cruzada comum sobre a transcrição. O LLM recebia uma instrução, os vetores de áudio e o texto correto, e a perda era calculada apenas sobre os tokens da resposta. Na prática, o sistema quase não ouvia a gravação: o modelo gerava fragmentos desconexos, e o WER chegava a travar perto de 300%. Mesmo após adicionar LoRA, ficou claro que o problema era mais profundo: o projetor não levava o sinal de áudio até onde o modelo de linguagem sabe lê-lo. O Gemma mantinha um prior forte demais sobre a geometria habit

O que funcionou no fim?

O ponto de virada foi abandonar a ideia de que o alinhamento pode ser obtido apenas com penalidades indiretas. O autor fez do aprendizado contrastivo o sinal principal e passou ao InfoNCE simétrico: o vetor de áudio deve ficar mais perto da sua transcrição do que de todos os outros textos do lote, e vice-versa. Ao contrário dos regularizadores anteriores, essa perda define não estatísticas gerais, mas relações concretas entre pares. Com um lote grande, funcionou claramente melhor: a curva de perda passou a cair de forma uniforme e sem saltos bruscos, e o WER caiu para 35%.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…