Entrenamiento iterativo - Amazon SageMaker AI

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.

Entrenamiento iterativo

El entrenamiento iterativo permite el desarrollo de procesos de entrenamiento sofisticados para los modelos de Amazon Nova al encadenar varias técnicas de entrenamiento en secuencia. Este enfoque le permite superponer diferentes métodos de personalización para lograr modelos personalizados con precisión.

El proceso comienza con el entrenamiento de un modelo de Amazon Nova mediante una de las técnicas estándar (como SFT, PEFT o DPO). Una vez finalizado, encontrará un manifest.json archivo en la ubicación de salida de S3 que haya especificado. Este archivo contiene un checkpoint_s3_bucket valor que indica dónde está almacenado el modelo entrenado.

A continuación, puede utilizar la ubicación de este punto de control como model_name_or_path parámetro en las siguientes sesiones de entrenamiento, aprovechando de forma eficaz su trabajo de personalización anterior. Esto crea una cadena de mejoras progresivas, y en cada etapa de entrenamiento se perfecciona aún más el modelo en función de tus requisitos específicos.

El entrenamiento iterativo permite desarrollar procesos de entrenamiento más sofisticados para afinar los modelos de Amazon Nova. Al encadenar los módulos de entrenamiento, se pueden combinar técnicas de entrenamiento para personalizar los modelos exactamente según las necesidades particulares.

Se empieza por entrenar a Amazon Nova con una de las técnicas descritas enPersonalización de Amazon Nova en Amazon SageMaker HyperPod. En la ubicación de salida S3 definida durante el entrenamiento, localice el archivo manifest.json. Este archivo contiene el valor checkpoint_s3_bucket que indica dónde está definido el modelo de salida. Se puede utilizar esta ubicación de salida como valor model_name_or_path en futuras sesiones de entrenamiento.

Ejemplo

El siguiente ejemplo muestra un flujo de trabajo que define las ejecuciones de entrenamiento iterativas de ajuste fino supervisado (SFT) > SFT > optimización de preferencias directas (DPO) para un modelo de Amazon Nova Lite. En primer lugar, debe definir la receta de ejecución para el entrenamiento inicial de SFT del modelo básico.

## Run config run: name: "my-fullrank-run-sft" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

Este trabajo de entrenamiento generará un manifest.json archivo en la ruta definida en output_s3_path similar al siguiente:

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

Esta ruta de puntos de control se puede utilizar en el siguiente paso de entrenamiento iterativo como. model_name_or_path Al hacerlo, se indica al entrenamiento que utilice el punto de control anterior como modelo base para el siguiente método de entrenamiento en lugar del modelo base.

En el siguiente paso del ejemplo, se define un entrenamiento de SFT basado en un conjunto de datos diferente, que se puede utilizar para entrenar un modelo a través de varios conjuntos de interacciones.

## Run config run: name: "my-fullrank-run-sft-2" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Customer data path output_s3_path: "s3://Path to output data location" # Output artifact path

Al igual que en el primer conjunto de entrenamiento, se generará un manifest.json archivo similar en la ubicación de salida:

{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}

A continuación, se puede utilizar como entrada final para la última ejecución iterativa de entrenamiento con DPO:

## Run config run: name: "my-fullrank-run-dpo" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "s3://customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2" # Your training data path output_s3_path: "s3://Path to output data location" # Output artifact path

El resultado de cualquier fase de este proceso de formación iterativo se puede utilizar tanto para la inferencia como para la evaluación, así como para comprobar el progreso del modelo a lo largo del proceso y garantizar que converja hacia el resultado deseado.

Limitaciones

El entrenamiento iterativo se puede ejecutar con cualquiera de los métodos de entrenamiento disponibles en cualquier orden, con tantas iteraciones como necesite para lograr el resultado deseado. Cuando se entrena de forma iterativa, tanto el modelo como la técnica (es decir, de rango completo en comparación con el PEFT de LoRa) deben ser consistentes. Por ejemplo, si intentas entrenar de forma iterativa con ajustes de rango completo después de un entrenamiento de PEFT con LoRa, el trabajo de entrenamiento arrojará un error. Del mismo modo, si desea definir un trabajo de formación en Amazon Nova Lite sobre un punto de control de Amazon Nova Micro, recibirá un mensaje de error.