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.
Tutorial de formación previa al clúster Trainium Slurm
El siguiente tutorial configura un entorno de Trainium en un clúster de Slurm y comienza un trabajo de formación en un modelo de 8 mil millones de parámetros de Llama.
Requisitos previos
Antes de empezar a configurar el entorno, asegúrese de tener:
-
Configure un clúster de SageMaker HyperPod Trainium Slurm.
-
Una ubicación de almacenamiento compartida. Puede ser un sistema de FSx archivos Amazon o un sistema NFS al que se pueda acceder desde los nodos del clúster.
-
Datos en uno de los siguientes formatos:
-
JSON
-
JSONGZ (JSON comprimido)
-
FLECHA
-
-
(Opcional) Debes obtener una HuggingFace ficha si utilizas las pesas del modelo para el entrenamiento previo o HuggingFace para ajustarlas con precisión. Para obtener más información sobre cómo obtener el token, consulta Tokens de acceso de usuario
.
Configure el entorno de Trainium en el clúster de Slurm
Para iniciar un trabajo de formación en un clúster de Slurm, haga lo siguiente:
-
Utilice SSH en el nodo principal de su clúster de Slurm.
-
Después de iniciar sesión, configure el entorno Neuron. Para obtener información sobre la configuración de Neuron, consulte los pasos de configuración de Neuron.
Recomendamos confiar en las AMI de aprendizaje profundo que vienen preinstaladas con los controladores de Neuron, como Ubuntu 20 con DLAMI Pytorch. -
Clona el repositorio de SageMaker HyperPod recetas en una ubicación de almacenamiento compartida del clúster. La ubicación de almacenamiento compartido puede ser un sistema de FSx archivos Amazon o un sistema NFS al que se pueda acceder desde los nodos del clúster.
git clone --recursive https://github.com/aws/sagemaker-hyperpod-recipes.git cd sagemaker-hyperpod-recipes pip3 install -r requirements.txt
-
Siga el siguiente tutorial: Capacitación previa sobre HuggingFace Llama3-8B
-
Prepare la configuración de un modelo. Las configuraciones del modelo están disponibles en el repositorio de Neuron. Para ver la configuración del modelo utilizada en este tutorial, consulte llama3
8b model config
Inicie el trabajo de formación en Trainium
Para iniciar un trabajo de formación en Trainium, especifique una configuración de clúster y una receta de neuron. Por ejemplo, para lanzar un trabajo previo a la formación de llama3 8b en Trainium, defina el script de lanzamiento, de la siguiente manera: launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh
-
MODEL_CONFIG
: La configuración del modelo de la sección de configuración del entorno -
(Opcional) Puede proporcionar el HuggingFace token si necesita pesos previamente entrenados HuggingFace configurando el siguiente par clave-valor:
recipes.model.hf_access_token=
<your_hf_token>
#!/bin/bash #Users should set up their cluster type in /recipes_collection/config.yaml SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"} COMPILE=0 TRAIN_DIR="${TRAIN_DIR}" # Location of training dataset MODEL_CONFIG="${MODEL_CONFIG}" # Location of config.json for the model HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \ base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \ instance_type="trn1.32xlarge" \ recipes.run.compile="$COMPILE" \ recipes.run.name="hf-llama3-8b" \ recipes.trainer.num_nodes=4 \ recipes=training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain \ recipes.data.train_dir="$TRAIN_DIR" \ recipes.model.model_config="$MODEL_CONFIG"
Para iniciar el trabajo de entrenamiento, ejecuta el siguiente comando:
bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh
Para obtener más información sobre la configuración del clúster de Slurm, consulte. Ejecutar un trabajo de formación en HyperPod Slurm