Hoy lanzamos Whistle, un modelo abierto de reconocimiento de voz diseñado para móviles, wearables, robots, dispositivos domésticos inteligentes, sistemas de automoción y microcontroladores. Es un único archivo de 16,9 MB que se ejecuta en la CPU sin dependencias. Se carga en el mismo motor C++ que Needle, compartiendo su contenedor y su cuantización, de modo que un solo binario puede convertir un clip de voz directamente en llamadas a herramientas.
Whistle realiza tres tareas por completo en el dispositivo. Transcribe hasta 30 segundos de audio mono de 16 kHz en inglés, alemán, francés, español, italiano, neerlandés y polaco, detectando el idioma salvo que se indique uno. Genera marcas de tiempo por palabra, con inicio, fin y probabilidad de cada palabra, alineadas a partir de la atención del decodificador. También puede emitir una incrustación de voz, una fila por cada fotograma de 80 ms, sin decodificar una transcripción. El modelo alcanza el primer token en 11 ms.
La arquitectura tiene dos mitades. La parte frontal convierte el audio en 80 bandas log-mel y utiliza un bloque convolucional para reducir 30 segundos a 375 fotogramas. El codificador aplica después ocho bloques Simple Attention compartidos con Needle, con una atención no causal, de modo que un fotograma en el segundo 3 puede atender a uno en el segundo 12. El decodificador usa ocho bloques Laddered Simple Attention de anchura 512, con atención cruzada controlada por puertas en cada capa que lee la salida del codificador. Estas proyecciones se calculan una vez por clip, así que cinco rutas de búsqueda en haz cuestan solo cinco cachés de transcripción cortas en lugar de cinco pasadas sobre el audio.
La decodificación usa cinco haces puntuados por probabilidad logarítmica normalizada por longitud. El sesgo de palabras clave recorre un autómata Aho-Corasick sobre las frases que proporciona el usuario, elevando su probabilidad conforme avanza la búsqueda. El vocabulario tiene 8.192 piezas de texto más siete tokens de idioma, y las transcripciones se limitan a 320 tokens.
El modelo también está disponible en un entorno de prueba en el navegador, donde el audio nunca sale del dispositivo.
Fuente: Hacker News · Resumido por HeadlinesBriefing