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à.
Avvio di un processo di formazione utilizzando la HyperPod CLI
SageMaker HyperPod CLI è uno strumento di interfaccia a riga di comando per la gestione dei cluster Amazon. SageMaker HyperPod Puoi utilizzare la HyperPod CLI per creare, configurare e monitorare i HyperPod cluster per carichi di lavoro di machine learning. Per ulteriori informazioni, consulta il repository. sagemaker-hyperpod-cli
Prerequisiti
-
Installazione della CLI HyperPod . Per la personalizzazione di Amazon Nova su Amazon SageMaker HyperPod, devi controllare la
release_v2
filiale per utilizzare la SageMaker HyperPod CLI. -
Verifica che il bucket di output Nova esista prima di inviare i lavori. Per verificare, esegui.
aws s3 ls s3://nova-111122223333/
Il nome del bucket è il valore specificato
recipes.run.output_s3_path
nella ricetta. Questo bucket di output memorizzerà un file manifest generato dopo l'addestramento, che conterrà i percorsi S3 agli artefatti di output archiviati nel bucket Amazon S3 gestito dal servizio. Inoltre, può facoltativamente archiviare file o risultati di valutazione. TensorBoard -
Comprensione dei requisiti di sincronizzazione FSx dei dati di Amazon. Amazon FSx ha bisogno di tempo per sincronizzare i dati di formazione di Amazon S3 prima che i lavori possano essere eseguiti.
Configura la HyperPod CLI per la personalizzazione di Amazon Nova
Per configurare la HyperPod CLI per la personalizzazione di Amazon Nova, segui questi passaggi.
-
Clona il sagemaker-hyperpod-cli
GitHub repository con branch. release_v2
git clone --recurse-submodules https://github.com/aws/sagemaker-hyperpod-cli.git --branch release_v2
-
Accedi alla cartella
sagemaker-hyperpod-cli
.cd sagemaker-hyperpod-cli
-
Per configurare Helm, segui questi passaggi.
-
Per scaricare lo script di installazione di Helm, esegui:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
-
Per rendere eseguibile lo script, esegui:
chmod 700 get_helm.sh
Questo comando modifica le autorizzazioni per rendere eseguibile lo script.
-
Per eseguire lo script di installazione di Helm, esegui:
./get_helm.sh
-
Per rimuovere lo script di installazione, esegui:
rm -f ./get_helm.sh
-
-
Per installare HyperPod le dipendenze con supporto per i gruppi di istanze limitati (RIG), segui questi passaggi.
Nota
Prima di installare le dipendenze, è necessario disporre di un cluster HyperPod EKS con RIG. Se non ne hai già uno, segui queste istruzioni per crearne uno.
-
Per connetterti al tuo cluster HyperPod EKS, esegui:
aws eks update-kubeconfig --name <eks_cluster_name> --region us-east-1
-
Per verificare la connessione al tuo cluster HyperPod EKS, esegui:
kubectl config current-context
-
Per scaricare gli aggiornamenti per le HyperPod dipendenze standard, esegui:
helm dependencies update helm_chart/HyperPodHelmChart
-
Per installare le HyperPod dipendenze standard, esegui:
helm install dependencies helm_chart/HyperPodHelmChart --namespace kube-system
-
Per accedere alla directory Helm chart, esegui:
cd helm_chart
-
Per installare HyperPod dipendenze specifiche di RIG, esegui il seguente comando.
Nota
Prima di installare le dipendenze, considera quanto segue:
-
È necessario eseguire questo comando solo una volta per cluster dopo la sua creazione.
-
È necessario assicurarsi che l'utilità yq sia installata con una versione almeno 4 (ad esempio v4). C'è un controllo integrato per confermare che yq >=4 è disponibile nello script di installazione.
-
Dovrai confermare l'installazione inserendo quando
y
richiesto. Facoltativamente, prima della conferma, visualizza l'installazione prevista all'indirizzo../rig-dependencies.yaml
chmod 700 ./install_rig_dependencies.sh && ./install_rig_dependencies.sh
-
-
Per tornare alla radice del
codesagemaker-hyperpod-cli
repository, esegui:cd ..
-
-
Per procedere con l'installazione della HyperPod CLI in
sagemaker-hyperpod-cli
, segui questi passaggi.-
Installa la CLI usando pip:
pip install -e .
Verifica l'installazione:
hyperpod --help
-
Invio di un processo
Puoi utilizzare la HyperPod CLI per inviare un lavoro di formazione.
Per inviare un lavoro utilizzando una ricetta, esegui il comando seguente.
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
: il tipo di processo che stai eseguendo utilizzando la ricetta. I valori validi sono:fine-tuning
|evaluation
|training
.Tipo di processo Valore SFT/PEFT/PPO/DPO processi fine-tuning
Processi di valutazione evaluation
Offerte di lavoro CPT training
-
Nome della ricetta: Puoi trovare il nome nel repository sotto la directory:.
/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipe_collection/recipes/
-
Ricetta di esempio:
--recipe evaluation/nova/nova_lite_g5_12xl_bring_your_own_dataset_eval
. -
Contenitore: Questo campo è obbligatorio. Per trovare le immagini per i tipi di lavoro, consulta la tabella seguente.
Tecnica Container DPO 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-DPO-Ultime nova-fine-tune-repo Processi di valutazione 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-EVAL-Più recente 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-Ultime nova-fine-tune-repo SFT/SINISTRA 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-Ultime nova-fine-tune-repo -
Nome di esecuzione personalizzato: ci sono dei vincoli di definizione sull'input, ad esempio niente maiuscole, niente spazi, niente trattini bassi.
custom-run-time
Per ulteriori informazioni, vedere Nomi degli oggetti e. IDs
[Facoltativo] Se hai già un lavoro di formazione e desideri scegliere come target un nodo specifico per il tuo prossimo lavoro, segui questi passaggi.
-
Per ottenere tutti i nodi liberi, esegui il comando seguente.
kubectl get nodes —no-headers | awk '$2 != "NotReady" && $3 != "SchedulingDisabled" {print $1}'
-
Aggiungi quanto segue al
src\hyperpod_cli\sagemaker_hyperpod_recipes\recipes_collection\cluster\k8s.yaml
file for label selector.label_selector: required: kubernetes.io/hostname: - <node_name>
-
Nella directory principale, esegui il comando seguente. Ciò garantisce che SageMaker HyperPod sia installato sul sistema dell'utente, consentendogli di utilizzare la parola chiave «hyperpod» per l'invio di lavori e altre funzioni. È necessario eseguire questo comando dalla cartella principale in cui si trova il codice HyperPod CLI.
pip install .
Visualizzazione di un elenco dei processi
Per elencare i lavori, esegui il comando seguente.
hyperpod list-jobs [--namespace <namespace>] [--all-namespaces]
Il comando elenca tutti i lavori nello spazio dei nomi specificato o in tutti i namespace.
Ottieni i dettagli del lavoro
Per ottenere i dettagli di un lavoro, esegui il comando seguente.
hyperpod get-job --job-name <job-name> [--namespace <namespace>] [--verbose]
Il comando recupera informazioni dettagliate su un lavoro specifico.
Elenca i pod
Per elencare i pod, esegui il seguente comando.
hyperpod list-pods --job-name <job-name> [--namespace <namespace>]
Il comando elenca tutti i pod associati a un lavoro specifico nello spazio dei nomi specificato.
Annulla i lavori
Per annullare un lavoro, esegui il comando seguente.
hyperpod cancel-job --job-name <job-name> [--namespace <namespace>]
Questo comando annulla ed elimina un processo di formazione in esecuzione nello spazio dei nomi specificato.