Transcripción con identificación de hablantes y timestamps precisos usando WhisperX en SageMaker AI

WhisperX combina Whisper de OpenAI con alineación por palabra y diarización para generar transcripciones estructuradas y analizables. En este artículo explicamos cómo desplegar el contenedor GPU en SageMaker AI, cuándo usar endpoints en tiempo real o asíncronos y qué consideraciones operativas tener en cuenta.

Por Redaccion TD
Transcripción con identificación de hablantes y timestamps precisos usando WhisperX en SageMaker AI

Resumen

Los equipos que trabajan con audio hablado —centros de contacto, reuniones, podcasts, medios y e-learning— suelen chocar contra dos limitaciones de la transcripción genérica: marcas de tiempo imprecisas (nivel de frase) y la ausencia de etiquetas que identifiquen quién habló. Esas limitaciones complican búsquedas, subtitulado, redacciones para cumplimiento y análisis automatizado. WhisperX soluciona ambos problemas: extiende Whisper con timestamps por palabra y añade diarización para etiquetar hablantes, además de optimizaciones para inferencia por lotes.

¿Qué es WhisperX y por qué importa?

Whisper es una familia de modelos ASR de OpenAI reconocida por su calidad trasncripcional en múltiples idiomas. Produce timestamps a nivel de segmento o frase. WhisperX es un proyecto abierto que toma Whisper y lo prepara para cargas productivas: agrega timestamps por palabra mediante alineación forzada (wav2vec2), incorpora diarización para identificar quién habla y optimiza la ejecución en lotes. El resultado: transcripciones estructuradas que permiten medir tiempos de habla, revisar cumplimiento de scripts, generar subtítulos precisos (SRT/VTT) y alimentar análisis de sentimiento o búsqueda dentro de reuniones.

Para organizaciones en América Latina, esto tiene aplicaciones claras: contact centers que miden productividad y cumplimiento, medios que necesitan subtitulado a gran escala, y sectores regulados (salud, legal y finanzas) donde es crítico saber quién dijo qué para auditorías o descubrimientos legales.

El contenedor Deep Learning de WhisperX para SageMaker AI

AWS ofrece un Deep Learning Container (DLC) de WhisperX que ya viene listo para GPU y empaqueta Whisper, los modelos de alineación y los pesos de diarización. No se necesita un token de Hugging Face. El contenedor sigue el contrato de servicio estándar de Amazon SageMaker AI:

  • Sirve en el puerto 8080.
  • Expone POST /invocations para inferencia y GET /ping para health checks.
  • Recibe multipart/form-data: el archivo de audio como parte file y campos opcionales (por ejemplo, language, diarize, response_format).
  • Devuelve formatos de salida json, verbose_json, srt y vtt, lo que permite usar la misma API tanto para pipelines analíticos como para editores de video.

Este enfoque reduce el trabajo de empaquetado y facilita despliegues reproducibles en entornos productivos.

Endpoint en tiempo real vs endpoint asíncrono: cuándo usar cada uno

Amazon SageMaker AI soporta ambos patrones para el mismo contenedor. La decisión principal depende de la longitud del audio y el grado de interactividad requerido.

  • Real-time endpoint: ideal para clips cortos e interactivos. La llamada es síncrona y debe completarse dentro del límite de respuesta de 60 segundos de SageMaker AI. Útil cuando se requiere la transcripción inmediatamente en la misma solicitud.

  • Asynchronous endpoint: recomendado para audio largo o grandes volúmenes. No tiene el límite de 60 segundos porque se opera con un flujo de submit-and-poll donde los inputs y outputs se manejan a través de Amazon S3. Permite escalar a cero y ahorrar costos cuando no hay trabajo.

Dimensiones clave a considerar:

  • Latencia: el real-time es síncrono y sensible al límite de 60s; el asíncrono acepta procesamiento más prolongado.
  • Invocación: InvokeEndpoint con cuerpo inline para real-time; InvokeEndpointAsync con referencia a S3 para asíncrono.
  • E/S: real-time usa cuerpo en la petición/ respuesta; asíncrono usa S3 para inputs/outputs.
  • Escalado y costo: ambos escalan añadiendo instancias, pero los endpoints asíncronos pueden escalar a cero para ahorrar costos.

Arquitectura y aspectos operativos

Ambos patrones comparten el mismo contrato del contenedor: SageMaker AI reenvía cada request al DLC en el puerto 8080. La recomendación de instancias citada en el contenedor incluye ml.g4dn.xlarge para optimizar costo y ml.g5.2xlarge para tener más margen de rendimiento. Algunas consideraciones prácticas:

  • GPU AMI pin: el contenedor requiere la AMI de GPU correcta; seguir la versión recomendada asegura compatibilidad.
  • Escalado: se escala por instancias, no por concurrencia dentro del contenedor. Añadir más instancias incrementa throughput.
  • Almacenamiento: para inferencia asíncrona, use un bucket S3 cuyo nombre contenga “sagemaker” si se usa la política AmazonSageMakerFullAccess por defecto.
  • Formatos de salida: aprovechar json/verbose_json para pipelines analíticos y srt/vtt para entrega a equipos de medios y subtitulado.

Requisitos previos y recursos

Para desplegar WhisperX en SageMaker AI necesita:

  • Una cuenta de AWS y un rol de ejecución de SageMaker con permisos create_model y create_endpoint (y permisos S3 para inferencia asíncrona).
  • Cuota de servicio de GPU para la familia de instancias elegida (por ejemplo ml.g4dn.xlarge o ml.g5.2xlarge).
  • La URI del DLC de WhisperX en Amazon ECR (se provee como ejemplo en la documentación oficial).
  • Para asíncrono, un bucket S3 con el nombre que incluya “sagemaker” si se confía en la política por defecto.

AWS mantiene un notebook de JupyterLab en su repositorio de Samples que contiene un flujo ejecutable paso a paso; se puede correr desde SageMaker Studio con su propio audio.

Buenas prácticas y controles de costo

  • Elija el patrón de endpoint según la longitud del audio: real-time para interactividad corta; asíncrono para procesamiento por lotes y archivos largos.
  • Use instancias de menor costo para cargas previsibles y escale horizontalmente. Para picos, considere máquinas con más GPU para reducir latencia por unidad de trabajo.
  • Con endpoints asíncronos, aproveche el escalado a cero para no pagar cuando no haya solicitudes.
  • Organice outputs en S3 con politicas de ciclo de vida para evitar acumulación de datos y costos innecesarios.

Casos de uso concretos en América Latina

En la región, los centros de atención y servicios al cliente están digitalizando operaciones; WhisperX facilita métricas como tiempo de habla por agente y cumplimiento de guiones. Medios y productoras de video pueden automatizar subtítulos en español, portugués e idiomas locales, mejorando accesibilidad y SEO. Equipos legales, de cumplimiento y de salud pueden convertir grabaciones en artefactos auditables con identificación de hablantes, siempre respetando las obligaciones locales de privacidad y manejo de datos.

Conclusión

WhisperX en un DLC de SageMaker AI ofrece una ruta práctica para llevar transcripción avanzada a producción sin rehacer imágenes de contenedor: timestamps por palabra, diarización y múltiples formatos de salida resuelven problemas reales de búsqueda, subtitulado, redacción y cumplimiento. Evaluar el patrón de endpoint (real-time vs asíncrono), la selección de instancia y las políticas de S3 es clave para una implementación eficiente y rentable. Para equipos en América Latina, estas capacidades aceleran la transformación digital de operaciones de audio y video, desde centros de contacto hasta medios y educación en línea.

Fuente original: AWS ML Blog