Whistle: Modelo de Reconhecimento de Fala Leve para Dispositivos Móveis
O projeto Whistle foi lançado como um modelo de reconhecimento de fala otimizado para dispositivos móveis, wearables, robôs, casas inteligentes, automóveis e microcontroladores. O arquivo tem 16,9 MB e executa na CPU sem dependências externas, utilizando o mesmo motor C++ do Needle.
O sistema opera em três etapas principais. Na etapa frontal, áudio de 16 kHz é processado com janelas de 25 ms e saltos de 10 ms em 80 bins de mel log, limitados a 250-3500 Hz e normalizados por canal. Cada estágio subsequente mantém essa taxa, resultando em 375 quadros por segundo. O bloco codificador contém oito blocos de atenção simples, combinando quatro linhas residuais mHC e um MLP de Hadamard Monarchy no lugar da rede feed-forward do Needle. A atenção não é causal, permitindo que um quadro em 3 segundos atenda a um quadro em 12 segundos.
A etapa de decodificação utiliza oito blocos de atenção simples em escada com largura 512, oito cabeças de consulta para duas cabeças de chave-valor, consultas e chaves de 48 dimensões, valores de 64 dimensões, convoluções causais de três tapas sobre Q, K e V, e buscas de engramas nas camadas 3 e 7 com 18.432 posições. Isso representa uma variação no número de camadas comparado ao Needle.
O componente específico de fala adiciona uma transição por camada através de atenção cruzada controlada por porta. Cinco feixes geram cinco caches de transcrição curtas, sem necessidade de múltiplas passagens pelo áudio. A decodificação prioriza comprimento normalizado e usa biasseamento de palavras com autômato Aho-Corasick, limitando a transcrição a 320 tokens. O vocabulário contém 8.192 pedaços de texto mais sete tokens de linguagem, um por idioma.
Em termos de desempenho, o Whistle supera o Whisper base em testes como TED-LIUM, AMI e média FLEURS. Por outro lado, o Whisper original lidera em TED-LIUM, AMI e média MLS, com tamanho de 145,3 MB contra os 16,9 MB do Whistle. Os erros de palavra foram medidos em 86.174 instâncias, seguindo os normalizadores publicados pela equipe do Whisper.
O modelo está disponível em dezenove plataformas, desde sistemas operacionais macOS e Linux até Android, iOS, watchOS, Windows on ARM, RISC-V, MIPS, navegadores e componentes WASI. As implementações são embutidas em binários prontos no repositório Cactus-Compute/needle3, com suporte a bibliotecas como soxr e sounddevice para diferentes taxas de amostragem e capturas de microfone.
Com informações de: Hacker News (Y Combinator)