Perfeccionamiento de los modelos de Amazon Nova mediante SageMaker trabajos de formación - 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.

Perfeccionamiento de los modelos de Amazon Nova mediante SageMaker trabajos de formación

El ajuste preciso de los modelos de Amazon Nova con tareas de SageMaker formación ofrece una forma eficaz de personalizar los modelos básicos para sus casos de uso específicos.

Requisitos previos

Antes de empezar un trabajo de formación, tenga en cuenta lo siguiente.

  • Buckets de Amazon S3 para almacenar los datos de entrada y salida de los trabajos de formación. Puede usar un depósito para ambos o cubos separados para cada tipo de datos. Asegúrese de que sus cubos estén en el mismo Región de AWS lugar donde creó todos los demás recursos de formación. Para obtener más información, consulta Cómo crear un depósito de uso general.

  • Un rol de IAM con permisos para ejecutar un trabajo de formación. Asegúrese de adjuntar una política de IAM. AmazonSageMakerFullAccess Para obtener más información, consulte Cómo utilizar las funciones de SageMaker ejecución.

  • Recetas base de Amazon Nova, consulteObtener recetas de Amazon Nova.

Preparación de datos

Preparar datos de alta calidad y con el formato adecuado es un primer paso fundamental en el proceso de ajuste de los modelos lingüísticos de gran tamaño. Ya sea que utilice el ajuste preciso supervisado (SFT) o la optimización de preferencias directas (DPO), con enfoques de clasificación completa o de adaptación de rango bajo (LoRa), sus datos deben cumplir requisitos de formato específicos para garantizar el éxito de la formación del modelo. En esta sección se describen los formatos de datos, los métodos de validación y las mejores prácticas necesarios para ayudarle a preparar sus conjuntos de datos de forma eficaz para ajustar los modelos de Amazon Nova.

SFT

Requisitos de formato de datos SFT: tanto para el SFT de rango completo como para el SFT LoRa, los datos deben seguir el formato Converse. Para ver ejemplos y restricciones de este formato, consulte Preparación de datos para ajustar con precisión los modelos Understanding.

Validación de datos SFT: para validar el formato del conjunto de datos antes de enviarlo, le recomendamos que utilice el siguiente script de validación del repositorio de muestras de Amazon Bedrock. Esta herramienta de validación le ayudará a garantizar que sus jsonl archivos cumplan con las especificaciones de formato requeridas y a identificar cualquier posible problema antes de enviar su trabajo de ajuste.

DPO

Requisitos de formato de datos del DPO: tanto para el DPO con rango completo como para el DPO con LoRa, los datos deben seguir el formato Converse. El conjunto de datos también debe tener un formato similar al de SFT, excepto que el último turno debe tener pares de preferencias.

Otras restricciones del conjunto de datos de DPO: las demás restricciones de los conjuntos de datos son las mismas para la SFT. Para obtener más información, consulte Restricciones del conjunto de datos. Se espera un único archivo JSONL para el entrenamiento y un único archivo JSONL para la validación. El conjunto de validación es opcional.

Recomendaciones del conjunto de datos del DPO: un mínimo de 1000 pares de preferencias para una formación eficaz. Los datos de preferencias de alta calidad darán como resultado resultados más eficientes.

Ejemplo de formato de datos de DPO

// N-1 turns same as SFT format { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "non-preferred" } ] }

Ejemplo de formato de datos de DPO (varias vueltas)

{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }

Ejemplo de formato de datos DPO (con imágenes)

{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }

Los trabajos de formación tienen un límite de tiempo predeterminado de 1 día, aunque las estimaciones de las tablas siguientes suponen una duración de formación de 5 días con fines ilustrativos. Como práctica recomendada, te recomendamos aumentar el límite de tiempo de entrenamiento a un máximo de 28 días para adaptarlo a cargas de trabajo de formación más prolongadas. Para solicitar un aumento del límite, consulta Cómo solicitar un aumento de la cuota.

Límites del conjunto de datos SFT

Longitud del contexto Modelo Método Conjuntos de datos Descripción

32 000 trabajos con una longitud de contexto

Amazon Nova Micro Rango completo y LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, solo puede tener un máximo de 100 000 registros.

Amazon Nova Lite

Clasificación completa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 100 000 registros.

Imagen y vídeo

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puedes tener hasta 50 000 registros.

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 100 000 registros.

Imagen y vídeo Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puedes tener hasta 90 000 registros.

Amazon Nova Pro

Rango completo Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 40 000 registros.

Imagen y vídeo

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan en 5 épocas, puedes tener hasta 30 000 registros.

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 40 000 registros.

Imagen y vídeo

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan en 5 épocas, puedes tener hasta 35 000 registros.

Trabajos con una longitud de contexto de 64 000

Amazon Nova Micro Rango completo y LoRa Solo texto

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecutan en 5 épocas, solo podrás tener un máximo de 50 000 registros.

Amazon Nova Lite

Clasificación completa Solo texto

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecutan durante 5 épocas, puedes tener hasta 50 000 registros.

Imagen y vídeo

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecutan en 5 épocas, puedes tener hasta 30 000 registros.

LoRa -

Nova Lite no admite LoRa a 64 k.

Amazon Nova Pro Rango completo y LoRa Solo texto

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecutan durante 5 épocas, puedes tener hasta 17 000 registros.

Imagen y vídeo

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecutan en 5 épocas, puedes tener hasta 15 000 registros.

Límites del conjunto de datos de DPO

Longitud del contexto Modelo Método Conjuntos de datos Descripción

16 000 trabajos con una longitud de contexto

Amazon Nova Micro Rango completo Solo texto

Si utiliza un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecutan durante 5 épocas, solo podrá tener un máximo de 120 000 registros.

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecutan durante 5 épocas, solo puede tener un máximo de 125 000 registros.

Amazon Nova Lite

Clasificación completa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 130 000 registros.

Imagen

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecuta durante 5 épocas, puede completar 20 000 muestras en 2 días

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 140 000 registros.

Imagen

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecuta durante 5 épocas, puedes completar 20 000 muestras en 2 días.

Amazon Nova Pro

Rango completo Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 45 000 registros.

Imagen

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecuta durante 5 épocas, puede completar 20 000 muestras en 4 días

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 55 000 registros.

Imagen

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 16 000 y, por ejemplo, se ejecuta durante 5 épocas, puede completar 20 000 muestras en 4 días

Trabajos con una longitud de contexto de 32 000

Amazon Nova Micro Rango completo Solo texto

Si utiliza un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, solo podrá tener un máximo de 45 000 registros.

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, solo puede tener un máximo de 50 000 registros.

Amazon Nova Lite

Clasificación completa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 55 000 registros.

Imagen

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecuta durante 5 épocas, puede tener hasta 35 000 registros.

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 60 000 registros.

Imagen

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecuta durante 5 épocas, puedes tener hasta 35 000 registros.

Amazon Nova Pro Rango completo Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 20 000 registros.

Imagen

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecuta en 5 épocas, puedes tener hasta 16 000 registros.

LoRa Solo texto

Si usa un conjunto de datos en el que todos los registros tienen una longitud de contexto de 32 000 y, por ejemplo, se ejecutan durante 5 épocas, puede tener hasta 22 000 registros.

Imagen

Si utilizas un conjunto de datos en el que todos los registros tienen una longitud de contexto de 64 000 y, por ejemplo, se ejecuta en 5 épocas, puedes tener hasta 18 000 registros.

Al reducir el número de épocas o la longitud del contexto de sus registros, podría proporcionar más registros.

Configuraciones SFT y LoRa PEFT de rango completo

En esta sección, se ofrecen instrucciones sobre las configuraciones de recetas tanto para el ajuste preciso supervisado (SFT) de rango completo como para el ajuste preciso de parámetros de adaptación de rango bajo (LoRa PEFT). Estos archivos de recetas sirven como modelo para sus trabajos de personalización de modelos, ya que le permiten especificar los parámetros de entrenamiento, los hiperparámetros y otros ajustes críticos que determinan la forma en que el modelo aprende de los datos. Para ajustar los hiperparámetros, siga las instrucciones de la sección Selección de hiperparámetros.

Configuraciones de ajuste preciso (SFT de rango completo y PEFT LoRa)

La única diferencia entre el SFT de rango completo y el PEFT de LoRa en términos de receta es la configuración del PEFT de LoRa, que se establece en «nulo» para el rango completo y se establece en los valores adecuados si se utiliza un ajuste fino basado en el PEFT de LoRa. Hay SageMaker HyperPod ejemplos GitHub de recetas disponibles en el repositorio de recetas. En las siguientes tablas se muestran configuraciones detalladas que pueden resultarle útiles.

Acerca de la configuración de «ejecución».

Clave Definición Micro Lite Pro
Configuración de una ejecución tipo_modelo

Especifica la variante del modelo Nova que se va a utilizar. No modifique este campo.

«amazon. nova-micro-v«1:20:128 k»

«amazona. nova-lite-v«1:30, 300 km»

«amazona. nova-pro-v«1:30, 300 km»

nombre_modelo_o_ruta

La ruta al modelo base.

«nova-micro/prod»

«nova-lite/prod»

«nova-pro/prod»

réplicas

El número de instancias informáticas que se van a utilizar para la formación distribuida.

2, 4 u 8

4, 8 o 16

6, 12 o 24

Acerca de la configuración «training_config».

Clave raíz Llaves secundarias Definición Mínimo Máximo
max_length

La longitud máxima de secuencia en fichas. Esto determina el tamaño de la ventana de contexto para el entrenamiento. Se puede ajustar al múltiplo 1024 más cercano, valor máximo: 65536 (para Lite Lora 32768).

1024

65536, excepto Lite LoRa, que admite 32768.
tamaño_batch_global

Número total de muestras por paso; los valores permitidos son 16, 32 y 64. Valor máximo: 32 para Nova Pro, 64 para Nova Lite y Micro.

16 32 para Nova Pro, 64 para Nova Lite y Micro.
Configuración de entrenador entrenador max_epochs

El número de pasadas completas por tu conjunto de datos de entrenamiento. Para la mayoría de las tareas de personalización, suelen ser suficientes de 1 a 5 épocas. Se recomienda conservar hasta 5.

1 -
Configuración del modelo modelo hidden_dropout

Probabilidad de eliminar las salidas de estado oculto. Aumente (0,0-0,2) para reducir el sobreajuste en conjuntos de datos más pequeños. Los límites están entre 0 y 1.

0 1
modelo attention_dropout

Probabilidad de perder peso en la atención. Puede ayudar con la generalización. Los límites están entre 0 y 1.

0 1
modelo ffn_dropout

Probabilidad de que disminuyan las salidas de la red de retroalimentación. Los límites están entre 0 y 1.

0 1
Configuración del optimizador model.optim o

Tasa de aprendizaje, controla el tamaño de los pasos durante la optimización. Los límites están entre 0 y 1. Por lo general, se establece entre 1e-6 y 1e-4 para un buen rendimiento.

0 1
model.optim nombre

Algoritmo optimizador. En la actualidad, solo se admite distributed_fused_adam.

- -
model.optim adam_w_mode

Habilita el modo AdamW (verdadero/falso).

- -
model.optim eps

Epsilon para una estabilidad numérica.

model.optim weight_decay

La fuerza de regularización L2 debe estar entre 0.0 y 1.0.

0 1
model.optim betas

Las betas del optimizador Adam deben estar entre 0.0 y 1.0.

0 1
model.optim sched_warmup_steps

Número de pasos para aumentar gradualmente la tasa de aprendizaje. Esto mejora la estabilidad del entrenamiento. Entre 1 y 20.

1 20
model.optim sched_constant_steps

Pasos a un ritmo de aprendizaje constante.

1.00E-10 1,00E-06
model.optim sched.min_lr

Tasa mínima de aprendizaje al final de la decadencia. Los límites están entre 0 y 1, pero deben ser inferiores a la tasa de aprendizaje.

0 1

Configuración PEFT de LoRa

model.peft esquema izquierdo

Usa «lora» o «null». «lora» utiliza el método LoRa PEFT para un ajuste preciso de los parámetros con eficiencia. «null» inicia un ajuste fino de rango completo.

- -
model.left lora_tuning.loraplus_lr_ratio

El factor de escala de la tasa de aprendizaje LoRa+ debe estar entre 0.0 y 100.0.

0 100
model.left lora_tuning.alpha

Factor de escala para pesas LoRa. Los valores permitidos son 32, 64, 96, 128, 160 y 192.

32 192
model.left lora_tuning.adapter_dropout

Regularización de los parámetros de LoRa. Debe estar entre 0.0 y 1.0.

0 1

Ajuste preciso de configuraciones específicas (DPO)

La única diferencia entre la optimización de preferencias directas (DPO) y la PEFT y la FullRank SFT de LoRa radica en la configuración de dpo_cfg y los valores permitidos. Consulte en la siguiente tabla el ejemplo para ver qué está permitido específicamente para el DPO. Hay ejemplos de recetas disponibles en el GitHub repositorio de SageMaker HyperPod recetas. La siguiente tabla muestra configuraciones detalladas que pueden resultarle útiles.

Clave raíz Llaves secundarias Definición Mínimo Máximo
max_length La longitud máxima de secuencia en fichas. Esto determina el tamaño de la ventana de contexto para el entrenamiento. Se puede ajustar al múltiplo 1024 más cercano, valor máximo: 32.768.

1024

32768

tamaño_de_lote global

Tamaño de lote global, los valores permitidos son {16, 32, 64, 128, 256}.

16 256
Configuración del entrenador entrenador max_epochs

El número de pasadas completas por tu conjunto de datos de entrenamiento. Para la mayoría de las tareas de personalización, suelen ser suficientes de 1 a 5 épocas. Las épocas máximas son 5.

1 5
Configuración del modelo modelo hidden_dropout

Probabilidad de eliminar las salidas de estado oculto. Aumente (0,0-0,2) para reducir el sobreajuste en conjuntos de datos más pequeños. Los límites están entre 0 y 1.

0 1
modelo attention_dropout

Probabilidad de perder peso en la atención. Puede ayudar con la generalización. Los límites están entre 0 y 1.

0 1
modelo ffn_dropout

Probabilidad de que disminuyan las salidas de la red de retroalimentación. Los límites están entre 0 y 1.

0 1
Configuración del optimizador model.optim o

Tasa de aprendizaje, controla el tamaño de los pasos durante la optimización. Los límites están entre 0 y 1. Por lo general, se establece entre 1e-6 y 1e-4 para un buen rendimiento.

0 1
model.optim nombre

Algoritmo optimizador. En la actualidad, solo se admite distributed_fused_adam.

- -
model.optim adam_w_mode

Habilita el modo AdamW (verdadero/falso).

- -
model.optim eps

Epsilon para una estabilidad numérica.

1.00E-10 1,00E-06
model.optim weight_decay

La fuerza de regularización L2 debe estar entre 0.0 y 1.0.

0 1
model.optim betas

Las betas del optimizador Adam deben estar entre 0.0 y 1.0.

0 1
model.optim sched_warmup_steps

Número de pasos para aumentar gradualmente la tasa de aprendizaje. Esto mejora la estabilidad del entrenamiento. Entre 1 y 20.

1 20
model.optim sched_constant_steps

Pasos a un ritmo de aprendizaje constante.

model.optim sched.min_lr

Tasa mínima de aprendizaje al final de la decadencia. Los límites están entre 0 y 1, pero deben ser inferiores a la tasa de aprendizaje.

0 1

Configuración PEFT de LoRa

model.peft esquema izquierdo

Usa «lora» o «null». «lora» utiliza el método LoRa PEFT para un ajuste preciso de los parámetros con eficiencia. «null» inicia un ajuste fino de rango completo.

- -
model.left lora_tuning.loraplus_lr_ratio

El factor de escala de la tasa de aprendizaje LoRa+ debe estar entre 0.0 y 100.0.

0 100
model.left lora_tuning.alpha

Factor de escala para pesas LoRa. Los valores permitidos son 32, 64, 96, 128, 160 y 192.

32 192
model.left lora_tuning.adapter_dropout

Regularización de los parámetros de LoRa. Debe estar entre 0.0 y 1.0.

0 1
Configuración de DPO model-dpo_cfg beta

Fuerza de la aplicación de las preferencias.

0.001 0.1

Utilización del modelo Nova personalizado en trabajos SageMaker de formación

En esta sección se muestra cómo ejecutar un modelo Nova personalizado en trabajos de SageMaker formación a través de un entorno de cuadernos Jupyter. Encontrará un ejemplo completo que explica el proceso de configuración y lanzamiento de un trabajo de formación, junto con tablas de referencia para seleccionar las configuraciones de imagen URIs e instancia del contenedor adecuadas. Este enfoque le proporciona un control programático sobre sus flujos de trabajo de ajuste y, al mismo tiempo, aprovecha la infraestructura gestionada para SageMaker personalizar los modelos. Para obtener más información, consulte Utilizar un estimador de SageMaker IA para realizar un trabajo de formación.

Tablas de referencia

Antes de ejecutar el cuaderno de muestra, consulte las tablas siguientes para seleccionar las configuraciones de imagen URIs e instancia del contenedor adecuadas.

Seleccionar el URI de la imagen

Receta URI de imagen

URI de imagen SFT

708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-SFT-latest

URI de imagen DPO

708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-DPO-latest

Seleccionar el tipo y el recuento de instancias

Modelo Tipo de trabajo Tipo de instancia Recuento de instancias recomendado Recuento de instancias permitido
Amazon Nova Micro Ajuste preciso (SFT/DPO)

p5.48xlarge

2 2,4,8
Amazon Nova Lite Ajuste fino (SFT/DPO)

p5.48xlarge

4 4, 8, 16
Amazon Nova Pro Ajuste fino (SFT/DPO)

p5.48xlarge

6 6, 12, 24

Cuaderno de ejemplo

El siguiente ejemplo de cuaderno muestra cómo ejecutar un trabajo de formación. Para obtener más cuadernos de introducción sobre cómo personalizar los modelos Nova mediante trabajos de entrenamiento de SageMaker IA, consulte Usar un estimador de SageMaker IA para ejecutar un trabajo de entrenamiento.

# 1. Install dependencies !pip install sagemaker # 2. Import dependencies and initialize sagemaker session import sagemaker,boto3 sm = boto3.client('sagemaker', region_name='us-east-1') sagemaker_session = sagemaker.session.Session(boto_session=boto3.session.Session(), sagemaker_client=sm) # 3. Configure your job # Define the core configuration for launching a SageMaker Training Job. This includes input/output S3 URIs, container image, hardware setup, and other runtime parameters. Update the placeholders below before submitting the job. job_name = "<Your Job Name>" input_s3_uri = "<S3 path to input data>" validation_s3_uri = "<S3 path to validation data>" # optional, leave blank if no validation data output_s3_uri = "<S3 path to output location>" image_uri = "<Image URI from documentation>" # you can choose the image for SFT/DPO instance_type = "ml.p5.48xlarge" # do not change instance_count = <Integer number of hosts> # change hosts as needed. Refer to documentation for allowed values based on model type. role_arn = "<IAM Role you want to use to run the job>" recipe_path = "<Local path to the recipe file>" # 4. Launch SageMaker Training Job # This block sets up and runs the SageMaker training job using the PyTorch estimator. It configures the training image, hardware, input channels, and TensorBoard integration. Validation data is included if provided. from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch from sagemaker.inputs import TrainingInput tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=output_s3_uri, ) estimator = PyTorch( output_path=output_s3_uri, base_job_name=job_name, role=role_arn, instance_count=instance_count, instance_type=instance_type, training_recipe=recipe_path, sagemaker_session=sagemaker_session, image_uri=image_uri, tensorboard_output_config=tensorboard_output_config, # Add the setting for using TensorBoard. disable_profiler=True, debugger_hook_config=False ) trainingInput = TrainingInput( s3_data=input_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) if (validation_s3_uri): validationInput = TrainingInput( s3_data=validation_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) estimator.fit(inputs={"train": trainingInput, "validation": validationInput}) # inputs must be called "train" and "validation", do not change else: estimator.fit(inputs={"train": trainingInput}) # 5. Monitor your training job # To monitor your training job, you can either: # * Go to your AWS console -> Amazon Sagemaker AI -> Training -> Training Jobs # * run the following command # sm.describe_training_job(TrainingJobName="<complete training job name>")

Guía de optimización de hiperparámetros

Ajustar con precisión su modelo Nova LLM de manera efectiva requiere una selección cuidadosa de los hiperparámetros. Si bien en esta sección se explican la estructura y los componentes básicos de la receta, la optimización de los hiperparámetros para su caso de uso específico a menudo requiere orientación adicional. Para obtener recomendaciones exhaustivas sobre la selección de hiperparámetros, las mejores prácticas y las estrategias de optimización, consulte Selección de hiperparámetros. Este recurso proporciona una guía detallada sobre cómo seleccionar las tasas de aprendizaje, los tamaños de los lotes, las épocas de formación y otros parámetros críticos adecuados en función de las características del conjunto de datos y los objetivos de formación. Recomendamos consultar esta guía al ajustar la configuración de la receta para lograr un rendimiento óptimo del modelo.

Para obtener más información sobre los valores mínimos, máximos y predeterminados de las épocas, la tasa de aprendizaje y los pasos de calentamiento del aprendizaje, consulte Hiperparámetros para comprender los modelos.

Modificaciones comunes en las recetas

Estos son algunos ajustes comunes de las recetas en función de casos de uso específicos:

  • Para conjuntos de datos más pequeños (< 1000 ejemplos)

    training_config: max_epochs: 2 # More passes through a smaller dataset model: hidden_dropout: 0.1 # Increase regularization weight_decay: 0.01 # Increase regularization
  • Para una mayor eficiencia con un cómputo limitado

    peft: peft_scheme: "lora" lora_tuning:
  • Para ajustar instrucciones complejas

    optim: lr: 5e-6 # Lower learning rate for more stable learning sched: warmup_steps: 100 # Longer warmup for stability