La optimización de modelos para la búsqueda semántica de videos requiere equilibrar la precisión, el costo y la latencia. Los modelos más rápidos y más pequeños carecen de inteligencia de enrutamiento, mientras que los modelos más grandes y precisos añaden una importante sobrecarga de latencia. En la Parte 1 de esta serie, mostramos cómo construir un sistema de búsqueda semántica de video multimodal en AWS con enrutamiento de intención inteligente utilizando el modelo Anthropic Claude Haiku en Amazon Bedrock. Si bien el modelo Haiku ofrece una gran precisión para la intención de búsqueda del usuario, aumenta el tiempo de búsqueda de un extremo a otro a 2-4 segundos. Esto contribuye al 75% de la latencia general.
Figura 1: Un ejemplo de desglose de la latencia de consultas de un extremo a otro
Consideremos ahora lo que sucede a medida que la lógica de enrutamiento se vuelve más compleja. Los metadatos empresariales pueden ser mucho más complejos que los cinco atributos de nuestro ejemplo (título, título, personas, género y marca de tiempo). Los clientes pueden tener en cuenta los ángulos de la cámara, el estado de ánimo y el sentimiento, las ventanas de licencias y derechos, y más taxonomías específicas de dominio. Una lógica más matizada significa una indicación más exigente, y una indicación más exigente conduce a respuestas más costosas y más lentas. Aquí es donde entra en juego la personalización del modelo. En lugar de elegir entre un modelo que es rápido pero demasiado simple o uno que es preciso pero demasiado costoso o demasiado lento, podemos lograr las tres cosas entrenando un modelo pequeño para que realice la tarea con precisión con una latencia y un costo mucho menores.
En esta publicación, le mostramos cómo utilizar Model Distillation, una técnica de personalización de modelos en Amazon Bedrock, para transferir inteligencia de enrutamiento de un modelo de profesor grande (Amazon Nova Premier) a un modelo de estudiante mucho más pequeño (Amazon Nova Micro). Este enfoque reduce el costo de inferencia en más del 95 % y reduce la latencia en un 50 % mientras mantiene la calidad de enrutamiento matizada que exige la tarea.
Descripción general de la solución
Recorreremos todo el proceso de destilación de principio a fin en un cuaderno Jupyter. En un nivel alto, el cuaderno contiene los siguientes pasos:
Prepare datos de entrenamiento: 10 000 ejemplos sintéticos etiquetados usando Nova Premier y cargue el conjunto de datos en Amazon Simple Storage Service (Amazon S3) en formato de destilación Bedrock. Ejecute el trabajo de entrenamiento de destilación: configure el trabajo con identificadores de modelo de maestro y estudiante y envíelo a través de Amazon Bedrock. Implemente el modelo destilado: implemente el modelo personalizado mediante inferencia bajo demanda para un acceso flexible de pago por uso. Evalúe el modelo destilado: compare la calidad del enrutamiento con el Nova Micro base y el Línea de base original de Claude Haiku utilizando la evaluación del modelo Amazon Bedrock
El cuaderno completo, el script de generación de datos de entrenamiento y las utilidades de evaluación están disponibles en el repositorio de GitHub.
Preparar datos de entrenamiento
Una de las razones clave por las que elegimos la destilación de modelos en lugar de otras técnicas de personalización como el ajuste fino supervisado (SFT) es que no requiere un conjunto de datos completamente etiquetado. Con SFT, cada ejemplo de capacitación necesita una respuesta generada por humanos como verdad básica. Con la destilación, sólo necesitas indicaciones. Amazon Bedrock invoca automáticamente el modelo docente para generar respuestas de alta calidad. Aplica técnicas de aumento y síntesis de datos entre bastidores para producir un conjunto de datos de entrenamiento diverso de hasta 15.000 pares de respuesta rápida.
Dicho esto, opcionalmente puedes proporcionar un conjunto de datos etiquetados si deseas tener más control sobre la señal de entrenamiento. Cada registro en el archivo JSONL sigue el esquema bedrock-conversation-2024, donde el rol de usuario (el mensaje de entrada) es obligatorio y el rol de asistente (la respuesta deseada) es opcional. Consulte los siguientes ejemplos y consulte Prepare sus conjuntos de datos de entrenamiento para la destilación para obtener más detalles:
Para esta publicación, preparamos 10 000 ejemplos etiquetados sintéticos utilizando Nova Premier, el modelo más grande y capaz de la familia Nova. Los datos se generaron con una distribución equilibrada entre consultas de señales visuales, de audio, de transcripción y de metadatos. Los ejemplos cubren toda la gama de entradas de búsqueda esperadas, representan diferentes niveles de dificultad, incluyen casos extremos y variaciones, y evitan el sobreajuste a patrones de consulta limitados. El siguiente cuadro muestra la distribución del peso en los cuatro canales de modalidad.
Figura 2: Distribución del peso en los 10.000 ejemplos de entrenamiento
Si necesita ejemplos adicionales o desea adaptar la distribución de consultas a su propio dominio de contenido, el script generate_training_data.py proporcionado se puede utilizar para generar sintéticamente más datos de entrenamiento utilizando Nova Premier.
Ejecutar trabajo de entrenamiento de destilación
Con los datos de entrenamiento cargados en Amazon S3, el siguiente paso es enviar el trabajo de destilación. La destilación del modelo funciona utilizando sus indicaciones para generar primero respuestas del modelo del maestro. Luego utiliza esos pares de respuesta rápida para afinar el modelo del estudiante. En este proyecto, el profesor es Amazon Nova Premier y el alumno es Amazon Nova Micro, un modelo rápido y rentable optimizado para la inferencia de alto rendimiento. Las decisiones de ruta del profesor se convierten en la señal de entrenamiento que moldea el comportamiento del estudiante.
Amazon Bedrock administra automáticamente toda la orquestación y la infraestructura de capacitación. No es necesario el aprovisionamiento de clústeres, ni el ajuste de hiperparámetros, ni la configuración del canal de modelo de profesor a estudiante. Usted especifica el modelo de profesor, el modelo de estudiante, la ruta de S3 a sus datos de entrenamiento y un rol de AWS Identity and Access Management (IAM) con los permisos necesarios. Bedrock se encarga del resto. El siguiente es un fragmento de código de ejemplo para activar el trabajo de capacitación en destilación:
El trabajo se ejecuta de forma asincrónica. Puede monitorear el progreso en la consola de Amazon Bedrock en Modelos Foundation > Modelos personalizados, o mediante programación:
status = bedrock_client.get_model_customization_job( jobIdentifier=job_arn)['status'] print(f"Estado del trabajo: {status}") # Capacitación, completa o fallida
El tiempo de entrenamiento varía según el tamaño del conjunto de datos y el modelo de estudiante seleccionado. Para 10.000 ejemplos etiquetados con Nova Micro, espere que el trabajo se complete en unas pocas horas.
Implementar el modelo destilado
Una vez que se completa el trabajo de destilación, el modelo personalizado estará disponible en su cuenta de Amazon Bedrock y listo para implementar. Amazon Bedrock ofrece dos opciones de implementación para modelos personalizados: rendimiento aprovisionado para cargas de trabajo predecibles de gran volumen e inferencia bajo demanda para un acceso flexible de pago por uso sin compromiso inicial.
Para la mayoría de los equipos que comienzan, la inferencia bajo demanda es el camino recomendado. No hay ningún punto final para el aprovisionamiento, ni compromiso por horas ni requisitos de uso mínimo. El siguiente es el código de implementación:
Una vez que el estado muestra InService, puede invocar el modelo destilado exactamente como lo haría con cualquier otro modelo base utilizando la API estándar InvokeModel o Converse. Paga solo por los tokens que consume según las tasas de inferencia de Nova Micro: 0,000035 USD por 1000 tokens de entrada y 0,000140 USD por 1000 tokens de salida.
Evaluar el modelo destilado.
Antes de comparar con el enrutador original, vale la pena validar que la destilación mejoró la capacidad del modelo base para seguir la tarea de enrutamiento. La siguiente tabla muestra el mismo mensaje ejecutado a través del Nova Micro base y el Nova Micro destilado uno al lado del otro.
Consulta Distilled Nova Micro Base Nova Micro "CEO discutiendo ganancias trimestrales " {"visual": 0.2, "audio": 0.3, "transcription": 0.4, "metadata": 0.1, "reasoning": "La consulta se centra en el contenido hablado (transcripción) sobre las ganancias, pero las señales visuales (apariencia del CEO) y el audio (tono/claridad) también son importantes…"}
Aquí hay una representación JSON de la información que solicitó para una consulta de búsqueda de video sobre un director ejecutivo que analiza las ganancias trimestrales:
“`json{ "video": { "visual": 0.3, "audio": 0.3, "transcription": 0.2, "metadata": 0.1, "reasoning": "El componente visual incluye la presidencia del CEO….
"puesta de sol sobre las montañas" {"visual": 0.8, "audio": 0.0, "transcripción": 0.0, "metadata": 0.2, "razonamiento": "La consulta se centra en una escena visual (puesta de sol sobre las montañas), sin elementos de audio o transcripción. Los metadatos pueden incluir etiquetas relacionadas con la ubicación o el tiempo."}
Aquí hay una representación JSON para una consulta de búsqueda de video "puesta de sol sobre montañas" que incluye imágenes, audio, transcripción, ponderaciones de metadatos (suma = 1,0) y razonamiento:
“`json{ "query": "puesta de sol sobre las montañas", "resultados": [ { "video_id": "123456", "visual": 0.4, "audio": 0.3 ….
El modelo base tiene problemas tanto con las instrucciones como con la coherencia del formato de salida. Produce respuestas de texto libre, JSON incompleto y valores de peso no numéricos. El modelo destilado devuelve consistentemente JSON bien formado con cuatro pesos numéricos que suman 1,0, lo que coincide con el esquema requerido por la canalización de enrutamiento.
En comparación con el enrutador Claude Haiku original, ambos modelos se evalúan con un conjunto de 100 ejemplos etiquetados generados por Nova Premier. Usamos Amazon Bedrock Model Assessment para ejecutar la comparación en un flujo de trabajo estructurado y administrado. Para evaluar la calidad del enrutamiento más allá de las métricas estándar, definimos una rúbrica de Calidad General personalizada (consulte el siguiente bloque de código) que indica a Claude Sonnet que califique cada predicción en dos dimensiones: precisión del peso frente a la verdad fundamental y calidad del razonamiento. Cada dimensión se asigna a un umbral concreto de 5 puntos, por lo que la rúbrica penaliza tanto la deriva numérica como el razonamiento repetitivo genérico.
El modelo destilado de Nova Micro logró una puntuación de 4,0 sobre 5 en el modelo de lenguaje grande (LLM) como juez, una calidad de enrutamiento casi idéntica a la de Claude 4.5 Haiku con aproximadamente la mitad de latencia (833 ms frente a 1741 ms). La ventaja de costos es igualmente significativa. El cambio al modelo destilado de Nova Micro reduce los costos de inferencia en más del 95 % tanto en los tokens de entrada como de salida, sin compromisos iniciales bajo los precios bajo demanda. Nota: La evaluación de un LLM como juez no es determinista. Las puntuaciones pueden variar ligeramente entre carreras.
Figura 3: Comparación del rendimiento del modelo (Distilled Nova Micro frente a Claude 4.5 Haiku)
La siguiente es una tabla resumen de los resultados en paralelo:
Métrica destilada Nova Micro Claude 4,5 Haiku LLM como juez Puntuación 4,0 / 5 4,0 / 5 Latencia media 833 ms 1741 ms Costo del token de entrada $0,000035 / 1K $0,80–$1,00 / 1K Costo del token de salida $0,000140 / 1K $4,00–$5,00 / Formato de salida 1K consistente JSON inconsistente
Limpiar
Para evitar cargos continuos, ejecute la sección de limpieza del cuaderno para eliminar los recursos aprovisionados, incluidos los puntos finales del modelo implementado y los datos almacenados en Amazon S3.
Conclusión
Esta publicación es la segunda parte de una serie de dos. A partir de la Parte 1, esta publicación se centra en la aplicación de la destilación de modelos para optimizar la capa de enrutamiento de intención integrada en la solución de búsqueda semántica de video. Las técnicas analizadas ayudan a abordar compensaciones reales de producción, como equilibrar la inteligencia de enrutamiento con la latencia y el costo a escala mientras se mantiene la precisión de la búsqueda. Al destilar el comportamiento de enrutamiento de Amazon Nova Premier en Amazon Nova Micro mediante Amazon Bedrock Model Distillation, reducimos el costo de inferencia en más de un 95 % y redujimos la latencia de preprocesamiento a la mitad, preservando al mismo tiempo la calidad de enrutamiento matizada que exige la tarea. Si está operando una búsqueda de video multimodal a escala, la destilación de modelos es un camino práctico hacia la eficiencia de costos a nivel de producción sin sacrificar la precisión de la búsqueda. Para explorar la implementación completa, visite el repositorio de GitHub y pruebe la solución usted mismo.