Ajuste con precisión Nova 1.0 - 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.

Ajuste con precisión Nova 1.0

Requisitos previos

Antes de empezar un trabajo de entrenamiento, tenga en cuenta lo siguiente.

  • Buckets de Amazon S3 para almacenar sus datos de entrada y la salida de los trabajos de entrenamiento. Puede utilizar un bucket para ambos o buckets 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, consulte Creación de un bucket de uso general.

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

  • Fórmulas básicas de Amazon Nova, consulte Obtención de fórmulas 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 refinamiento de los modelos de lenguaje de gran tamaño. Tanto si utiliza el refinamiento supervisado (SFT) como la optimización de preferencias directas (DPO), con enfoques de adaptación de rango completo o de rango bajo (LoRA), sus datos deben cumplir requisitos de formato específicos para garantizar un entrenamiento correcto del modelo. En esta sección se describen los formatos de datos, los métodos de validación y las prácticas recomendadas necesarias para ayudarle a preparar sus conjuntos de datos de forma eficaz para refinar 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 que se muestra a continuación. Para ver ejemplos y restricciones de este formato, consulte Preparación de datos para el refinamiento de modelos de comprensión.

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 archivos jsonl cumplan con las especificaciones de formato requeridas y a identificar cualquier posible problema antes de enviar su trabajo de refinamiento.

DPO

Requisitos de formato de datos de DPO: tanto para el DPO con rango completo como para el DPO con LoRa, los datos deben seguir el formato que se muestra a continuación. 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 el SFT. Para obtener más información, consulte Restricciones del conjunto de datos. Se espera un único archivo JSONL para el entrenamiento y un solo 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 un entrenamiento efectivo. Los datos de preferencias de alta calidad darán como resultado resultados más eficientes.

Formato de datos de DPO de muestra

// 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" } ] }

Formato de datos de DPO de muestra (varios turnos)

{ "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" } ] } ], }

Formato de datos de DPO de muestra (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 entrenamiento tienen un límite de tiempo predeterminado de 1 día, aunque las estimaciones en las tablas siguientes suponen una duración de entrenamiento de 5 días con fines ilustrativos. Como práctica recomendada, sugerimos aumentar el límite de tiempo de entrenamiento a un máximo de 28 días para acomodar cargas de trabajo de entrenamiento más prolongadas. Para solicitar un aumento de este límite, consulte Solicitar un aumento de cuota.

Límites de los conjuntos de datos de SFT

Longitud del contenido Modelo Método Conjuntos de datos Description (Descripción)

Trabajos con una longitud de contexto de 32 000

Amazon Nova Micro Rango completo y LoRA 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 hasta 100 000 registros.

Amazon Nova Lite

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, podrá tener hasta 100 000 registros.

Imagen y vídeo

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, podrá tener hasta 50 000 registros.

LoRA 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, podrá tener hasta 100 000 registros.

Imagen y vídeo 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, podrá tener hasta 90 000 registros.

Amazon Nova Pro

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, podrá tener hasta 40 000 registros.

Imagen y vídeo

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, podrá tener hasta 30 000 registros.

LoRA 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, podrá tener hasta 40 000 registros.

Imagen y vídeo

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, podrá tener hasta 35 000 registros.

Trabajos con una longitud de contexto de 64 000

Amazon Nova Micro Rango completo y LoRA Solo texto

Si utiliza 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, solo podrá tener hasta 50 000 registros.

Amazon Nova Lite

Rango completo Solo texto

Si utiliza 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, podrá tener hasta 50 000 registros.

Imagen y vídeo

Si utiliza 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, podrá tener hasta 30 000 registros.

LoRA -

Nova Lite no es compatible con LoRA a 64 000.

Amazon Nova Pro Rango completo y LoRA Solo texto

Si utiliza 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, podrá tener hasta 17 000 registros.

Imagen y vídeo

Si utiliza 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, podrá tener hasta 15 000 registros.

Límites de los conjuntos de datos de DPO

Longitud del contenido Modelo Método Conjuntos de datos Description (Descripción)

Trabajos con una longitud de contexto de 16 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 16 000 y, por ejemplo, se ejecutan durante 5 épocas, solo podrá tener hasta 120 000 registros.

LoRA 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 hasta 125 000 registros.

Amazon Nova Lite

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, podrá tener hasta 130 000 registros.

Image

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, puede completar 20 000 muestras en 2 días.

LoRA 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, podrá tener hasta 140 000 registros.

Image

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, puede completar 20 000 muestras en 2 días.

Amazon Nova Pro

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, podrá tener hasta 45 000 registros.

Image

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, puede completar 20 000 muestras en 4 días.

LoRA 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, podrá tener hasta 55 000 registros.

Image

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, 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 hasta 45 000 registros.

LoRA 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 hasta 50 000 registros.

Amazon Nova Lite

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, podrá tener hasta 55 000 registros.

Image

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, podrá tener hasta 35 000 registros.

LoRA 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, podrá tener hasta 60 000 registros.

Image

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, podrá tener hasta 35 000 registros.

Amazon Nova Pro 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, podrá tener hasta 20 000 registros.

Image

Si utiliza 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, podrá tener hasta 16 000 registros.

LoRA 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, podrá tener hasta 22 000 registros.

Image

Si utiliza 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, podrá tener hasta 18 000 registros.

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

Configuraciones SFT de rango completo y LoRA PEFT

En esta sección se ofrecen directrices sobre las configuraciones de fórmulas tanto para el refinamiento supervisado de rango completo (SFT) como para el refinamiento eficiente en parámetros de adaptación de rango bajo (LoRA PEFT). Estos archivos de fórmulas sirven como esquema para sus trabajos de personalización de modelos, permitiéndole especificar los parámetros de entrenamiento, los hiperparámetros y otros ajustes críticos que determinan cómo su modelo aprende de los datos. Para ajustar los hiperparámetros, siga las instrucciones de Selección de hiperparámetros.

Configuraciones de refinamiento (SFT de rango completo y LoRA PEFT)

La única diferencia entre la SFT de rango completo y la LoRA PEFT en términos de fórmula es la configuración de la LoRA PEFT, que se establece en "nula" para el rango completo y se establece en los valores adecuados si se utiliza un refinamiento basado en LoRA PEFT. Hay ejemplos de recetas disponibles en el repositorio de recetas. SageMaker HyperPod GitHub En las siguientes tablas se muestran configuraciones detalladas que pueden resultarle de utilidad.

Acerca de la configuración "run".

Key Definición Micro Lite Pro
Ejecutar configuración model_type

Especifica la variante del modelo Nova que desea 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»

model_name_or_path

La ruta al modelo base.

"nova-micro/prod"

"nova-lite/prod"

"nova-pro/prod"

replicas

El número de instancias de computación que se van a utilizar para el entrenamiento distribuido.

2, 4 o 8

4 8 o 16

6, 12 o 24

Acerca de la configuración "training_config".

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

Longitud máxima de secuencia en tokens. Determina el tamaño de la ventana de contexto para entrenamiento. Se puede ajustar al múltiplo más cercano de 1024, valor máximo: 65536 (para Lite LoRA 32768).

1024

65536, excepto Lite LoRA, que admite 32768.
global_batch_size

Muestras totales por paso, los valores permitidos son 16, 32, 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 del entrenador trainer max_epochs

El número de pasadas completas en el 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 un máximo de 5.

1 -
Configuración de modelos model hidden_dropout

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

0 1
model attention_dropout

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

0 1
model ffn_dropout

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

0 1
Configuración del optimizador model.optim lr

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 name

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

- -
model.optim adam_w_mode

Habilite el modo AdamW (verdadero/falso).

- -
model.optim eps

Epsilon para una estabilidad numérica.

model.optim weight_decay

Fuerza de regularización L2, debe estar entre 0,0 y 1,0.

0 1
model.optim betas

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 degradación. Los límites están entre 0 y 1, pero deben ser inferiores a la tasa de aprendizaje.

0 1

Configuración de LoRA PEFT

model.peft peft_scheme

Utilice "lora" o "null". "lora" utiliza el método LoRA PEFT para un refinamiento eficiente en parámetros. "null" inicia un refinamiento de rango completo.

- -
model.peft lora_tuning.loraplus_lr_ratio

El factor de escalado de la tasa de aprendizaje de LoRA+ debe estar entre 0,0 y 100,0.

0 100
model.peft lora_tuning.alpha

Factor de escalado para ponderaciones de LoRA. Los valores permitidos son 32, 64, 96, 128, 160 y 192.

32 192
model.peft lora_tuning.adapter_dropout

Regularización de los parámetros de LoRA. Debe estar entre 0,0 y 1,0.

0 1

Configuraciones específicas del refinamiento (DPO)

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

Clave raíz Claves secundarias Definición Mínimo Máximo
max_length Longitud máxima de secuencia en tokens. Determina el tamaño de la ventana de contexto para entrenamiento. Se puede ajustar al múltiplo de 1024 más cercano, valor máximo: 32 768.

1024

32768

global_batch_size

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

16 256
Configuración del entrenador trainer max_epochs

El número de pasadas completas en el conjunto de datos de entrenamiento. Para la mayoría de las tareas de personalización, suelen ser suficientes de 1 a 5 épocas. El número máximo de épocas es de 5.

1 5
Configuración de modelos model hidden_dropout

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

0 1
model attention_dropout

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

0 1
model ffn_dropout

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

0 1
Configuración del optimizador model.optim lr

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 name

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

- -
model.optim adam_w_mode

Habilite el modo AdamW (verdadero/falso).

- -
model.optim eps

Epsilon para una estabilidad numérica.

1.00E-10 1.00E-06
model.optim weight_decay

Fuerza de regularización L2, debe estar entre 0,0 y 1,0.

0 1
model.optim betas

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 degradación. Los límites están entre 0 y 1, pero deben ser inferiores a la tasa de aprendizaje.

0 1

Configuración de LoRA PEFT

model.peft peft_scheme

Utilice "lora" o "null". "lora" utiliza el método LoRA PEFT para un refinamiento eficiente en parámetros. "null" inicia un refinamiento de rango completo.

- -
model.peft lora_tuning.loraplus_lr_ratio

El factor de escalado de la tasa de aprendizaje de LoRA+ debe estar entre 0,0 y 100,0.

0 100
model.peft lora_tuning.alpha

Factor de escalado para ponderaciones de LoRA. Los valores permitidos son 32, 64, 96, 128, 160 y 192.

32 192
model.peft lora_tuning.adapter_dropout

Regularización de los parámetros de LoRA. Debe estar comprendido 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

¿Utilizas un modelo Nova personalizado en trabajos de SageMaker entrenamiento

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 portátiles 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 siguientes tablas para seleccionar las configuraciones de imagen URIs e instancia del contenedor adecuadas.

Selección de la URI de la imagen

Fórmula URI de imagen

URI de imagen de SFT

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

URI de imagen de DPO

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

Selección del tipo y el recuento de instancias

Modelo Tipo de trabajo Tipo de instancia Recuento de instancia recomendado Recuento de instancias permitido
Amazon Nova Micro Ajuste preciso (SFT/DPO, LoRa) g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Micro Ajuste fino (SFT, FFT) g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Lite Refinamiento (SFT, LoRA) g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Lite Ajuste fino (DPO, LoRa) g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Micro Ajuste fino (SFT) p5.48xlarge, p5en.48xlarge 2 1,2,4,8
Amazon Nova Lite Ajuste fino (SFT) p5.48xlarge, p5en.48xlarge 4 2, 4, 8, 16
Amazon Nova Pro Ajuste fino (SFT) p5.48xlarge, p5en.48xlarge 6 3, 6, 12, 24
Amazon Nova Micro Ajuste fino (DPO) p5.48xlarge, p5en.48xlarge 2 2,4,8
Amazon Nova Lite Ajuste fino (DPO) p5.48xlarge, p5en.48xlarge 4 4, 8, 16
Amazon Nova Pro Ajuste fino (DPO) p5.48xlarge, p5en.48xlarge 6 6, 12, 24

Cuaderno de ejemplo

En el siguiente ejemplo de cuaderno se muestra cómo ejecutar un trabajo de entrenamiento. 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.254.1 # 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})

Consejos de optimización de hiperparámetros

Para refinar de forma eficaz el modelo de Nova LLM, es necesario seleccionar cuidadosamente los hiperparámetros. Aunque en esta sección se explican la estructura y los componentes básicos de la fórmula, la optimización de los hiperparámetros para su caso de uso específico suele requerir orientación adicional. Para obtener recomendaciones exhaustivas sobre la selección de hiperparámetros, las prácticas recomendadas 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 entrenamiento y otros parámetros críticos adecuados en función de las características del conjunto de datos y los objetivos de entrenamiento. Recomendamos consultar esta guía al refinar la configuración de la fórmula 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 modelos de comprensión.

Modificaciones comunes de las fórmulas

Estos son algunos ajustes comunes de las fórmulas 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 lograr una mayor eficiencia con una computación limitada

    peft: peft_scheme: "lora" lora_tuning:
  • Para el refinamiento de instrucciones complejas

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