Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tutorial di pre-formazione del cluster Trainium Slurm
Il seguente tutorial configura un ambiente Trainium su un cluster Slurm e avvia un processo di formazione su un modello Llama da 8 miliardi di parametri.
Prerequisiti
Prima di iniziare a configurare il tuo ambiente, assicurati di avere:
-
Configura un cluster SageMaker HyperPod Trainium Slurm.
-
Una posizione di archiviazione condivisa. Può essere un FSx file system Amazon o un NFS sistema accessibile dai nodi del cluster.
-
Dati in uno dei seguenti formati:
-
JSON
-
JSONGZ(CompressoJSON)
-
ARROW
-
-
(Facoltativo) È necessario ottenere un HuggingFace token se si utilizzano i pesi del modello HuggingFace per il pre-allenamento o la messa a punto. Per ulteriori informazioni su come ottenere il token, consulta Token di accesso degli utenti.
Configura l'ambiente Trainium sullo Slurm Cluster
Per avviare un processo di formazione su un cluster Slurm, procedi come segue:
-
SSHnel nodo principale del tuo cluster Slurm.
-
Dopo aver effettuato l'accesso, configura l'ambiente Neuron. Per informazioni sulla configurazione di Neuron, consulta i passaggi di configurazione di Neuron.
Ti consigliamo di fare affidamento sul Deep learning preinstallato con i driver AMI di Neuron, come Ubuntu 20 con Pytorch. DLAMI -
Clona l'archivio delle SageMaker HyperPod ricette in una posizione di archiviazione condivisa nel cluster. La posizione di archiviazione condivisa può essere un FSx file system Amazon o un NFS sistema accessibile dai nodi del cluster.
git clone --recursive https://github.com/aws/sagemaker-hyperpod-recipes.git cd sagemaker-hyperpod-recipes pip3 install -r requirements.txt
-
Segui il seguente tutorial: HuggingFace Llama3-8B Pretraining
-
Preparare una configurazione del modello. Le configurazioni del modello disponibili nel repository Neuron. Per la configurazione del modello utilizzata in questo tutorial, vedi llama3
8b model config
Avvia il processo di formazione in Trainium
Per avviare un processo di formazione in Trainium, specifica una configurazione del cluster e una ricetta Neuron. Ad esempio, per avviare un processo di pre-formazione di llama3 8b in Trainium, imposta lo script di avvio su quanto segue: launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh
-
MODEL_CONFIG
: La configurazione del modello dalla sezione di configurazione dell'ambiente -
(Facoltativo) Se hai bisogno di pesi già addestrati, puoi fornire il HuggingFace token HuggingFace impostando la seguente coppia chiave-valore:
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"
Per avviare il processo di formazione, esegui il comando seguente:
bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh
Per ulteriori informazioni sulla configurazione del cluster Slurm, vedere. Esegui un processo di formazione su HyperPod Slurm