
Construyendo un Agente de Voz efectivo para nuestros propios documentos
Resolviendo exitosamente más del 80% de las consultas de los usuarios
Presentamos Eleven v3 Alpha
Prueba v3La latencia es lo que separa las buenas aplicaciones de IA conversacional de las excelentes
Para la mayoría de las aplicaciones, la latencia es una preocupación menor. Sin embargo, para la IA conversacional, la latencia es lo que separa las buenas aplicaciones de las excelentes.
Para empezar, el objetivo de la IA conversacional es bastante ambicioso: ofrecer la misma sensación, tacto y voz de una conversación humana, superando al ser humano en inteligencia. Para lograr esto, una aplicación debe conversar sin largos espacios de silencio. De lo contrario, el realismo queda destrozado.
El desafío de la latencia de la IA conversacional se ve agravado por su naturaleza fragmentada. La IA conversacional es una serie de procesos intermedios, todos considerados de última generación en sus respectivos campos. Cada uno de estos procesos implica una latencia aditiva.
Como empresa de voz generativa, hemos dedicado mucho tiempo a estudiar cómo minimizar la latencia de la IA conversacional. Hoy queremos compartir nuestros aprendizajes, con la esperanza de que sean útiles para cualquier persona interesada en crear aplicaciones de IA conversacional.
Toda aplicación de IA conversacional implica al menos cuatro pasos: conversión de voz a texto, turnos, procesamiento de texto (es decir, LLM) y conversión de texto a voz. Si bien estos pasos se ejecutan en paralelo, cada uno de ellos aún aporta cierta latencia.
Cabe destacar que la ecuación de latencia de la IA conversacional es única. Muchos problemas de latencia de procesos se pueden reducir a un único cuello de botella. Por ejemplo, cuando un sitio web realiza una solicitud de base de datos, la latencia de la red web determina la latencia total, con solo contribuciones triviales de la latencia de VPC del backend. Sin embargo, los componentes de latencia de la IA conversacional no varían drásticamente. Son desiguales, pero la contribución de latencia de cada componente está dentro de un grado de la de los demás. En consecuencia, la latencia está determinada por una suma de partes.
El “oído” del sistema
El reconocimiento automático de voz (ASR), a veces denominado conversión de voz a texto (STT), es el proceso de convertir audio hablado en texto escrito.
La latencia de ASR no es el tiempo que tarda en generar texto. El proceso de conversión de voz a texto se ejecuta en segundo plano mientras el usuario habla. En cambio, la latencia es el tiempo entre el final del discurso y el final de la generación del texto.
En consecuencia, los intervalos de habla cortos y largos pueden generar una latencia ASR similar. Y, debido a que los modelos de conversión de voz a texto están bastante optimizados, la latencia suele ser inferior a 100 ms, incluido el viaje de ida y vuelta a través de la red. (En algunos casos, no hay latencia de red alguna ya que el modelo está integrado en el navegador, como Chrome/Chromium$
El “instinto” del sistema
El proceso de toma de turnos/interrupción (TTI) es un proceso intermedio que determina cuándo un usuario ha terminado de hablar. El modelo subyacente se conoce como Detector de Actividad de Voz (o VAD).
Los turnos de juego implican un conjunto complejo de reglas. Una breve ráfaga de discurso (por ejemplo, "ajá") no debería desencadenar un turno; de lo contrario, las conversaciones parecerían demasiado entrecortadas. En lugar de ello, debe evaluar cuándo un usuario está realmente intentando captar la atención del modelo. También debe determinar cuándo el usuario termina de transmitir sus pensamientos.
Un buen VAD no Señalar un nuevo giro siempre que detecte silencio. Hay silencio entre las palabras (y frases), y el modelo debe estar seguro de que el usuario realmente terminó de hablar. Para lograr esto de manera confiable, es necesario buscar un umbral de silencio (o más específicamente, una ausencia de habla). Este proceso fuerza un retraso que equivale a latencia para el usuario.
Técnicamente hablando, si todos los demás componentes de la IA conversacional incurrieran en... cero latencia, la latencia atribuida a TTI sería algo bueno. Los humanos tardan un momento antes de responder al habla. Una máquina que realiza una pausa similar da realismo a la interacción. Sin embargo, dado que otros componentes de la IA conversacional ya incurren en latencia, la latencia TTI mínima es ideal.
El cerebro del sistema
A continuación, el sistema necesita generar una respuesta. Hoy en día, esto normalmente se logra con un modelo de lenguaje grande (LLM), como GPT-4 o Gemini Flash 1.5.
La elección del modelo lingüístico marca una diferencia significativa. Modelos como Gemini Flash 1.5 son increíblemente rápidos y generan resultados en menos de 350 ms. Los modelos más robustos que pueden manejar consultas más complejas (como las variantes de GPT-4 y Claude) podrían tardar entre 700 ms y 1000 ms. Elegir el modelo correcto suele ser la forma más sencilla de abordar la latencia al optimizar un proceso de IA conversacional.
Sin embargo, la latencia del LLM es el tiempo que tarda en... comenzar generando tokens. Estos tokens se pueden transmitir inmediatamente al siguiente proceso de texto a voz. Debido a que la conversión de texto a voz se ralentiza según el ritmo natural de la voz humana, el LLM puede superarlo de manera confiable: lo único que importa es la latencia del primer token (es decir, el tiempo hasta el primer byte).
Hay otros factores que contribuyen a la latencia de un LLM más allá de la elección del modelo. Estos incluyen la longitud de la solicitud y el tamaño de la base de conocimientos. Cuanto mayor sea el valor, mayor será la latencia. Todo se reduce a un principio simple: cuanto más tenga que considerar el LLM, más tiempo llevará. En consecuencia, las empresas necesitan lograr un equilibrio entre una cantidad saludable de contexto sin sobrecargar el modelo.
La boca del sistema
El componente final de la IA conversacional es la conversión de texto a voz (TTS). La latencia de red de texto a voz es el tiempo que lleva comenzar a hablar después de recibir tokens de entrada del procesamiento de texto. Eso es todo: debido a que los tokens adicionales se ponen a disposición a un ritmo más rápido que el habla humana, la latencia de texto a voz **es estrictamente el tiempo hasta el primer byte.
Anteriormente, la conversión de texto a voz era particularmente lenta y demoraba entre 2 y 3 segundos para generar el habla. Sin embargo, los modelos de última generación como nuestro motor Turbo son capaces de generar voz con solo 300 ms de latencia. De hecho, nuestro motor Flash TTS V2/V2.5 puede alcanzar 200 ms de latencia de audio en el primer byte, el mejor puntaje en el campo (¡tenemos que alardear un poco!).
Más allá de los cuatro componentes, hay algunos contribuyentes adicionales a la latencia de red de la IA conversacional.
Siempre habrá latencia asociada con el envío de datos de una ubicación a otra. Para algunas aplicaciones de IA conversacional, lo ideal sería que los procesos ASR, TTI, LLM y TTS estuvieran ubicados juntos, de modo que la única fuente de latencia de red no trivial sean las rutas entre el hablante y todo el sistema.
Existen muchas aplicaciones de IA conversacional para invocar funciones (es decir, interactuar con herramientas y servicios). Por ejemplo, podría pedirle verbalmente a la IA que compruebe el tiempo. Esto requiere llamadas API adicionales invocadas en la capa de procesamiento de texto, lo que puede generar una latencia significativamente mayor según las necesidades.
Por ejemplo, si necesito pedir una pizza verbalmente, puede que sean necesarias varias llamadas API, algunas con un retraso excesivo (por ejemplo, al procesar una tarjeta de crédito).
Sin embargo, un sistema de IA conversacional puede combatir los retrasos asociados con la llamada de función al solicitarle al LLM que responda al usuario antes de que finalice la llamada de función (por ejemplo, “Déjame comprobar el tiempo para ti”). Esto modela una conversación de la vida real y no mantiene al usuario sin participación.
Estos patrones asincrónicos generalmente se logran aprovechando webhooks para evitar solicitudes de larga duración.
Otra característica común de las plataformas de IA conversacional es permitir al usuario marcar a través del teléfono (o, en algunos casos, realizar una llamada telefónica en nombre del usuario). La telefonía implicará una latencia adicional, que puede depender en gran medida de la geografía.
Como base, la telefonía incurrirá en una latencia adicional de 200 ms si se limita a la misma región. Para llamadas globales (por ejemplo, Asia → EE. UU.), el tiempo de viaje puede aumentar significativamente y la latencia puede alcanzar ~500 ms. Este patrón podría ser común si los usuarios tienen números de teléfono fuera de la región en la que se encuentran, lo que los obliga a saltar a las redes telefónicas de su país base.
Esperamos que esta exploración de ida y vuelta de la IA conversacional haya sido interesante. En resumen, las aplicaciones deberían apuntar a una latencia inferior a un segundo. Generalmente, esto se puede lograr eligiendo el LLM adecuado para la tarea. También deberían interactuar con el usuario siempre que se ejecuten procesos más complejos en segundo plano para evitar pausas largas.
Al final, el objetivo es crear realismo. Un usuario necesita sentir la comodidad de hablar con un humano y al mismo tiempo obtener los beneficios de un programa informático. Al restringir los subprocesos, esto ahora es posible.
En Elevenlabs estamos optimizando cada parte de un sistema de IA conversacional con nuestros modelos STT y TTS de última generación. Al trabajar en cada parte del proceso, podemos lograr flujos de conversación fluidos. Esta visión de arriba hacia abajo de la orquestación nos permite reducir un poco la latencia (incluso 1 ms) en cada momento.
Resolviendo exitosamente más del 80% de las consultas de los usuarios
Nuestra plataforma todo en uno para crear agentes de voz personalizables e interactivos