A medida que los modelos de IA generativa avanzan en la creación de contenido multimedia, la diferencia entre un resultado bueno y uno excelente suele estar en los detalles que solo la retroalimentación humana puede captar. La segmentación de audio y video proporciona una forma estructurada de recopilar esta retroalimentación detallada, lo que permite a los modelos aprender mediante el aprendizaje de refuerzo a partir de la retroalimentación humana (RLHF) y el ajuste fino supervisado (SFT). Los anotadores pueden marcar y evaluar con precisión momentos específicos en el contenido de audio o video, lo que ayuda a los modelos a comprender qué hace que el contenido parezca auténtico para los espectadores y oyentes humanos.
Tomemos, por ejemplo, la generación de texto a video, donde los modelos necesitan aprender no solo qué generar, sino también cómo mantener la coherencia y el flujo natural a lo largo del tiempo. Al crear una escena de una persona realizando una secuencia de acciones, factores como el ritmo de los movimientos, la coherencia visual y la suavidad de las transiciones contribuyen a la calidad. A través de una segmentación y anotación precisas, los anotadores humanos pueden proporcionar comentarios detallados sobre cada uno de estos aspectos, lo que ayuda a los modelos a aprender qué hace que una secuencia de video generada parezca natural en lugar de artificial. De manera similar, en las aplicaciones de texto a voz, comprender los matices sutiles del habla humana (desde la duración de las pausas entre frases hasta los cambios en el tono emocional) requiere comentarios humanos detallados a nivel de segmento. Esta entrada granular ayuda a los modelos a aprender cómo producir un habla que suene natural, con el ritmo y la coherencia emocional adecuados. A medida que los modelos de lenguaje grandes (LLM) integran cada vez más capacidades multimedia, los comentarios humanos se vuelven aún más críticos para entrenarlos para generar contenido rico y multimodal que se alinee con los estándares de calidad humanos.
El camino hacia la creación de modelos de IA eficaces para la generación de audio y vídeo presenta varios desafíos distintos. Los anotadores deben identificar momentos precisos en los que el contenido generado coincide o se desvía de las expectativas humanas naturales. En el caso de la generación de voz, esto significa marcar los puntos exactos en los que cambia la entonación, las pausas parecen poco naturales o el tono emocional cambia inesperadamente. En la generación de vídeo, los anotadores deben identificar los fotogramas en los que el movimiento se vuelve espasmódico, la coherencia de los objetos se rompe o los cambios de iluminación parecen artificiales. Las herramientas de anotación tradicionales, con capacidades básicas de reproducción y marcado, a menudo no logran capturar estos detalles matizados.
Verdad fundamental de Amazon SageMaker permite RLHF al permitir que los equipos integren comentarios humanos detallados directamente en el entrenamiento del modelo. Flujos de trabajo de anotación humana personalizadosLas organizaciones pueden equipar a los anotadores con herramientas para una segmentación de alta precisión. Esta configuración permite que el modelo aprenda de los datos etiquetados por humanos, lo que mejora su capacidad para producir contenido que se ajuste a las expectativas humanas naturales.
En este post te mostramos cómo implementar una solución de segmentación de audio y video en el siguiente enlace: Repositorio GitHub utilizando SageMaker Ground Truth. Lo guiamos en la implementación de la infraestructura necesaria utilizando Formación en la nube de AWS, creando una fuerza laboral de etiquetado interna y configurando su primer trabajo de etiquetado. Demostramos cómo usar Wavesurfer.js Para una segmentación y visualización de audio precisas, configure anotaciones a nivel de segmento y de contenido completo, y cree la interfaz para sus necesidades específicas. Abarcamos enfoques programáticos y basados en consola para crear trabajos de etiquetado, y brindamos orientación sobre cómo ampliar la solución con sus propias necesidades de anotación. Al final de esta publicación, tendrá un flujo de trabajo de segmentación de audio/video completamente funcional que puede adaptar para varios casos de uso, desde el entrenamiento de modelos de síntesis de voz hasta la mejora de las capacidades de generación de video.
Resumen de funciones
La integración de la tecnología Wavesurfer.js En nuestra interfaz de usuario, se ofrece una visualización detallada de la forma de onda, en la que los anotadores pueden ver al instante patrones en el habla, el silencio y la intensidad del audio. Por ejemplo, al trabajar en la síntesis de voz, los anotadores pueden identificar visualmente espacios no naturales entre palabras o cambios abruptos en el volumen que podrían hacer que el habla generada suene robótica. La capacidad de hacer zoom en estos patrones de forma de onda significa que pueden trabajar con precisión de milisegundos, marcando exactamente dónde una pausa es demasiado larga o dónde una transición emocional ocurre demasiado abruptamente.
En esta instantánea de segmentación de audio, capturamos una conversación entre un cliente y un representante, anotamos los segmentos del orador y las emociones, y transcribimos el diálogo. La interfaz de usuario permite ajustar la velocidad de reproducción y la función de zoom para un análisis de audio preciso.
La función de múltiples pistas permite a los anotadores crear pistas independientes para evaluar diferentes aspectos del contenido. En una tarea de conversión de texto a voz, una pista puede centrarse en la precisión de la pronunciación, otra en la coherencia emocional y una tercera en el ritmo natural. Para las tareas de generación de videos, los anotadores pueden marcar segmentos en los que el movimiento fluye de manera natural, donde se mantiene la coherencia de los objetos y donde las transiciones entre escenas funcionan bien. Pueden ajustar la velocidad de reproducción para captar detalles sutiles y la línea de tiempo visual para obtener puntos de inicio y fin precisos para cada segmento marcado.
En esta instantánea de segmentación de video, estamos anotando una escena con perros y rastreando animales individuales, sus colores, emociones y formas de andar. La interfaz de usuario también permite la evaluación general de la calidad del video, la detección de cambios de escena y la clasificación de la presencia de objetos.
Proceso de anotación
Los anotadores comienzan eligiendo Agregar nueva pista y seleccionar categorías y etiquetas apropiadas para su tarea de anotación. Después de crear la pista, puede elegir Comience a grabar en el punto donde desea iniciar un segmento. A medida que se reproduce el contenido, puede monitorear la forma de onda de audio o los fotogramas de video hasta llegar al punto final deseado y luego elegir Detener grabaciónEl segmento recién creado aparece en el panel derecho, donde puede agregar clasificaciones, transcripciones u otras etiquetas relevantes. Este proceso se puede repetir para todos los segmentos que sean necesarios, con la posibilidad de ajustar los límites de los segmentos, eliminar segmentos incorrectos o crear nuevas pistas para diferentes propósitos de anotación.
Importancia de datos de alta calidad y reducción de errores de etiquetado
Los datos de alta calidad son esenciales para entrenar modelos de IA generativos que puedan producir contenido de audio y video natural y similar al humano. El rendimiento de estos modelos depende directamente de la precisión y el detalle de la retroalimentación humana, que se deriva de la precisión y la integridad del proceso de anotación. En el caso del contenido de audio y video, esto significa capturar no solo lo que suena o parece poco natural, sino exactamente cuándo y cómo ocurren estos problemas.
Nuestra interfaz de usuario diseñada específicamente para SageMaker Ground Truth aborda desafíos comunes en la anotación de audio y video que a menudo generan comentarios inconsistentes o imprecisos. Cuando los anotadores trabajan con archivos de audio o video largos, necesitan marcar momentos precisos en los que el contenido generado se desvía de las expectativas humanas naturales. Por ejemplo, en la generación de voz, una pausa poco natural puede durar solo una fracción de segundo, pero su impacto en la calidad percibida es significativo. La función de zoom de la herramienta permite a los anotadores expandir estos breves momentos en su pantalla, lo que hace posible marcar los puntos de inicio y fin exactos de estos problemas sutiles. Esta precisión ayuda a los modelos a aprender los detalles finos que separan el habla natural del habla artificial.
Resumen de la solución
Esta solución de segmentación de audio y video combina varios servicios de AWS para crear un flujo de trabajo de anotación sólido. En esencia, Servicio de almacenamiento simple de Amazon (Amazon S3) funciona como almacenamiento seguro para archivos de entrada, archivos de manifiesto, salidas de anotaciones y componentes de la interfaz de usuario web. SageMaker Ground Truth ofrece a los anotadores un portal web para acceder a sus trabajos de etiquetado y administra el flujo de trabajo de anotaciones general. El siguiente diagrama ilustra la arquitectura de la solución.
La plantilla de interfaz de usuario, que incluye nuestra interfaz de segmentación de audio/video especializada creada con Wavesurfer.js, requiere archivos CSS y JavaScript específicos. Estos archivos se alojan a través de Amazon CloudFront distribución, lo que proporciona una entrega confiable y eficiente a los navegadores de los anotadores. Al usar CloudFront con una identidad de acceso de origen y políticas de depósito adecuadas, permitimos que los componentes de la interfaz de usuario se entreguen a los anotadores. Esta configuración sigue las mejores prácticas de AWS para el acceso con privilegios mínimos, lo que garantiza que CloudFront solo pueda acceder a los archivos de interfaz de usuario específicos necesarios para la interfaz de anotación.
Anotación previa y posterior AWS Lambda Las funciones son componentes opcionales que pueden mejorar el flujo de trabajo. La función Lambda previa a la anotación puede procesar el archivo de manifiesto de entrada antes de que los datos se presenten a los anotadores, lo que permite realizar cualquier formateo o modificación necesaria. De manera similar, la función Lambda posterior a la anotación puede transformar los resultados de la anotación en formatos específicos necesarios para el entrenamiento del modelo. Estas funciones brindan flexibilidad para adaptar el flujo de trabajo a necesidades específicas sin requerir cambios en el proceso de anotación principal.
La solución utiliza Gestión de identidades y accesos de AWS Roles (IAM) para administrar permisos:
- Una función IAM de SageMaker Ground Truth permite el acceso a Amazon S3 para leer archivos de entrada y escribir salidas de anotaciones.
- Si se utilizan, los roles de función Lambda proporcionan los permisos necesarios para tareas de preprocesamiento y posprocesamiento.
Repasemos el proceso de configuración de su flujo de trabajo de anotaciones. Comenzaremos con un escenario simple: tiene un archivo de audio almacenado en Amazon S3, junto con algunos metadatos como un identificador de llamada y su transcripción. Al final de este tutorial, tendrá un sistema de anotaciones completamente funcional donde su equipo puede segmentar y clasificar este contenido de audio.
Requisitos previos
Para este tutorial, asegúrese de tener lo siguiente:
Crea tu fuerza laboral interna
Antes de sumergirnos en la configuración técnica, veamos... crear una fuerza laboral privada en SageMaker Ground Truth. Esto le permite probar el flujo de trabajo de anotación con su equipo interno antes de escalarlo a una operación más grande.
- En la consola de SageMaker, elija Etiquetado de mano de obra.
- Elegir Privado para el tipo de fuerza de trabajo y crear un nuevo equipo privado.
- Agregue miembros del equipo usando sus direcciones de correo electrónico: recibirán instrucciones para configurar sus cuentas.
Implementar la infraestructura
Aunque en este ejemplo se muestra cómo usar una plantilla de CloudFormation para una implementación rápida, también puedes configurar los componentes de forma manual. Los recursos (archivos JavaScript y CSS) están disponibles en nuestro repositorio de GitHub. Completa los siguientes pasos para la implementación manual:
- Descargue estos activos directamente desde Repositorio GitHub.
- Alojalos en tu propio depósito S3.
- Configure su propia distribución de CloudFront para servir estos archivos.
- Configure los permisos necesarios y la configuración de CORS.
Este enfoque manual le brinda más control sobre la configuración de la infraestructura y puede ser preferible si tiene distribuciones de CloudFront existentes o necesita personalizar los controles y activos de seguridad.
El resto de esta publicación se centrará en el enfoque de implementación de CloudFormation, pero los pasos de configuración del trabajo de etiquetado siguen siendo los mismos independientemente de cómo elija alojar los activos de la interfaz de usuario.
Esta plantilla de CloudFormation crea y configura los siguientes recursos de AWS:
- Cubo S3 para componentes de UI:
- Almacena los archivos JavaScript y CSS de la interfaz de usuario
- Configurado con la configuración CORS necesaria para SageMaker Ground Truth
- Accesible solo a través de CloudFront, no directamente público
- Los permisos se establecen mediante una política de depósito que otorga acceso de lectura solo a la identidad de acceso de origen (OAI) de CloudFront.
- Distribución de CloudFront:
- Proporciona una entrega segura y eficiente de componentes de UI
- Utiliza una OAI para acceder de forma segura al depósito S3
- Está configurado con la configuración de caché adecuada para un rendimiento óptimo
- El registro de acceso está habilitado y los registros se almacenan en un depósito S3 dedicado.
- Cubo S3 para registros de CloudFront:
- Almacena registros de acceso generados por CloudFront
- Está configurado con las políticas de depósito y las ACL necesarias para permitir que CloudFront escriba registros
- La propiedad del objeto se establece en ObjectWriter para habilitar el uso de ACL para el registro de CloudFront
- La configuración del ciclo de vida está configurada para eliminar automáticamente los registros con más de 90 días de antigüedad para administrar el almacenamiento.
- Función lambda:
- Descarga archivos de UI desde nuestro repositorio de GitHub
- Los almacena en el depósito S3 para componentes de UI
- Se ejecuta solo durante la configuración inicial y utiliza permisos con el mínimo privilegio
- Los permisos incluyen Registros de Amazon CloudWatch para monitoreo y acciones específicas de S3 (lectura/escritura) limitadas al depósito creado
Una vez que se haya completado la implementación de la pila de CloudFormation, podrá encontrar las URL de CloudFront para acceder a los archivos JavaScript y CSS en la consola de AWS CloudFormation. Necesitará estas URL de CloudFront para actualizar su plantilla de IU antes de crear el trabajo de etiquetado. Tenga en cuenta estos valores: los utilizará al crear el trabajo de etiquetado.
Prepare su manifiesto de entrada
Antes de crear el trabajo de etiquetado, debe preparar un archivo de manifiesto de entrada que le indique a SageMaker Ground Truth qué datos presentar a los anotadores. La estructura del manifiesto es flexible y se puede personalizar según sus necesidades. Para esta publicación, utilizamos una estructura simple:
Puede adaptar esta estructura para incluir metadatos adicionales que requiera su flujo de trabajo de anotaciones. Por ejemplo, es posible que desee agregar información sobre el orador, marcas de tiempo u otros datos contextuales. La clave es asegurarse de que su plantilla de IU esté diseñada para procesar y mostrar estos atributos de manera adecuada.
Crea tu trabajo de etiquetado
Con la infraestructura implementada, vamos a crear el trabajo de etiquetado en SageMaker Ground Truth. Para obtener instrucciones completas, consulte Acelere los flujos de trabajo de etiquetado personalizados en Amazon SageMaker Ground Truth sin usar AWS Lambda.
- En la consola de SageMaker, elija Crear trabajo de etiquetado.
- Dale un nombre a tu trabajo.
- Especifique la ubicación de sus datos de entrada en Amazon S3.
- Especifique un depósito de salida donde se almacenarán las anotaciones.
- Para el tipo de tarea, seleccione Tarea de etiquetado personalizado.
- En Los Plantilla de interfaz de usuario campo, localice los valores de marcador de posición para los archivos JavaScript y CSS y actualícelos de la siguiente manera:
- Reemplaza
audiovideo-wavesufer.js
con la URL de JavaScript de CloudFront desde las salidas de la pila de CloudFormation. - Reemplaza
audiovideo-stylesheet.css
con la URL CSS de CloudFront desde las salidas de la pila CloudFormation.
- Reemplaza
- Antes de iniciar el trabajo, utilice el Vista previa Función para verificar su interfaz.
Debería ver que la interfaz Wavesurfer.js se carga correctamente y que todos los controles funcionan correctamente. Este paso de vista previa es crucial: confirma que las URL de CloudFront están especificadas correctamente y que la interfaz está configurada correctamente.
Configuración programática
Como alternativa, puede crear su trabajo de etiquetado de forma programática mediante la API CreateLabelingJob. Esto resulta especialmente útil para la automatización o cuando necesita crear varios trabajos. Vea el siguiente código:
El enfoque API ofrece la misma funcionalidad que la consola de SageMaker, pero permite la automatización y la integración con flujos de trabajo existentes. Ya sea que elija la consola de SageMaker o el enfoque API, el resultado es el mismo: un trabajo de etiquetado completamente configurado y listo para su equipo de anotaciones.
Comprender el resultado
Una vez que los anotadores completen su trabajo, SageMaker Ground Truth generará un manifiesto de salida en el depósito S3 especificado. Este manifiesto contiene información detallada en dos niveles:
- Clasificaciones a nivel de segmento – Detalles sobre cada segmento marcado, incluidos los horarios de inicio y finalización y las categorías asignadas
- Clasificaciones de contenido completo – Calificaciones y clasificaciones generales para todo el archivo
Veamos un ejemplo de salida para comprender su estructura:
Esta estructura de anotación de dos niveles proporciona datos de entrenamiento valiosos para sus modelos de IA, capturando tanto detalles finos como una evaluación general del contenido.
Personalizando la solución
Nuestra solución de segmentación de audio y video está diseñada para ser altamente personalizable. Veamos cómo puede adaptar la interfaz para que se ajuste a sus requisitos de anotación específicos.
Personalizar anotaciones a nivel de segmento
Las anotaciones a nivel de segmento se controlan en la función report() del código JavaScript. El siguiente fragmento de código muestra cómo se pueden modificar las opciones de anotación para cada segmento:
Puede eliminar campos existentes o agregar nuevos según sus necesidades. Asegúrese de actualizar el modelo de datos (updateTrackListData
función) para manejar sus campos personalizados.
Modificar clasificaciones de contenido completo
Para las clasificaciones que se aplican a todo el archivo de audio o video, puede modificar la plantilla HTML. El siguiente código es un ejemplo de cómo agregar opciones de clasificación personalizadas:
Las clasificaciones que agregue aquí se incluirán en su manifiesto de salida, lo que le permitirá capturar anotaciones tanto a nivel de segmento como de contenido completo.
Ampliación de la funcionalidad de Wavesurfer.js
Nuestra solución utiliza Wavesurfer.js, una biblioteca de visualización de audio de código abierto. Si bien hemos implementado funciones básicas para segmentación y anotación, puede ampliarlas aún más utilizando el amplio conjunto de funciones de Wavesurfer.js. Por ejemplo, puede que desee:
- Añadir visualización de espectrograma
- Implementar controles de reproducción adicionales
- Mejorar la funcionalidad de zoom
- Agregar marcadores de línea de tiempo
Para estas personalizaciones recomendamos consultar la Documentación de Wavesurfer.jsAl implementar funciones adicionales de Wavesurfer.js, recuerde realizar pruebas exhaustivas en la vista previa de SageMaker Ground Truth para revisar la compatibilidad con el flujo de trabajo de etiquetado.
Wavesurfer.js se distribuye bajo la licencia BSD-3-Clause. Aunque hemos probado la integración exhaustivamente, las modificaciones que realice en la implementación de Wavesurfer.js deben probarse en su entorno. La comunidad de Wavesurfer.js ofrece excelente documentación y soporte para implementar funciones adicionales.
Limpiar
Para limpiar los recursos creados durante este tutorial, siga estos pasos:
- Detenga el trabajo de etiquetado de SageMaker Ground Truth si aún se está ejecutando y ya no lo necesita. Esto detendrá las tareas de etiquetado en curso y evitará que se acumulen cargos adicionales.
- Vacíe los depósitos S3 eliminando todos los objetos que contienen. Los depósitos S3 deben vaciarse antes de poder eliminarlos, por lo que eliminar todos los archivos almacenados facilita un proceso de limpieza sin inconvenientes.
- Elimine la pila de CloudFormation para eliminar todos los recursos de AWS provistos por la plantilla. Esta acción eliminará automáticamente los servicios asociados, como los depósitos de S3, la distribución de CloudFront, la función Lambda y los roles de IAM relacionados.
Conclusión
En esta publicación, analizamos la implementación de una solución de segmentación de audio y video con SageMaker Ground Truth. Vimos cómo implementar la infraestructura necesaria, configurar la interfaz de anotación y crear trabajos de etiquetado tanto a través de la consola de SageMaker como de manera programática. La capacidad de la solución para capturar anotaciones precisas a nivel de segmento junto con clasificaciones de contenido generales la hace particularmente valiosa para generar datos de entrenamiento de alta calidad para modelos de IA generativos, ya sea que esté trabajando en síntesis de voz, generación de video u otras aplicaciones de IA multimedia. A medida que desarrolla sus modelos de IA para la generación de audio y video, recuerde que la calidad de la retroalimentación humana afecta directamente el rendimiento de su modelo, ya sea que esté entrenando modelos para generar un habla con un sonido más natural, crear secuencias de video coherentes o comprender patrones de audio complejos.
Lo invitamos a visitar nuestro Repositorio GitHub para explorar la solución más a fondo y adaptarla a sus necesidades específicas. Puede mejorar sus flujos de trabajo de anotación personalizando la interfaz, agregando nuevas categorías de clasificación o implementando funciones adicionales de Wavesurfer.js. Para obtener más información sobre cómo crear flujos de trabajo de etiquetado personalizados en SageMaker Ground Truth, visite Acelere los flujos de trabajo de etiquetado personalizados en Amazon SageMaker Ground Truth sin usar AWS Lambda y Flujos de trabajo de etiquetado personalizados.
Si está buscando una solución de etiquetado de datos llave en mano, considere Amazon SageMaker Tierra Verdad Plus, que brinda acceso a una fuerza laboral experta capacitada en diversas tareas de aprendizaje automático. Con SageMaker Ground Truth Plus, puede recibir rápidamente anotaciones de alta calidad sin la necesidad de crear y administrar sus propios flujos de trabajo de etiquetado, lo que reduce los costos hasta en un 40 % y acelera la entrega de datos etiquetados a escala.
Comience a crear su flujo de trabajo de anotación hoy mismo y contribuya a la próxima generación de modelos de IA que amplían los límites de lo posible en la generación de audio y video.
Acerca de los autores
Sundar Raghavan Sundar es un arquitecto de soluciones especializado en IA y ML en AWS que ayuda a los clientes a aprovechar SageMaker y Bedrock para crear canales escalables y rentables para aplicaciones de visión artificial, procesamiento de lenguaje natural e IA generativa. En su tiempo libre, a Sundar le encanta explorar nuevos lugares, probar los restaurantes locales y disfrutar de la vida al aire libre.
Vineet Agarwal es gerente sénior de entrega al cliente en el equipo Amazon Bedrock, responsable de los servicios Human in the Loop. Ha trabajado en AWS durante más de dos años gestionando actividades de comercialización, operaciones comerciales y técnicas. Antes de trabajar en AWS, trabajó en la industria de SaaS, Fintech y telecomunicaciones en un puesto de liderazgo en servicios. Tiene un MBA de la Indian School of Business y una licenciatura en Ingeniería Electrónica y de Comunicaciones del Instituto Nacional de Tecnología de Calicut (India). En su tiempo libre, a Vineet le encanta jugar al ráquetbol y disfrutar de actividades al aire libre con su familia.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/enhance-speech-synthesis-and-video-generation-models-with-rlhf-using-audio-and-video-segmentation-in-amazon-sagemaker/