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.
Démarrage d'une tâche de formation à l'aide de la HyperPod CLI
HyperPod La CLI est un outil d'interface de ligne de commande permettant de gérer les clusters Amazon SageMaker HyperPod. Vous pouvez utiliser la HyperPod CLI pour créer, configurer et surveiller des HyperPod clusters pour les charges de travail d'apprentissage automatique. Pour plus d'informations, consultez le sagemaker-hyperpod-cli
Prérequis
-
Installez l'interface de ligne de commande HyperPod . Pour personnaliser Amazon Nova sur Amazon SageMaker HyperPod, vous devez consulter la
release_v2
branche pour utiliser la SageMaker HyperPod CLI. -
Vérifiez que le compartiment de sortie Nova existe avant de soumettre des tâches. Pour vérifier, exécutez
aws s3 ls s3://nova-111122223333/
. -
Comprendre les exigences de synchronisation FSx des données d'Amazon. Amazon FSx a besoin de temps pour synchroniser les données d'entraînement d'Amazon S3 avant que les tâches puissent être exécutées. L'envoi de tâches avant la fin de la synchronisation entraîne des erreurs « Aucun fichier ou répertoire de ce type ». Attendez la fin de la synchronisation après la création du cluster.
Configuration de la HyperPod CLI pour la personnalisation d'Amazon Nova
Pour configurer la HyperPod CLI pour la personnalisation d'Amazon Nova, suivez les étapes indiquées.
-
Clonez le sagemaker-hyperpod-cli
GitHub dépôt avec une branche release_v2
.git clone --recurse-submodules https://github.com/aws/sagemaker-hyperpod-cli.git --branch release_v2
-
Accédez au dossier
sagemaker-hyperpod-cli
.cd sagemaker-hyperpod-cli
-
Pour configurer Helm, procédez comme suit.
-
Pour télécharger le script d'installation de Helm, exécutez :
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
-
Pour rendre le script exécutable, exécutez :
chmod 700 get_helm.sh
Cette commande modifie les autorisations pour rendre le script exécutable.
-
Pour exécuter le script d'installation de Helm, exécutez :
./get_helm.sh
-
Pour supprimer le script d'installation, exécutez :
rm -f ./get_helm.sh
-
-
Pour installer des HyperPod dépendances prenant en charge les groupes d'instances restreints (RIG), procédez comme suit.
Note
Avant d'installer les dépendances, vous devez disposer d'un cluster HyperPod EKS avec RIG. Si vous n'en avez pas déjà un, suivez ces instructions pour en créer un.
-
Pour vous connecter à votre cluster HyperPod EKS, exécutez :
aws eks update-kubeconfig --name <eks_cluster_name> --region us-east-1
-
Pour vérifier la connexion à votre cluster HyperPod EKS, exécutez :
kubectl config current-context
-
Pour obtenir des mises à jour pour HyperPod les dépendances standard, exécutez :
helm dependencies update helm_chart/HyperPodHelmChart
-
Pour installer HyperPod les dépendances standard, exécutez :
helm install dependencies helm_chart/HyperPodHelmChart --namespace kube-system
-
Pour accéder au répertoire du graphique Helm, exécutez :
cd helm_chart
-
Pour installer des HyperPod dépendances spécifiques à RIG, exécutez la commande suivante.
Note
Avant d'installer les dépendances, tenez compte des points suivants :
-
Vous ne devez exécuter cette commande qu'une seule fois par cluster après sa création.
-
Vous devez vous assurer que l'utilitaire yq possède une version 4 au moins (par exemple v4). Une vérification intégrée permet de confirmer que yq >=4 est disponible dans le script d'installation.
-
Vous devrez confirmer l'installation en entrant
y
lorsque vous y serez invité. Avant de confirmer, consultez éventuellement l'installation prévue à l'adresse./rig-dependencies.yaml
.
chmod 700 ./install_rig_dependencies.sh && ./install_rig_dependencies.sh
-
-
Pour revenir à la racine du
codesagemaker-hyperpod-cli
dépôt, exécutez :cd ..
-
-
Pour procéder à l'installation de la HyperPod CLI dans
sagemaker-hyperpod-cli
, suivez les étapes indiquées.-
Installez la CLI à l'aide de pip :
pip install -e .
Vérifier l'installation :
hyperpod --help
-
Envoi d’une tâche
Vous pouvez utiliser la HyperPod CLI pour soumettre un travail de formation.
Pour soumettre une tâche à l'aide d'une recette, exécutez la commande suivante.
hyperpod start-job [--namespace <namespace>] --recipe {{fine-tuning | evaluation | training}}/nova/<Your_Recipe_Name> --override-parameters \ '{ "instance_type":"p5d.48xlarge", "container": <Docker Image>, "recipes.run.name": <custom-run-name>, "recipes.run.output_s3_path": "<customer-s3-path>" }'
-
--recipe
: le type de tâche que vous exécutez à l'aide de la recette. Les valeurs valides sont les suivantes :fine-tuning
|evaluation
|training
.Type de tâche Valeur SFT/PEFT/PPO/DPO tâches fine-tuning
Emplois d'évaluation evaluation
Emplois CPT training
-
Nom de la recette : Vous pouvez trouver le nom dans le référentiel sous le répertoire :
/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipe_collection/recipes/
. -
Exemple de recette :
--recipe evaluation/nova/nova_lite_g5_12xl_bring_your_own_dataset_eval
. -
Conteneur : Ce champ est obligatoire. Pour trouver les images correspondant aux types de tâches, consultez le tableau suivant.
Technique Conteneur DPO 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-DPO-Latest nova-fine-tune-repo Emplois d'évaluation 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-Eval-Latest nova-evaluation-repo CPT 708977205387.dkr. ecr.us-east-1.amazonaws.com /:hp-cpt-latest nova-fine-tune-repo PPO 708977205387.dkr. ecr.us-east-1.amazonaws.com /:smhp-ppo-train-latest nova-fine-tune-repo SFT/GAUCHE 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-Latest nova-fine-tune-repo -
Nom d'exécution personnalisé : il existe des contraintes de définition sur l'
custom-run-time
entrée, par exemple, en majuscules, sans espaces, sans traits de soulignement. Pour plus d'informations, consultez les sections Noms des objets et IDs.
[Facultatif] Si vous avez déjà un poste de formation et que vous souhaitez cibler un nœud spécifique pour votre prochain travail, suivez les étapes indiquées.
-
Pour obtenir tous les nœuds gratuits, exécutez la commande suivante.
kubectl get nodes —no-headers | awk '$2 != "NotReady" && $3 != "SchedulingDisabled" {print $1}'
-
Ajoutez ce qui suit au
src\hyperpod_cli\sagemaker_hyperpod_recipes\recipes_collection\cluster\k8s.yaml
fichier pour le sélecteur d'étiquettes.label_selector: required: kubernetes.io/hostname: - <node_name>
-
Dans le répertoire racine, exécutez la commande suivante. Cela garantit SageMaker HyperPod qu'il est installé sur le système de l'utilisateur, ce qui lui permet d'utiliser le mot clé « hyperpod » pour la soumission de tâches et d'autres fonctions. Vous devez exécuter cette commande depuis le dossier racine où se trouve le code de la HyperPod CLI.
pip install .
Affichage des tâches
Pour répertorier les tâches, exécutez la commande suivante.
hyperpod list-jobs [--namespace <namespace>] [--all-namespaces]
La commande répertorie toutes les tâches dans l'espace de noms spécifié ou dans tous les espaces de noms.
Obtenez les détails du poste
Pour obtenir les détails d'une tâche, exécutez la commande suivante.
hyperpod get-job --job-name <job-name> [--namespace <namespace>] [--verbose]
La commande récupère des informations détaillées sur une tâche spécifique.
Liste des pods
Pour répertorier les pods, exécutez la commande suivante.
hyperpod list-pods --job-name <job-name> [--namespace <namespace>]
La commande répertorie tous les pods associés à une tâche spécifique dans l'espace de noms spécifié.
Annuler des offres d'emploi
Pour annuler une tâche, exécutez la commande suivante.
hyperpod cancel-job --job-name <job-name> [--namespace <namespace>]
Cette commande annule et supprime une tâche d'entraînement en cours dans l'espace de noms spécifié.