Avvio di un processo di formazione tramite HyperPod CLI - Amazon SageMaker AI

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 tramite HyperPod CLI

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 GitHub

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/

  • 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. L'invio dei lavori prima del completamento della sincronizzazione causa l'errore «Nessun file o directory di questo tipo». Attendi il completamento della sincronizzazione dopo la creazione del cluster.

Configurazione della HyperPod CLI per la personalizzazione di Amazon Nova

Per configurare la HyperPod CLI per la personalizzazione di Amazon Nova, segui i passaggi.
  1. 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
  2. Accedi alla cartella sagemaker-hyperpod-cli.

    cd sagemaker-hyperpod-cli
  3. Verifica di avere tutti i prerequisiti in Prerequisiti.

  4. Per configurare Helm, segui questi passaggi.

    1. 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
    2. Per rendere eseguibile lo script, esegui:

      chmod 700 get_helm.sh

      Questo comando modifica le autorizzazioni per rendere eseguibile lo script.

    3. Per eseguire lo script di installazione di Helm, esegui:

      ./get_helm.sh
    4. Per rimuovere lo script di installazione, esegui:

      rm -f ./get_helm.sh
  5. 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.

    1. Per connetterti al tuo cluster HyperPod EKS, esegui:

      aws eks update-kubeconfig --name <eks_cluster_name> --region us-east-1
    2. Per verificare la connessione al tuo cluster HyperPod EKS, esegui:

      kubectl config current-context
    3. Per scaricare gli aggiornamenti per le HyperPod dipendenze standard, esegui:

      helm dependencies update helm_chart/HyperPodHelmChart
    4. Per installare le HyperPod dipendenze standard, esegui:

      helm install dependencies helm_chart/HyperPodHelmChart --namespace kube-system
    5. Per accedere alla directory Helm chart, esegui:

      cd helm_chart
    6. 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 abbia 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
    7. Per tornare alla radice del codesagemaker-hyperpod-cli repository, esegui:

      cd ..
  6. Per procedere con l'installazione della HyperPod CLI insagemaker-hyperpod-cli, segui i passaggi.

    1. Installa la CLI usando pip:

      pip install -e .
    2. 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 sulle maiuscole, sugli spazi e sui caratteri di sottolineatura. custom-run-time Per ulteriori informazioni, vedere Nomi degli oggetti e. IDs

[Facoltativo] Se hai già un lavoro di formazione e desideri indirizzarti a un nodo specifico per il tuo prossimo lavoro, segui i passaggi.

  1. Per ottenere tutti i nodi liberi, esegui il comando seguente.

    kubectl get nodes —no-headers | awk '$2 != "NotReady" && $3 != "SchedulingDisabled" {print $1}'
  2. 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>
  3. 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.