Cree y gestione trabajos de ajuste preciso para los modelos de Amazon Nova - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree y gestione trabajos de ajuste preciso para los modelos de Amazon Nova

Puede crear un trabajo de ajuste fino de refuerzo (RFT) mediante la consola o la API de Amazon Bedrock. El trabajo de RFT puede tardar unas horas en función del tamaño de los datos de entrenamiento, del número de épocas y de la complejidad de las funciones de recompensa.

Requisitos previos

  • Cree un rol de servicio de IAM con los permisos necesarios. Para obtener información completa sobre seguridad y permisos, incluidos los permisos específicos de RFT, consulte. Acceso y seguridad para los modelos Amazon Nova

  • (Opcional) Cifre los datos de entrada y salida, su trabajo de RFT o las solicitudes de inferencia realizadas a modelos personalizados. Para obtener más información, consulte Cifrado de modelos personalizados.

Cree su trabajo de RFT

Elija la pestaña del método que prefiera y siga estos pasos:

Console

Para enviar un trabajo de RFT en la consola, lleve a cabo los siguientes pasos:

  1. Abre la consola Amazon Bedrock y navega hasta Modelos personalizados en Tune.

  2. Seleccione Crear y, a continuación, Crear trabajo de ajuste fino de refuerzos.

  3. En la sección Detalles del modelo, elige Amazon Nova 2 Lite como modelo base.

  4. En la sección de detalles de personalización, introduzca el nombre de la personalización.

  5. En la sección Datos de entrenamiento, elige tu fuente de datos. Seleccione uno de los registros de invocación disponibles almacenados en Amazon S3, seleccione la ubicación en Amazon S3 de su archivo de conjunto de datos de entrenamiento o cargue un archivo directamente desde su dispositivo.

    nota

    Tu conjunto de datos de entrenamiento debe estar en el formato de datos de OpenAI Chat Completions. Si proporciona los registros de invocación en el formato de invocación o conversación de Amazon Bedrock, Amazon Bedrock los convierte automáticamente al formato Chat Completions.

  6. En la sección Función de recompensa, configura tu mecanismo de recompensa:

    • Modele como juez (RLAIF): seleccione un modelo base hospedado en Bedrock como juez y configure las instrucciones para la evaluación. Utilízalo para tareas subjetivas como la moderación de contenido.

      nota

      La opción Modelar como juez de la consola convierte automáticamente la configuración en una función Lambda durante el entrenamiento.

    • Código personalizado (RLVR): cree funciones de recompensa personalizadas utilizando código Python ejecutado a través de funciones Lambda. Úselo para tareas objetivas, como la generación de código.

    Para obtener más información, consulte Configuración de funciones de recompensa para los modelos Amazon Nova.

  7. (Opcional) En la sección Hiperparámetros, ajusta los parámetros de entrenamiento o usa los valores predeterminados.

  8. En la sección Datos de salida, introduzca la ubicación de Amazon S3 en la que Amazon Bedrock debe guardar los resultados de los trabajos.

  9. En la sección de configuración del rol, elija un rol existente de la lista desplegable o introduzca un nombre para el rol de servicio que desee crear.

  10. (Opcional) En la sección Configuración adicional, configure los datos de validación apuntando a un bucket de Amazon S3, a la configuración de cifrado de KMS y a las etiquetas de trabajo y modelo.

  11. Seleccione Crear trabajo de ajuste de refuerzos para comenzar el trabajo.

API

Envíe una CreateModelCustomizationJob solicitud con la opción customizationType establecida en. REINFORCEMENT_FINE_TUNING

Campos obligatorios: roleArnbaseModelIdentifier,customModelName,jobName,trainingDataConfig,outputDataConfig, rftConfig

Ejemplo de solicitud:

{ "roleArn": "arn:aws:iam::123456789012:role/BedrockRFTRole", "baseModelIdentifier": "amazon.nova-2.0", "customModelName": "my-rft-model", "jobName": "my-rft-job", "customizationType": "REINFORCEMENT_FINE_TUNING", "trainingDataConfig": { "s3Uri": "s3://my-bucket/training-data.jsonl" }, "customizationConfig": { "rftConfig" : { "graderConfig": { "lambdaGrader": { "lambdaArn": "arn:aws:lambda:us-east-1:123456789012:function:function-name" } }, "hyperParameters": { "batchSize": 64, "epochCount": 2, "evalInterval": 10, "inferenceMaxTokens": 8192, "learningRate": 0.00001, "maxPromptLength": 4096, "reasoningEffort": "high", "trainingSamplePerPrompt": 4 } } }, "outputDataConfig": { "s3Uri": "s3://my-bucket/rft-output/" } }

Solicitud de muestra de la API de Python:

import boto3 bedrock = boto3.client(service_name='bedrock') # Set parameters customizationType = "REINFORCEMENT_FINE_TUNING" baseModelIdentifier = "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-lite-v1:0:256k" roleArn = "${your-customization-role-arn}" jobName = "MyFineTuningJob" customModelName = "MyCustomModel" customizationConfig = { 'rftConfig' : { 'graderConfig': { 'lambdaGrader': { 'lambdaArn': 'arn:aws:lambda:us-east-1:123456789012:function:function-name' } }, 'hyperParameters': { 'batchSize': 64, 'epochCount': 2, 'evalInterval': 10, 'inferenceMaxTokens': 8192, 'learningRate':0.00001, 'maxPromptLength': 4096, 'reasoningEffort': 'high', 'trainingSamplePerPrompt':4 } } } trainingDataConfig = {"s3Uri": "s3://${training-bucket}/myInputData/train.jsonl"} outputDataConfig = {"s3Uri": "s3://${output-bucket}/myOutputData"} # Create job response_ft = bedrock.create_model_customization_job( jobName=jobName, customModelName=customModelName, roleArn=roleArn, baseModelIdentifier=baseModelIdentifier, customizationConfig=customizationConfig, trainingDataConfig=trainingDataConfig, outputDataConfig=outputDataConfig, customizationType=customizationType ) jobArn = response_ft['jobArn']

Supervise su trabajo de formación en RFT

Amazon Bedrock proporciona supervisión en tiempo real con gráficos y métricas visuales durante el entrenamiento de RFT. Estas métricas le ayudan a comprender si el modelo converge correctamente y si la función de recompensa guía eficazmente el proceso de aprendizaje.

Seguimiento del estado del trabajo

Puede supervisar el estado de su trabajo de RFT a través de las fases de validación y formación en la consola de Amazon Bedrock.

Indicadores de finalización:

  • El estado del trabajo cambia a Completado cuando la formación se completa correctamente

  • El ARN del modelo personalizado pasa a estar disponible para su implementación

  • Las métricas de entrenamiento alcanzan los umbrales de convergencia

Métricas de entrenamiento en tiempo real

Amazon Bedrock proporciona supervisión en tiempo real durante el entrenamiento de RFT con gráficos visuales que muestran las métricas de entrenamiento y validación.

Métricas principales de entrenamiento

  • Pérdida de entrenamiento: mide qué tan bien aprende el modelo a partir de los datos de entrenamiento

  • Estadísticas de recompensas por entrenamiento: muestran las puntuaciones de recompensa asignadas por tus funciones de recompensa

  • Margen de recompensa: mide la diferencia entre las recompensas por respuestas buenas y malas

  • Precisión en los conjuntos de entrenamiento y validación: muestra el rendimiento del modelo tanto en los datos de entrenamiento como en los datos retenidos

Categorías métricas detalladas

  • Métricas de recompensas: critic/rewards/meancritic/rewards/max, critic/rewards/min (distribución de recompensas) y val-score/rewards/mean@1 (recompensas de validación)

  • Comportamiento del modelo: actor/entropy (variación de política; cuanto más alto es igual a más exploratorio)

  • Salud formativa: actor/pg_loss (pérdida del gradiente de las políticas), actor/pg_clipfrac (frecuencia de las actualizaciones recortadas) y actor/grad_norm (magnitud del gradiente)

  • Características de respuesta:prompt_length/mean,prompt_length/max, prompt_length/min (estadísticas del token de entrada), response_length/meanresponse_length/max, response_length/min (estadísticas del token de salida) y response/aborted_ratio (tasa de generación incompleta; 0 es igual a todo completado)

  • Rendimiento: perf/throughput (rendimiento del entrenamiento), perf/time_per_step (tiempo por paso de entrenamiento) y timing_per_token_ms/* (tiempos de procesamiento por token)

  • Uso de recursos:perf/max_memory_allocated_gb, perf/max_memory_reserved_gb (memoria de GPU) y perf/cpu_memory_used_gb (memoria de CPU)

Visualización del progreso del entrenamiento

La consola muestra gráficos interactivos que se actualizan en tiempo real a medida que avanza tu trabajo de RFT. Estas visualizaciones pueden ayudarle a:

  • Realice un seguimiento de la convergencia hacia un rendimiento óptimo

  • Identifique pronto los posibles problemas de formación

  • Determine los puntos de parada óptimos

  • Compare el rendimiento en diferentes épocas

Configure la inferencia

Una vez finalizado el trabajo, implemente el modelo RFT para realizar inferencias bajo demanda o utilice el rendimiento aprovisionado para obtener un rendimiento uniforme. Para configurar la inferencia, consulte. Configuración de la inferencia para un modelo personalizado

Utilice Test in Playground para evaluar y comparar las respuestas con el modelo base. Para evaluar el modelo de RFT completo, consulteEvalúe su modelo RFT.