Opción 2: Usar registros de invocación para la preparación de datos
Al crear un trabajo de destilación, puede hacer que Amazon Bedrock utilice las respuestas de los instructores existentes de los registros de invocación de Registros de CloudWatch como datos de entrenamiento. Para Amazon Bedrock, un registro de invocación es un registro detallado de las invocaciones del modelo.
Para usar los registros de invocación para la destilación de modelos, habilite el registro de invocación del modelo, utilice una de las operaciones de invocación del modelo y asegúrese de haber configurado un bucket de Amazon S3 como destino de los registros. Para poder iniciar el trabajo de destilación del modelo, debe proporcionar permisos a Amazon Bedrock para acceder a los registros. Para obtener más información sobre la configuración de los registros de invocación, consulte Supervisión de la invocación de modelos mediante Registros de Amazon CloudWatch.
Con esta opción, puede especificar si desea que Amazon Bedrock utilice únicamente las peticiones o utilice pares de peticiones y respuestas del registro de invocación. Si desea que Amazon Bedrock utilice únicamente peticiones, Amazon Bedrock podría añadir técnicas de síntesis de datos patentados para generar respuestas diversas y de mayor calidad a partir del modelo instructor. Si desea que Amazon Bedrock utilice pares de petición y respuesta, Amazon Bedrock no volverá a generar las respuestas a partir del modelo instructor. Amazon Bedrock utilizará directamente las respuestas del registro de invocación para refinar el modelo aprendiz.
importante
Puede proporcionar un máximo de 15 000 peticiones o pares de solicitud y respuesta a Amazon Bedrock para refinar el modelo aprendiz. Para garantizar que el modelo aprendiz esté refinado para sus requisitos específicos, le recomendamos encarecidamente lo siguiente:
-
Si desea que Amazon Bedrock utilice únicamente peticiones, asegúrese de que se generen al menos 100 pares de petición y respuesta en todos los modelos.
-
Si desea que Amazon Bedrock utilice las respuestas de sus registros de invocación, asegúrese de tener al menos 100 pares de petición y respuesta generados a partir del modelo en sus registros de invocación que coincidan exactamente con el modelo instructor que ha elegido.
Si lo desea, puede añadir metadatos de solicitud a los pares de petición y respuesta del registro de invocación mediante una de las operaciones de invocación del modelo y, posteriormente, utilizarlos para filtrar los registros. Amazon Bedrock puede usar los registros filtrados para refinar el modelo aprendiz.
Para filtrar los registros mediante varios metadatos de solicitud, utilice un único operador booleano AND, OR o NOT. No puede combinar operaciones. Para el filtrado de metadatos de una sola solicitud, utilice el operador booleano NOT.
Adición de metadatos a la peticiones y respuestas de sus registros de invocación para la destilación de modelos
El registro de invocación del modelo recopila los registros de invocación, los datos de entrada del modelo (peticiones) y los datos de salida del modelo (respuestas) para todas las invocaciones usadas en Amazon Bedrock. Si ha activado el registro, puede recopilar los registros siempre que interactúe con los modelos fundacionales de Amazon Bedrock mediante cualquier operación de la API Invoke o Converse. Si desea que Amazon Bedrock utilice las peticiones y las respuestas asociadas del registro de invocación para refinar el modelo aprendiz, debe conceder a Amazon Bedrock acceso a estos registros. El uso de las respuestas que un modelo ya ha generado permite refinar con mayor rapidez el modelo aprendiz. El uso de las respuestas de los registros de invocación también hace que la destilación de modelos sea más rentable; sin embargo, no se añaden las técnicas de síntesis de datos patentados de Amazon Bedrock, lo que puede resultar en un modelo destilado de mayor rendimiento.
Con los registros de invocación, puede identificar los pares de petición y respuesta que desea que Amazon Bedrock utilice para la destilación de modelos. Estos pares de petición y respuesta pueden ser para casos de uso específicos. Para poder identificar los pares de petición y respuesta que se van a utilizar en la destilación, debe añadir una cadena de metadatos de solicitud a los pares de petición y respuesta cuando invoque un modelo o utilice la operación de la API Converse. Los metadatos de la solicitud se proporcionan en el formato: ". priority" :
"High"
A medida que continúe interactuando con el modelo mediante las operaciones de la API Invoke o Converse, las interacciones y los metadatos de la solicitud se registran en los registros de invocación. El siguiente es un ejemplo de un registro de invocación de una llamada a InvokeModel que muestra los metadatos de la solicitud:
{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-09-11T17:16:18Z", "accountId": "XXXXX", "identity": { "arn": "arn:aws:sts::XXXXXXX:assumed-role/Admin/XXXXXX" }, "region": "us-east-1", "requestId": "7ee514f3-9eff-467c-af75-8fd564ce58e5", "operation": "InvokeModel", "modelId": "meta.llama3-1-405b-instruct-v1:0", "input": { "inputContentType": "application/json", "inputBodyJson": { "prompt": "story of two dogs", "max_tokens_to_sample": 300 }, "inputTokenCount": 13 }, "output": { "outputContentType": "application/json", "outputBodyJson": { "type": "completion", "completion": " Here is a story about two dogs:\n\nRex and Charlie were best friends who lived next door to each other. Every morning, their owners would let them out into the backyard to play. Rex was a golden retriever with long, shaggy fur. He loved to run and chase sticks. Charlie was a corgi with short legs and a big smile. He was happy just sniffing the grass and rolling around. \n\nThe two dogs spent every day playing together. Rex would grab a stick and bring it over to Charlie, wagging his tail excitedly. Charlie would take the other end of the stick in his mouth and they'd have a friendly game of tug-of-war. After tiring themselves out, they'd flop down in the warm sunshine for a nap. \n\nAt lunchtime, their owners would call them in for food. Rex would gobble up his kibble hungrily while Charlie ate his at a more leisurely pace. After lunch, it was right back outside for more playtime. The afternoon sunbeams would light up their fur as they chased each other around the yard. \n\nWhen it started getting late, their owners called them in for the night. Rex and Charlie would head inside, tired but happy after another fun day of play. After slurping up fresh water from their bowls, they'd curl up on their beds, Rex's fluffy golden tail tucked over his nose and little", "stop_reason": "max_tokens", "stop": null }, "outputTokenCount": 300 }, "requestMetadata": { "project": "CustomerService", "intent": "ComplaintResolution", "priority": "High" } }
Puede especificar el registro de invocación como origen de datos de entrada al iniciar un trabajo de destilación de modelos. Puede iniciar el trabajo de destilación de modelos en la consola de Amazon Bedrock mediante la API, la AWS CLI o el SDK de AWS.
Requisitos para proporcionar los metadatos de una solicitud
Los metadatos de solicitud deben cumplir los siguientes requisitos:
-
Se proporcionan en el formato JSON
key:value. -
El par de clave y valor debe ser una cadena de 256 caracteres como máximo.
-
Proporcione un máximo de 16 pares de clave-valor.
Uso de filtros de metadatos de solicitud
Puede añadir filtros a los metadatos de solicitud para elegir de forma selectiva qué pares de petición-respuesta incluir en la destilación para el refinamiento del modelo aprendiz. Por ejemplo, es posible que desee incluir solo aquellos con los metadatos de solicitud “project”: “CustomerService” y "priority": “High”.
Para filtrar los registros usando varios metadatos de solicitud, utilice un único operador booleano AND, OR o NOT. No puede combinar operaciones. Para el filtrado de metadatos de una sola solicitud, utilice el operador booleano NOT.
Puede especificar el registro de invocación como origen de datos de entrada y qué filtros utilizar para seleccionar los pares de petición y respuesta al iniciar un trabajo de destilación de modelos. Puede iniciar el trabajo de destilación de modelos en la consola de Amazon Bedrock mediante la API, la AWS CLI o el SDK de AWS. Para obtener más información, consulte Envío de un trabajo de destilación de modelos en Amazon Bedrock.
Validación del conjunto de datos
Antes de ejecutar el trabajo de destilación, puede validar el conjunto de datos de entrada mediante un script de Python