HeadlinesBriefing HeadlinesBriefing.com

Whistle: voz em texto aberta em 16,9 MB

Hacker News •
×

Hoje lançamos o Whistle, um modelo aberto de reconhecimento de voz criado para celulares, wearables, robôs, dispositivos de casa inteligente, sistemas automotivos e microcontroladores. Trata-se de um único arquivo de 16,9 MB que roda na CPU sem dependências. Ele é carregado no mesmo motor C++ do Needle, compartilhando seu contêiner e sua quantização, de modo que um único binário pode transformar um trecho de fala diretamente em chamadas de ferramentas.

O Whistle realiza três tarefas inteiramente no dispositivo. Ele transcreve até 30 segundos de áudio mono de 16 kHz em inglês, alemão, francês, espanhol, italiano, holandês e polonês, detectando o idioma, a menos que um seja informado. Produz marcações de tempo por palavra, com início, fim e probabilidade de cada palavra, alinhadas a partir da atenção do decodificador. Também pode gerar uma incorporação de fala, uma linha por quadro de 80 ms, sem decodificar uma transcrição. O modelo alcança o primeiro token em 11 ms.

A arquitetura tem duas metades. O front end converte o áudio em 80 faixas log-mel e usa um estágio convolucional para reduzir 30 segundos para 375 quadros. Em seguida, o codificador aplica oito blocos Simple Attention compartilhados com o Needle, com atenção não causal, de forma que um quadro em 3 segundos pode prestar atenção a um quadro em 12 segundos. O decodificador usa oito blocos Laddered Simple Attention com largura 512, com atenção cruzada controlada por portas em cada camada que lê a saída do codificador. Essas projeções são calculadas uma vez por trecho, então cinco caminhos de busca em feixe custam apenas cinco caches curtos de transcrição, em vez de cinco passagens sobre o áudio.

A decodificação usa cinco feixes pontuados pela probabilidade logarítmica normalizada pelo comprimento. O viés de palavras-chave percorre um autômato Aho-Corasick sobre as frases fornecidas pelo usuário, elevando a probabilidade delas conforme a busca avança. O vocabulário tem 8.192 peças de texto mais sete tokens de idioma, e as transcrições são limitadas a 320 tokens.

O modelo também está disponível em um sandbox no navegador, onde o áudio nunca sai do dispositivo.

Fonte: Hacker News · Resumido por HeadlinesBriefing