Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Tutoriel de pré-formation sur le cluster Trainium Kubernetes

Mode de mise au point
Tutoriel de pré-formation sur le cluster Trainium Kubernetes - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez utiliser l'une des méthodes suivantes pour démarrer une tâche de formation dans un cluster Trainium Kubernetes.

Prérequis

Avant de commencer à configurer votre environnement, assurez-vous que vous disposez des éléments suivants :

  • Configuration d'un cluster HyperPod Trainium Kubernetes

  • Un emplacement de stockage partagé qui peut être un système de FSx fichiers Amazon ou un système NFS accessible depuis les nœuds du cluster.

  • Données dans l'un des formats suivants :

    • JSON

    • JSONGZ (JSON compressé)

    • FLÈCHE

  • (Facultatif) Vous devez obtenir un HuggingFace jeton si vous utilisez les poids du modèle à des HuggingFace fins de pré-entraînement ou de réglage. Pour plus d'informations sur l'obtention du jeton, consultez la section Jetons d'accès utilisateur.

Configuration de votre environnement Trainium Kubernetes

Pour configurer l'environnement Trainium Kubernetes, procédez comme suit :

  1. Suivez les étapes du didacticiel suivant : HuggingFace Llama3-8B Pretraining en commençant par Télécharger le jeu de données.

  2. Préparez une configuration de modèle. Ils sont disponibles dans le référentiel Neuron. Pour ce didacticiel, vous pouvez utiliser la configuration du modèle llama3 8b.

  3. Configuration de l'environnement virtuel. Assurez-vous d'utiliser Python 3.9 ou une version ultérieure.

    python3 -m venv ${PWD}/venv source venv/bin/activate
  4. Installez les dépendances

    • (Recommandé) Utilisez l'outil de ligne de HyperPod commande suivant

      # install HyperPod command line tools git clone https://github.com/aws/sagemaker-hyperpod-cli cd sagemaker-hyperpod-cli pip3 install .
    • Si vous utilisez des SageMaker HyperPod recettes, spécifiez les éléments suivants

      # install SageMaker HyperPod Recipes. git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git cd sagemaker-hyperpod-recipes pip3 install -r requirements.txt
  5. Configurer kubectl et eksctl

  6. Installez Helm

  7. Connectez-vous à votre cluster Kubernetes

    aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}" hyperpod connect-cluster --cluster-name "${CLUSTER_NAME}" [--region "${CLUSTER_REGION}"] [--namespace <namespace>]
  8. Conteneur : Le conteneur Neuron

Lancez le job de formation avec la SageMaker HyperPod CLI

Nous vous recommandons d'utiliser l'outil d'interface de SageMaker HyperPod ligne de commande (CLI) pour soumettre votre tâche de formation avec vos configurations. L'exemple suivant soumet une tâche de formation pour le modèle hf_llama3_8b_seq8k_trn1x4_pretrain Trainium.

  • your_neuron_container: Le conteneur Neuron.

  • your_model_config: la configuration du modèle depuis la section de configuration de l'environnement

  • (Facultatif) Vous pouvez fournir le HuggingFace jeton si vous avez besoin de poids préentraînés HuggingFace en définissant la paire clé-valeur suivante :

    "recipes.model.hf_access_token": "<your_hf_token>"
hyperpod start-job --recipe training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain \ --persistent-volume-claims fsx-claim:data \ --override-parameters \ '{ "cluster": "k8s", "cluster_type": "k8s", "container": "<your_neuron_contrainer>", "recipes.run.name": "hf-llama3", "recipes.run.compile": 0, "recipes.model.model_config": "<your_model_config>", "instance_type": "trn1.32xlarge", "recipes.data.train_dir": "<your_train_data_dir>" }'

Après avoir soumis une offre de formation, vous pouvez utiliser la commande suivante pour vérifier si vous l'avez envoyée avec succès.

kubectl get pods NAME READY STATUS RESTARTS AGE hf-llama3-<your-alias>-worker-0 0/1 running 0 36s

Si STATUS c'est le cas PENDING ouContainerCreating, exécutez la commande suivante pour obtenir plus de détails.

kubectl describe pod <name of pod>

Une fois que la STATUS tâche est passée àRunning, vous pouvez examiner le journal à l'aide de la commande suivante.

kubectl logs <name of pod>

Ils se STATUS tourneront vers Completed lorsque vous courezkubectl get pods.

Lancez le job de formation avec le lanceur de recettes

Vous pouvez également utiliser SageMaker HyperPod des recettes pour soumettre votre offre de formation. Pour soumettre le poste de formation à l'aide d'une recette, mettez à jour k8s.yaml etconfig.yaml. Exécutez le script bash du modèle pour le lancer.

  • Dansk8s.yaml, mettez à jour persistent_volume_claims pour monter la FSx réclamation Amazon dans le répertoire /data des nœuds de calcul

    persistent_volume_claims: - claimName: fsx-claim mountPath: data
  • Mettre à jour launcher_ _hf_llama3_8b_seq8k_trn1x4_pretrain.sh scripts/llama/run

    • your_neuron_contrainer: Le conteneur de la section de configuration de l'environnement

    • your_model_config: La configuration du modèle depuis la section de configuration de l'environnement

    (Facultatif) Vous pouvez fournir le HuggingFace jeton si vous avez besoin de poids préentraînés HuggingFace en définissant la paire clé-valeur suivante :

    recipes.model.hf_access_token=<your_hf_token>
    #!/bin/bash #Users should set up their cluster type in /recipes_collection/config.yaml IMAGE="<your_neuron_contrainer>" MODEL_CONFIG="<your_model_config>" SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"} TRAIN_DIR="<your_training_data_dir>" # Location of training dataset VAL_DIR="<your_val_data_dir>" # Location of talidation dataset HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \ recipes=training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain \ base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \ recipes.run.name="hf-llama3-8b" \ instance_type=trn1.32xlarge \ recipes.model.model_config="$MODEL_CONFIG" \ cluster=k8s \ cluster_type=k8s \ container="${IMAGE}" \ recipes.data.train_dir=$TRAIN_DIR \ recipes.data.val_dir=$VAL_DIR
  • Lancez le job

    bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh

Après avoir soumis une offre de formation, vous pouvez utiliser la commande suivante pour vérifier si vous l'avez envoyée avec succès.

kubectl get pods NAME READY STATUS RESTARTS AGE hf-llama3-<your-alias>-worker-0 0/1 running 0 36s

Si STATUS c'est le cas PENDING ouContainerCreating, exécutez la commande suivante pour obtenir plus de détails.

kubectl describe pod <name of pod>

Lorsque le statut de la tâche devient En cours d'exécution, vous pouvez examiner le journal à l'aide de la commande suivante.

kubectl logs <name of pod>

Ils se STATUS tourneront vers Completed lorsque vous courezkubectl get pods.

Pour plus d'informations sur la configuration du cluster k8s, consultez. Tutoriel de pré-formation sur le cluster Trainium Kubernetes

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.