Agradecimentos especiais: Statsig Team + Timothy Chan, James Kirk, Mike Vernal, Patrick Phipps e Jessica Owen
A OpenAI publicou um novo modelo de inteligência artificial que pode transcrever a fala com precisão quase humana. Conhecido como Sussurrar, o modelo comete 50% menos erros do que seus antecessores. Fizemos um teste A/B em Statsig comparando a taxa de erro do Whisper com o carro-chefe do Google Conversão de fala em texto API. O objetivo do teste era entender qual plataforma produz menos erros de transcrição na carga de trabalho de produção da Caption e como a mudança no modelo de IA afeta a experiência do usuário.
Os resultados mostram que o Whisper é claramente o vencedor em termos de precisão de transcrição.
Apresentando Captions
O Captions é um novo estúdio de criação móvel que usa IA para ajudar os criadores em todo o processo de criação de conteúdo, do script à gravação, edição e compartilhamento. Nosso aplicativo oferece uma interface de edição de vídeo baseada em transcrição que torna a edição de vídeo tão simples quanto a edição de texto. Também produzimos legendas com aparência profissional, palavra por palavra, que são sincronizadas com a voz sem a necessidade de serviços caros de transcrição humana.
O Captions usa IA para transcrever vídeos em tempo real e oferece um editor de transcrição intuitivo para fazer as atualizações desejadas. Quando Captions retorna resultados imprecisos, ela cria trabalho adicional para nosso usuário e diminui a qualidade geral de sua experiência. Nós nos esforçamos para minimizar o número de correções que nossos usuários precisam fazer nas transcrições produzidas por nossa IA. Para esse fim, estamos sempre buscando o modelo de Reconhecimento Automático de Fala (ASR) mais preciso. Estamos executando a API Speech-to-Text do Google em produção no último ano e ela está funcionando bem. Mas queríamos ver o que o Whisper poderia fazer.
A jornada para a produção
Nossa jornada começa com uma prova de conceito. O OpenAI oferece instruções de instalação para o Whisper Biblioteca Python. Convertemos essas instruções em um Dockerfile e usamos o Google Cloud Console para provisionar um Máquina NVIDIA A100 para executar nosso aplicativo em contêiner.
O aplicativo escuta um tópico do PubSub. Cada mensagem no tópico representa uma solicitação de transcrição com a localização do arquivo de áudio e um ID de solicitação. À medida que as mensagens chegam, o aplicativo executa o Whisper para transcrever os arquivos de áudio e grava seus resultados em um banco de dados.
Usando Statsig's portões característicos, direcionamos usuários internos para nossas rodadas iniciais de testes. Statsig é uma ferramenta estatística abrangente que fornece análises em tempo real e tem uma interface de usuário simples. É nossa ferramenta ideal para executar testes A/B e analisar resultados.
Com o pipeline do Whisper conectado ao frontend, reunimos a equipe para uma análise de bugs. Nós nos inspiramos em nossa caixa de entrada de clientes para identificar vídeos que poderiam testar os limites do Whisper. No último ano, usamos o Google para criar transcrições para nossos clientes e registramos quando o Speech-to-Text teve um desempenho particularmente ruim. Esses vídeos compartilhavam características comuns:
- ruído de fundo, como ruído ambiente, ruído externo ou música tocando em segundo plano
- o palestrante está tocando música (canto, rap, poesia falada)
- apresenta pessoas falando inglês com sotaque
- fala rápida
Reunimos cerca de 20 vídeos que exibiram uma ou mais das características listadas e comparamos o desempenho entre os competidores. Ficamos impressionados com o quanto o Whisper superou nosso sistema existente em precisão de transcrição. Em um exemplo, vimos Whisper transcrever perfeitamente “Godzilla” de Eminem — um feito considerando que a música detém o Recorde Mundial do Guinness de Rap Mais Rápido em um Single No.1, com 224 palavras em 31 segundos. O Speech-to-Text do Google não estava nem perto de transcrevê-lo. Se você está duvidando de Whisper porque as letras de Eminem estão disponíveis publicamente, temos um vídeo para você. O Whisper é capaz de transcrever com precisão até mesmo o rap freestyle mais complicado, conforme demonstrado pelo vídeo a seguir do rapper Mac Lethal com 400 palavras em um minuto.
Declaramos Whisper o vencedor da rodada de testes internos. Nosso novo objetivo era enviá-lo para produção para ver como funcionaria em condições reais. No entanto, havia dois desafios principais que precisavam ser resolvidos: infraestrutura escalável e registros de data e hora em nível mundial.
Como fizemos o Whisper funcionar para Captions
Escalável Infraestrutura
O modelo da mais alta qualidade do Whisper é intensivo em termos de uso de GPU e memória. Como nosso objetivo é fornecer aos usuários sua transcrição em menos de um minuto, nossa infraestrutura precisa ser dimensionada adequadamente para lidar com o tráfego e atender a essas solicitações em tempo hábil. Escolhemos o Kubernetes.
O Kubernetes é um mecanismo de orquestração popular para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres. Google Kubernetes Engine (GKE) nos permite implantar rapidamente o modelo Whisper e compartilhar GPUs entre instâncias com um simples yaml. Tivemos a sorte de cronometrar nossa mudança para o GKE com o lançamento do streaming de imagens. O novo sistema do GKE melhora drasticamente o tempo de transferência de atualizações de imagem e mudanças de implementação de minutos para segundos.
Carimbos de data/hora em nível mundial
Captions permite que os usuários estilizem suas transcrições para melhor refletir sua marca e mensagem pessoais. Como parte das opções de personalização, os usuários podem optar por exibir palavras faladas, uma palavra por vez; ou definir imagens, sons, emojis e cores de fonte para palavras específicas. O desafio é que o Whisper produz registros de data e hora para segmentos, não palavras individuais. Para manter a paridade de recursos, implementamos nosso próprio algoritmo para calcular registros de data e hora em nível de palavra, utilizando um modelo que prevê a probabilidade de uma palavra em um clipe de áudio corresponder a um período de tempo específico. O algoritmo executa as seguintes etapas:
- Divida a faixa de áudio em vários arquivos, um por segmento do Whisper
- Aplique o modelo a cada trecho de áudio e texto do Whisper - o modelo gera um gráfico de probabilidades para pares de palavras e períodos de tempo
- Percorra o gráfico para determinar o par mais provável entre palavra e data e hora
- Retorna os carimbos de data/hora mais prováveis para todos os segmentos
A hipótese
Estamos coletando métricas de usuários com o Statsig's Métricas personalizadas ao longo do ano. Nossa hipótese é que o Whisper reduziria o número de correções que um usuário precisaria fazer em sua transcrição. Analisamos os seguintes eventos para testar nossa hipótese:
Statsig recomendou que usássemos métricas de proporção, um número que representa a relação entre dois valores. No nosso caso, o numerador é o número total de correções do usuário e o denominador é o número total de transcrições.
Sem métricas de proporção, podemos pensar que uma diminuição nos eventos de correção significa que os usuários não estão fazendo correções. No entanto, isso pode significar que há menos usuários no aplicativo porque eles saíram. As métricas de proporção mostram que os usuários ainda estão no aplicativo e que as correções estão realmente inativas.
O teste A/B
O experimento foi executado por duas semanas em 50% dos nossos usuários de produção. Os resultados A/B mostraram que o Whisper superou esmagadoramente o Speech-to-Text do Google. As seguintes capturas de tela do nosso console Statsig mostram os resultados do experimento.
23% menos usuários ativos diários fizeram alguma correção
20% menos adições de palavras faltantes
45% menos correções por transcrição
A melhoria é sustentada N dias desde a primeira exposição
Quando os cientistas de dados realizam testes A/B, eles podem descobrir que os resultados são afetados pelo “efeito novidade”. O efeito de novidade é quando os usuários experimentam um novo recurso por curiosidade, mesmo que o recurso não seja realmente melhor. Para verificar se há um efeito inovador, os cientistas de dados segmentam os usuários em grupos novos e antigos. Se o recurso estiver ganhando para usuários recorrentes, mas não para novos usuários, é provável que os resultados estejam sendo afetados pelo efeito de novidade. O gráfico, “Dias desde a exposição”, mostra que menos correções são mantidas bem depois da exposição inicial. Isso significa que o Whisper é mais eficaz na redução do número de correções feitas pelos usuários ao longo do tempo, em vez de apenas no curto prazo.
A visão surpreendente sobre sotaques ingleses
Nossa equipe se perguntou como o Whisper funcionaria com sotaque em inglês, pois sabíamos que isso era algo que o Speech-to-Text do Google enfrentava dificuldades. Usando Statsig's Consultas personalizadas, analisamos as mesmas métricas divididas por localidade.
62% menos falantes de inglês australiano fizeram alguma correção
65% menos falantes de inglês britânico fizeram qualquer correção
35% menos falantes de alemão-inglês fizeram qualquer correção
44% menos falantes canadense-ingleses fizeram alguma correção
Latência de transcrição
Embora nosso objetivo seja entregar as transcrições em menos de um minuto, a realidade é que os tempos de transcrição do Whisper são uma função da duração do áudio e da duração da nossa fila de solicitações. Para uma transcrição do Whisper, a latência média é 36 segundos e 99p é 124 segundos. Por outro lado, a latência média da transcrição do Google é de 6 segundos e 99p é de 111 segundos. Embora os usuários tenham expressado frustração com os longos tempos de espera, na prática, eles ainda acharam que a transcrição de alta qualidade valeu a pena esperar.
Feedback do usuário
Estatísticas à parte, nossos usuários nos escreveram com um feedback positivo sobre as transcrições aprimoradas.
E estamos descobrindo incríveis benefícios não planejados de usar o Whisper on Captions. Notavelmente, embora nosso aplicativo não ofereça suporte a transcrições em romeno (ainda!) , descobrimos que os falantes de romeno ainda conseguem usar Captions para gerar traduções de transcrição perfeitas. Sussurrar é mágico.
Conclusão
Testamos o Whisper e o Google em uma produção inédita, e o Whisper se mostrou melhor em várias categorias. Em particular, o Whisper se destacou em precisão em vídeos com fala rápida e sotaque em inglês — e, por isso, o lançamos para 100% dos nossos clientes. Descobrimos um bônus adicional, a tradução automática para texto em inglês, que nem havíamos planejado.
Estamos muito empolgados com o que mais podemos fazer com o Whisper e os futuros modelos de IA à medida que continuamos a expandir Captions.
Próximas etapas
Os resultados compartilhados nesta postagem são baseados em vídeos falados de 1 a 3 minutos em inglês, focados principalmente em um único falante. Há muitas direções a serem seguidas a partir daqui.
Suporte de idioma adicional
Desde nosso experimento, lançamos o Whisper para francês, alemão, sueco, italiano e holandês, com feedback igualmente positivo. O Captions oferece transcrições em 22 idiomas — muitos dos quais ainda são fornecidos pelo Speech-to-Text do Google. Embora Whisper tenha sido treinado em 96 idiomas Além do inglês, a equipe está trabalhando para avaliar a precisão do Whisper nos demais idiomas suportados.
Dissemos que o Whisper está traduzindo automaticamente falas não inglesas para textos em inglês. Esse é um recurso oculto interessante, que pode ser refinado em um recurso oficialmente suportado.
Infraestrutura aprimorada
O NVIDIA A100 é uma GPU topo de linha projetada para lidar com as cargas de trabalho de IA mais exigentes, com preços que refletem seu desempenho premium. No futuro, gostaríamos de experimentar diferentes tipos de máquinas/configurações de GPU para ajustar o custo e o desempenho de nossa infraestrutura Whisper.
Suporta vídeos mais longos e Diarização de vários alto-falantes
À medida que continuamos expandindo os recursos do nosso estúdio de criação móvel, queremos oferecer suporte a mais casos de uso, incluindo vídeos mais longos e vídeos com vários alto-falantes.
Esse é apenas o começo da nossa jornada. Se algum de nossos trabalhos lhe interessar, junte-se a nós na Captions. Estamos contratando!