- La detección de turnos es una de las funciones más importantes en el stack de IA de voz; es la tecnología que determina el momento en que un agente de voz debe responder cuando una persona está hablando
- La mayoría de los agentes de voz se basan en VAD (Voice Activity Detection) para dividir el audio en segmentos de voz y no voz, por lo que no reflejan el significado acústico ni lingüístico
- Los humanos realizan la detección de turnos mediante señales complejas como la gramática, la entonación y la velocidad del habla
- Objetivo: construir un modelo más cercano a las expectativas humanas que los enfoques basados en VAD
- Proyecto de desarrollo de un modelo de detección de turnos de audio open source, impulsado por la comunidad
- Licencia BSD de 2 cláusulas → cualquiera puede usarlo, hacer fork y contribuir
- El proyecto comenzó en el ecosistema de Pipecat
- Pipecat: framework open source e independiente de proveedores para IA de voz y multimodal
- Objetivos del proyecto
- Objetivos de alto nivel
- Fácil de usar para cualquiera
- Fácil de desplegar en producción
- Fácil de fine-tunear para adaptarlo a aplicaciones específicas
- Limitaciones actuales del modelo
- Solo soporta inglés
- Velocidad de inferencia relativamente lenta: aprox. 150 ms en GPU y aprox. 1500 ms en CPU
- Los datos de entrenamiento se centran principalmente en palabras de relleno incompletas que aparecen al final de los segmentos
- Objetivos de mediano plazo
- Soporte para varios idiomas
- Tiempo de inferencia: menos de 50 ms en GPU y menos de 500 ms en CPU
- Incluir datos de entrenamiento con una gama más amplia de matices del habla
- Construir un pipeline completamente sintético de generación de datos
- Soporte para conditioning basado en texto (p. ej., ingreso de tarjeta de crédito, número telefónico, dirección, etc.)
- Arquitectura del modelo
- Basado en el backbone Wav2Vec2-BERT de Meta AI (número de parámetros: 580M)
- Usa datos de audio para aprendizaje no supervisado de 143 idiomas y 4.5 millones de horas
- Estructura actual del modelo:
- Wav2Vec2-BERT → clasificador de 2 capas (
classification head)
- Usa
Hugging Face Wav2Vec2BertForSequenceClassification
- Arquitectura en experimentación:
- Se está probando si un clasificador simple seguirá siendo efectivo incluso al ampliar el dataset
- Se está evaluando la posibilidad de introducir una estructura más compleja
1 comentarios
Comentarios en Hacker News
He usado pipecat y me gustó. Pero me cambié a sherpa-onnx, que compila de forma nativa y puede ejecutarse en dispositivos edge
Hoy hubo algunas actualizaciones interesantes
Obtuve la mayoría de las respuestas en el README. Está bien escrito
Me pregunto si podrían compartir los recursos y la cantidad necesaria para hacer fine-tuning de Wav2Vec2-BERT
Me pregunto qué es la detección de turnos
Me alegra ver que esta tecnología siga avanzando
Como persona diagnosticada con autismo HF, me gustaría aplicar esta tecnología a un auricular
Después de revisar algunos modelos basados en turnos, la implementación es muy consistente. Tengo ganas de ver cómo evoluciona esta tecnología
Ojalá Vedal integrara esta tecnología en el modelo de Neuro-sama. Un caso de pasar de bot de osu a AI Vtuber
Me pregunto si admite varios hablantes
Haciendo fork