Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Configuración general

Modo de enfoque
Configuración general - 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.

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.

El archivo config.yaml especifica la receta de entrenamiento y el clúster. También incluye configuraciones de tiempo de ejecución, como variables de entorno para el trabajo de entrenamiento.

defaults: - _self_ - cluster: slurm - recipes: training/llama/hf_llama3_8b_seq8192_gpu instance_type: p5.48xlarge git: repo_url_or_path: null branch: null commit: null entry_script: null token: null env_vars: NCCL_DEBUG: WARN

Puede modificar los siguientes parámetros enconfig.yaml:

  1. defaults: especifique la configuración predeterminada, como el clúster predeterminado o las recetas predeterminadas.

  2. instance_type: modifica el tipo de EC2 instancia de Amazon para que coincida con el tipo de instancia que estás utilizando.

  3. git: especifique la ubicación del repositorio de adaptadores de SageMaker HyperPod recetas para el trabajo de formación.

  4. env_vars: Puede especificar las variables de entorno que se transferirán a su trabajo de entrenamiento en tiempo de ejecución. Por ejemplo, puede ajustar el nivel de registro de NCCL especificando la variable de entorno NCCL_DEBUG.

La receta es la configuración básica que define la arquitectura de su trabajo de formación. Este archivo incluye muchos datos importantes para su trabajo de formación, como los siguientes:

  • Si se debe utilizar el paralelismo de modelos

  • La fuente de sus conjuntos de datos

  • Entrenamiento de precisión mixta

  • Configuraciones relacionadas con los puntos de control

Puede utilizar las recetas tal cual. También puede utilizar la siguiente información para modificarlas.

ejecutar

La siguiente es la información básica de ejecución para ejecutar el trabajo de entrenamiento.

run: name: llama-8b results_dir: ${base_results_dir}/${.name} time_limit: "6-00:00:00" model_type: hf
  1. name: especifique el nombre del trabajo de entrenamiento en el archivo de configuración.

  2. results_dir: Puede especificar el directorio en el que se almacenan los resultados de su trabajo de formación.

  3. time_limit: Puede establecer un tiempo máximo de entrenamiento para su trabajo de entrenamiento para evitar que ocupe recursos de hardware durante demasiado tiempo.

  4. model_type: Puede especificar el tipo de modelo que va a utilizar. Por ejemplo, puede especificar hf si su modelo es de HuggingFace.

exp_manager

El exp_manager configura el experimento. Con el exp_manager, puede especificar campos como el directorio de salida o la configuración de los puntos de control. El siguiente es un ejemplo de cómo se puede configurar el exp_manager.

exp_manager: exp_dir: null name: experiment create_tensorboard_logger: True
  1. exp_dir: El directorio de experimentos incluye los archivos de salida estándar y de error estándar para su trabajo de formación. De forma predeterminada, usa tu directorio actual.

  2. name: El nombre del experimento utilizado para identificarlo en exp_dir.

  3. create_tensorboard_logger: especifique True o False active o desactive el TensorBoard registrador.

Creación de puntos de control

Estos son los tres tipos de puntos de control que admitimos:

  • Puntos de control automáticos

  • Puntos de control manuales

  • Puntos de control completos

Puntos de control automáticos

Si guardas o cargas puntos de control gestionados automáticamente por el adaptador de SageMaker HyperPod recetas, puedes activarlos. auto_checkpoint Para activarlosauto_checkpoint, enabled configúrelos en. True Puedes usar los puntos de control automáticos tanto para el entrenamiento como para el ajuste. Puede utilizar los puntos de control automáticos tanto para los sistemas de archivos compartidos como para Amazon S3.

exp_manager checkpoint_dir: ${recipes.exp_manager.exp_dir}/checkpoints/ auto_checkpoint: enabled: True

El punto de control automático guarda el local_state_dict de forma asíncrona con un intervalo de almacenamiento óptimo calculado automáticamente.

nota

En este modo de puntos de control, los puntos de control guardados automáticamente no admiten la refragmentación entre las sesiones de entrenamiento. Para reanudar desde el último punto de control guardado automáticamente, debe conservar los mismos grados de fragmento. No es necesario que especifiques información adicional para la reanudación automática.

Control manual

Puede modificarlo checkpoint_callback_params para guardar de forma asíncrona un punto de control intermedio en shared_state_dict. Por ejemplo, puede especificar la siguiente configuración para habilitar los puntos de control fragmentados cada 10 pasos y conservar los 3 puntos de control más recientes.

Los puntos de control fragmentados te permiten cambiar los grados de fragmentación entre las sesiones de entrenamiento y cargar el punto de control mediante ajustes. resume_from_checkpoint

nota
  • Si se trata de un ajuste de PEFT, los puntos de control fragmentados no son compatibles con Amazon S3.

  • Los puntos de control automáticos y manuales se excluyen mutuamente.

  • Solo se permiten los cambios en los grados de fragmentación y los grados de replicación del FSDP.

exp_manager: checkpoint_callback_params: # Set save_top_k = 0 to disable sharded checkpointing save_top_k: 3 every_n_train_steps: 10 monitor: "step" mode: "max" save_last: False resume_from_checkpoint: ${recipes.exp_manager.exp_dir}/checkpoints/

Para obtener más información sobre los puntos de control, consulte. Puntos de comprobación mediante SMP

Puntos de control completos

El punto de control full_state_dict exportado se puede utilizar para inferencias o ajustes precisos. Puede cargar un punto de control completo mediante hf_model_name_or_path. En este modo, solo se guardan los pesos del modelo.

Para exportar el modelo full_state_dict, puede configurar los siguientes parámetros.

nota

Actualmente, los puntos de control completos no son compatibles con los puntos de control de Amazon S3. No puede configurar la ruta S3 exp_manager.checkpoint_dir si está habilitando los puntos de control completos. Sin embargo, puede exp_manager.export_full_model.final_export_dir configurarlo en un directorio específico de su sistema de archivos local y, al mismo tiempo, exp_manager.checkpoint_dir configurar una ruta de Amazon S3.

exp_manager: export_full_model: # Set every_n_train_steps = 0 to disable full checkpointing every_n_train_steps: 0 save_last: True final_export_dir : null

modelo

Defina varios aspectos de la arquitectura de su modelo y del proceso de formación. Esto incluye la configuración del paralelismo, la precisión y el manejo de datos del modelo. A continuación se muestran los componentes clave que puede configurar en la sección de modelos:

paralelismo del modelo

Una vez que haya especificado la receta, defina el modelo que está entrenando. También puedes definir el paralelismo del modelo. Por ejemplo, puede definir tensor_model_parallel_degree. Puedes habilitar otras funciones, como el entrenamiento con precisión. FP8 Por ejemplo, puedes entrenar un modelo con paralelismo tensorial y paralelismo contextual:

model: model_type: llama_v3 # Base configs train_batch_size: 4 val_batch_size: 1 seed: 12345 grad_clip: 1.0 # Model parallelism tensor_model_parallel_degree: 4 expert_model_parallel_degree: 1 context_parallel_degree: 2

Para comprender mejor los diferentes tipos de técnicas de paralelismo de modelos, puede consultar los siguientes enfoques:

FP8

Para habilitarlo FP8 (precisión de punto flotante de 8 bits), puede especificar la configuración relacionada en el FP8 siguiente ejemplo:

model: # FP8 config fp8: True fp8_amax_history_len: 1024 fp8_amax_compute_algo: max

Es importante tener en cuenta que, actualmente, el formato de FP8 datos solo se admite en el tipo de instancia P5. Si utilizas un tipo de instancia anterior, como la P4, desactiva la FP8 función para tu proceso de entrenamiento de modelos. Para obtener más información al respecto FP8, consulteEntrenamiento de precisión mixta.

data

Puedes especificar tus conjuntos de datos personalizados para tu trabajo de entrenamiento añadiendo las rutas de datos en la sección de datos. El módulo de datos de nuestro sistema admite los siguientes formatos de datos:

  1. JSON

  2. JSONGZ (JSON comprimido)

  3. FLECHA

Sin embargo, usted es responsable de preparar su propio conjunto de datos previamente tokenizado. Si es un usuario avanzado con requisitos específicos, también existe la opción de implementar e integrar un módulo de datos personalizado. Para obtener más información sobre los HuggingFace conjuntos de datos, consulte Conjuntos de datos.

model: data: train_dir: /path/to/your/train/data val_dir: /path/to/your/val/data dataset_type: hf use_synthetic_data: False

Puedes especificar cómo vas a entrenar el modelo. De forma predeterminada, la receta utiliza el entrenamiento previo en lugar de los ajustes. El siguiente ejemplo configura la receta para ejecutar un trabajo de ajuste con LoRa (adaptación de rango bajo).

model: # Fine tuning config do_finetune: True # The path to resume from, needs to be HF compatible hf_model_name_or_path: null hf_access_token: null # PEFT config peft: peft_type: lora rank: 32 alpha: 16 dropout: 0.1

Para obtener información sobre las recetas, consulte recetas. SageMaker HyperPod

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.