Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Leitfaden HyperPod für Amazon Essential Commands
Amazon Amazon SageMaker HyperPod bietet umfangreiche Befehlszeilenfunktionen für die Verwaltung von Schulungsabläufen. Dieses Handbuch behandelt wichtige Befehle für allgemeine Operationen, von der Verbindung mit Ihrem Cluster bis hin zur Überwachung des Auftragsfortschritts.
Voraussetzungen
Bevor Sie diese Befehle verwenden, stellen Sie sicher, dass Sie die folgende Einrichtung abgeschlossen haben:
-
HyperPod Cluster mit erstelltem RIG (normalerweise in us-east-1)
-
Ausgabe eines Amazon S3 S3-Buckets, der für Trainingsartefakte erstellt wurde
-
Mit entsprechenden Berechtigungen konfigurierte IAM-Rollen
-
Trainingsdaten wurden im richtigen JSONL-Format hochgeladen
-
FSx Die Lustre-Synchronisierung ist abgeschlossen (beim ersten Job in den Cluster-Protokollen überprüfen)
Themen
Recipe CLI installieren
Navigieren Sie zum Stammverzeichnis Ihres Rezept-Repositorys, bevor Sie den Installationsbefehl ausführen.
Verwenden Sie das SageMaker HyperPodrecipes Repository, wenn Sie Anpassungstechniken verwenden, die nicht von Forge stammen. Informationen zur Anpassung auf Forge-Basis finden Sie im Forge-spezifischen Rezept-Repository.
Führen Sie die folgenden Befehle aus, um die HyperPod CLI zu installieren:
Anmerkung
Stellen Sie sicher, dass Sie sich nicht in einer aktiven Conda/Anaconda/Miniconda-Umgebung oder einer anderen virtuellen Umgebung befinden
Wenn ja, verlassen Sie die Umgebung bitte mit:
-
conda deactivatefür Conda/Anaconda/Miniconda-Umgebungen -
deactivatefür virtuelle Python-Umgebungen
Wenn Sie eine Technik zur Anpassung verwenden, die nicht von Forge stammt, laden Sie sagemaker-hyperpod-recipes sie wie folgt herunter:
git clone -b release_v2 https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli pip install -e . cd .. root_dir=$(pwd) export PYTHONPATH=${root_dir}/sagemaker-hyperpod-cli/src/hyperpod_cli/sagemaker_hyperpod_recipes/launcher/nemo/nemo_framework_launcher/launcher_scripts:$PYTHONPATH curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh rm -f ./get_helm.sh
Wenn Sie ein Forge-Abonnent sind, sollten Sie die Rezepte mithilfe des unten genannten Verfahrens herunterladen.
mkdir NovaForgeHyperpodCLI cd NovaForgeHyperpodCLI aws s3 cp s3://nova-forge-c7363-206080352451-us-east-1/v1/ ./ --recursive pip install -e . curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh rm -f ./get_helm.sh
Tipp
Um vor der Ausführung eine neue virtuelle Umgebungpip install -e ., führen Sie folgenden Befehl aus:
-
python -m venv nova_forge -
source nova_forge/bin/activate -
In Ihrer Befehlszeile wird nun (nova_forge) am Anfang Ihrer Eingabeaufforderung angezeigt
-
Dadurch wird sichergestellt, dass bei der Verwendung der CLI keine konkurrierenden Abhängigkeiten bestehen
Zweck: Warum tun wir daspip install -e .?
Dieser Befehl installiert die HyperPod CLI im bearbeitbaren Modus, sodass Sie aktualisierte Rezepte verwenden können, ohne sie jedes Mal neu installieren zu müssen. Außerdem können Sie neue Rezepte hinzufügen, die von der CLI automatisch abgerufen werden können.
Verbindungsaufbau mit Ihrem Cluster
Connect die HyperPod CLI mit Ihrem Cluster, bevor Sie Jobs ausführen:
export AWS_REGION=us-east-1 && hyperpod connect-cluster --cluster-name <your-cluster-name> --region us-east-1
Wichtig
Dieser Befehl erstellt eine Kontextdatei (/tmp/hyperpod_context.json), die für nachfolgende Befehle erforderlich ist. Wenn Sie eine Fehlermeldung darüber erhalten, dass diese Datei nicht gefunden wurde, führen Sie den Befehl connect erneut aus.
Profi-Tipp: Sie können Ihren Cluster weiter so konfigurieren, dass er immer den kubeflow Namespace verwendet, indem Sie das --namespace
kubeflow Argument wie folgt zu Ihrem Befehl hinzufügen:
export AWS_REGION=us-east-1 && \ hyperpod connect-cluster \ --cluster-name <your-cluster-name> \ --region us-east-1 \ --namespace kubeflow
Dies erspart Ihnen den Aufwand, das -n kubeflow bei der Interaktion mit Ihren Jobs in jedem Befehl hinzufügen zu müssen.
Einen Ausbildungsjob beginnen
Anmerkung
Wenn Sie PPO/RFT Jobs ausführen, stellen Sie sicher, dass Sie Labelauswahl-Einstellungen hinzufügen, src/hyperpod_cli/sagemaker_hyperpod_recipes/recipes_collection/cluster/k8s.yaml sodass alle Pods auf demselben Knoten geplant sind.
label_selector: required: sagemaker.amazonaws.com/instance-group-name: - <rig_group>
Starten Sie einen Trainingsjob mithilfe eines Rezepts mit optionalen Parameterüberschreibungen:
hyperpod start-job -n kubeflow \ --recipe fine-tuning/nova/nova_1_0/nova_micro/SFT/nova_micro_1_0_p5_p4d_gpu_lora_sft \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-HP-SFT-latest" }'
Erwartete Ausgabe:
Final command: python3 <path_to_your_installation>/NovaForgeHyperpodCLI/src/hyperpod_cli/sagemaker_hyperpod_recipes/main.py recipes=fine-tuning/nova/nova_micro_p5_gpu_sft cluster_type=k8s cluster=k8s base_results_dir=/local/home/<username>/results cluster.pullPolicy="IfNotPresent" cluster.restartPolicy="OnFailure" cluster.namespace="kubeflow" container="708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:HP-SFT-DATAMIX-latest" Prepared output directory at /local/home/<username>/results/<job-name>/k8s_templates Found credentials in shared credentials file: ~/.aws/credentials Helm script created at /local/home/<username>/results/<job-name>/<job-name>_launch.sh Running Helm script: /local/home/<username>/results/<job-name>/<job-name>_launch.sh NAME: <job-name> LAST DEPLOYED: Mon Sep 15 20:56:50 2025 NAMESPACE: kubeflow STATUS: deployed REVISION: 1 TEST SUITE: None Launcher successfully generated: <path_to_your_installation>/NovaForgeHyperpodCLI/src/hyperpod_cli/sagemaker_hyperpod_recipes/launcher/nova/k8s_templates/SFT { "Console URL": "https://us-east-1.console.aws.amazon.com/sagemaker/home?region=us-east-1#/cluster-management/<your-cluster-name>" }
Jobstatus wird überprüft
Überwachen Sie Ihre laufenden Jobs mit kubectl:
kubectl get pods -o wide -w -n kubeflow | (head -n1 ; grep <your-job-name>)
Pod-Status verstehen
In der folgenden Tabelle werden die häufigsten Pod-Status erklärt:
Status |
Description |
|---|---|
|
Der Pod wurde akzeptiert, aber noch nicht für einen Knoten geplant oder wartet darauf, dass Container-Images abgerufen werden |
|
Pod, der an einen Knoten gebunden ist, auf dem mindestens ein Container läuft oder gestartet wird |
|
Alle Container wurden erfolgreich abgeschlossen und werden nicht neu gestartet |
|
Alle Container wurden beendet, wobei mindestens einer mit einem Fehler endete |
|
Der Pod-Status kann nicht bestimmt werden (normalerweise aufgrund von Problemen mit der Knotenkommunikation) |
|
Wiederholter Ausfall des Containers; Kubernetes macht bei Neustartversuchen einen Rückzieher |
|
Das Container-Image konnte nicht aus der Registrierung abgerufen werden |
|
Der Container wurde wegen Überschreitung der Speichergrenzen beendet |
|
Job oder Pod erfolgreich abgeschlossen (Batch-Job-Abschluss) |
Tipp
Verwenden Sie die -w Flagge, um sich die Aktualisierungen des Pod-Status in Echtzeit anzusehen. Drücken SieCtrl+C, um die Wiedergabe zu beenden.
Jobprotokolle überwachen
Sie können Ihre Protokolle auf drei Arten anzeigen:
Erstelle die MLflow App
Beispiel für einen AWS CLI Befehl
aws sagemaker-mlflow create-mlflow-app \ --name <app-name> \ --artifact-store-uri <s3-bucket-name> \ --role-arn <role-arn> \ --region <region-name>
Beispielausgabe
{ "Arn": "arn:aws:sagemaker:us-east-1:111122223333:mlflow-app/app-LGZEOZ2UY4NZ" }
Generieren Sie eine vorsignierte URL
Beispiel für AWS CLI einen Befehl
aws sagemaker-mlflow create-presigned-mlflow-app-url \ --arn <app-arn> \ --region <region-name> \ --output text
Beispielausgabe
https://app-LGZEOZ2UY4NZ.mlflow.sagemaker.us-east-1.app.aws/auth?authToken=eyJhbGciOiJIUzI1NiJ9.eyJhdXRoVG9rZW5JZCI6IkxETVBPUyIsImZhc0NyZWRlbnRpYWxzIjoiQWdWNGhDM1VvZ0VYSUVsT2lZOVlLNmxjRHVxWm1BMnNhZ3JDWEd3aFpOSmdXbzBBWHdBQkFCVmhkM010WTNKNWNIUnZMWEIxWW14cFl5MXJaWGtBUkVFd09IQmtVbU5IUzJJMU1VTnVaVEl3UVhkUE5uVm9Ra2xHTkZsNVRqTTNXRVJuTTNsalowNHhRVFZvZERneVdrMWlkRlZXVWpGTWMyWlRUV1JQWmpSS2R6MDlBQUVBQjJGM2N5MXJiWE1BUzJGeWJqcGhkM002YTIxek9uVnpMV1ZoYzNRdE1Ub3pNVFF4TkRZek1EWTBPREk2YTJWNUx6Y3dOMkpoTmpjeExUUXpZamd0TkRFeU5DMWhaVFUzTFRrMFlqTXdZbUptT1RJNU13QzRBUUlCQUhnQjRVMDBTK3ErVE51d1gydlFlaGtxQnVneWQ3YnNrb0pWdWQ2NmZjVENVd0ZzRTV4VHRGVllHUXdxUWZoeXE2RkJBQUFBZmpCOEJna3Foa2lHOXcwQkJ3YWdiekJ0QWdFQU1HZ0dDU3FHU0liM0RRRUhBVEFlQmdsZ2hrZ0JaUU1FQVM0d0VRUU1yOEh4MXhwczFBbmEzL1JKQWdFUWdEdTI0K1M5c2VOUUNFV0hJRXJwdmYxa25MZTJteitlT29pTEZYNTJaeHZsY3AyZHFQL09tY3RJajFqTWFuRjMxZkJyY004MmpTWFVmUHRhTWdJQUFCQUE3L1pGT05DRi8rWnVPOVlCVnhoaVppSEFSLy8zR1I0TmR3QWVxcDdneHNkd2lwTDJsVWdhU3ZGNVRCbW9uMUJnLy8vLy93QUFBQUVBQUFBQUFBQUFBQUFBQUFFQUFBUTdBMHN6dUhGbEs1NHdZbmZmWEFlYkhlNmN5OWpYOGV3T2x1NWhzUWhGWFllRXNVaENaQlBXdlQrVWp5WFY0ZHZRNE8xVDJmNGdTRUFOMmtGSUx0YitQa0tmM0ZUQkJxUFNUQWZ3S1oyeHN6a1lDZXdwRlNpalFVTGtxemhXbXBVcmVDakJCOHNGT3hQL2hjK0JQalY3bUhOL29qcnVOejFhUHhjNSt6bHFuak9CMHljYy8zL2JuSHA3NVFjRE8xd2NMbFJBdU5KZ2RMNUJMOWw1YVVPM0FFMlhBYVF3YWY1bkpwTmZidHowWUtGaWZHMm94SDJSNUxWSjNkbG40aGVRbVk4OTZhdXdsellQV253N2lTTDkvTWNidDAzdVZGN0JpUnRwYmZMN09JQm8wZlpYSS9wK1pUNWVUS2wzM2tQajBIU3F6NisvamliY0FXMWV4VTE4N1QwNHpicTNRcFhYMkhqcDEvQnFnMVdabkZoaEwrekZIaUV0Qjd4U1RaZkZsS2xRUUhNK0ZkTDNkOHIyRWhCMjFya2FBUElIQVBFUk5Pd1lnNmFzM2pVaFRwZWtuZVhxSDl3QzAyWU15R0djaTVzUEx6ejh3ZTExZVduanVTai9DZVJpZFQ1akNRcjdGMUdKWjBVREZFbnpNakFuL3Y3ajA5c2FMczZnemlCc2FLQXZZOWpib0JEYkdKdGZ0N2JjVjl4eUp4amptaW56TGtoVG5pV2dxV3g5MFZPUHlWNWpGZVk1QTFrMmw3bDArUjZRTFNleHg4d1FrK0FqVGJuLzFsczNHUTBndUtESmZKTWVGUVczVEVrdkp5VlpjOC9xUlpIODhybEpKOW1FSVdOd1BMU21yY1l6TmZwVTlVOGdoUDBPUWZvQ3FvcW1WaUhEYldaT294bGpmb295cS8yTDFKNGM3NTJUaVpFd1hnaG9haFBYdGFjRnA2NTVUYjY5eGxTN25FaXZjTTlzUjdTT3REMEMrVHIyd0cxNEJ3Zm9NZTdKOFhQeVRtcmQ0QmNKOEdOYnVZTHNRNU9DcFlsV3pVNCtEcStEWUI4WHk1UWFzaDF0dzJ6dGVjVVQyc0hsZmwzUVlrQ0d3Z1hWam5Ia2hKVitFRDIrR3Fpc3BkYjRSTC83RytCRzRHTWNaUE02Q3VtTFJkMnZLbnozN3dUWkxwNzdZNTdMQlJySm9Tak9idWdNUWdhOElLNnpWL2VtcFlSbXJsVjZ5VjZ6S1h5aXFKWFk3TTBXd3dSRzd5Q0xYUFRtTGt3WGE5cXF4NkcvZDY1RS83V3RWMVUrNFIxMlZIUmVUMVJmeWw2SnBmL2FXWFVCbFQ2ampUR0M5TU1uTk5OVTQwZHRCUTArZ001S1d2WGhvMmdmbnhVcU1OdnFHblRFTWdZMG5ZL1FaM0RWNFozWUNqdkFOVWVsS1NCdkxFbnY4SEx0WU9uajIrTkRValZOV1h5T1c4WFowMFFWeXU0ZU5LaUpLQ1hJbnI1N3RrWHE3WXl3b0lZV0hKeHQwWis2MFNQMjBZZktYYlhHK1luZ3F6NjFqMkhIM1RQUmt6dW5rMkxLbzFnK1ZDZnhVWFByeFFmNUVyTm9aT2RFUHhjaklKZ1FxRzJ2eWJjbFRNZ0M5ZXc1QURVcE9KL1RrNCt2dkhJMDNjM1g0UXcrT3lmZHFUUzJWb3N4Y0hJdG5iSkZmdXliZi9lRlZWRlM2L3lURkRRckhtQ1RZYlB3VXlRNWZpR20zWkRhNDBQUTY1RGJSKzZSbzl0S3c0eWFlaXdDVzYwZzFiNkNjNUhnQm5GclMyYytFbkNEUFcrVXRXTEF1azlISXZ6QnR3MytuMjdRb1cvSWZmamJucjVCSXk3MDZRTVR4SzhuMHQ3WUZuMTBGTjVEWHZiZzBvTnZuUFFVYld1TjhFbE11NUdpenZxamJmeVZRWXdBSERCcDkzTENsUUJuTUdVQ01GWkNHUGRPazJ2ZzJoUmtxcWQ3SmtDaEpiTmszSVlyanBPL0h2Z2NZQ2RjK2daM3lGRjMyTllBMVRYN1FXUkJYZ0l4QU5xU21ZTHMyeU9uekRFenBtMUtnL0tvYmNqRTJvSDJkZHcxNnFqT0hRSkhkVWRhVzlZL0NQYTRTbWxpN2pPbGdRPT0iLCJjaXBoZXJUZXh0IjoiQVFJQkFIZ0I0VTAwUytxK1ROdXdYMnZRZWhrcUJ1Z3lkN2Jza29KVnVkNjZmY1RDVXdHeDExRlBFUG5xU1ZFbE5YVUNrQnRBQUFBQW9qQ0Jud1lKS29aSWh2Y05BUWNHb0lHUk1JR09BZ0VBTUlHSUJna3Foa2lHOXcwQkJ3RXdIZ1lKWUlaSUFXVURCQUV1TUJFRURHemdQNnJFSWNEb2dWSTl1d0lCRUlCYitXekkvbVpuZkdkTnNYV0VCM3Y4NDF1SVJUNjBLcmt2OTY2Q1JCYmdsdXo1N1lMTnZUTkk4MEdkVXdpYVA5NlZwK0VhL3R6aGgxbTl5dzhjcWdCYU1pOVQrTVQxdzdmZW5xaXFpUnRRMmhvN0tlS2NkMmNmK3YvOHVnPT0iLCJzdWIiOiJhcm46YXdzOnNhZ2VtYWtlcjp1cy1lYXN0LTE6MDYwNzk1OTE1MzUzOm1sZmxvdy1hcHAvYXBwLUxHWkVPWjJVWTROWiIsImlhdCI6MTc2NDM2NDYxNSwiZXhwIjoxNzY0MzY0OTE1fQ.HNvZOfqft4m7pUS52MlDwoi1BA8Vsj3cOfa_CvlT4uw
Öffnen Sie die vorsignierte URL und sehen Sie sich die App an
Klick
https://app-LGZEOZ2UY4NZ.mlflow.sagemaker.us-east-1.app.aws/auth?authToken=eyJhbGciOiJIUzI1NiJ9.eyJhdXRoVG9rZW5JZCI6IkxETVBPUyIsImZhc0NyZWRlbnRpYWxzIjoiQWdWNGhDM1VvZ0VYSUVsT2lZOVlLNmxjRHVxWm1BMnNhZ3JDWEd3aFpOSmdXbzBBWHdBQkFCVmhkM010WTNKNWNIUnZMWEIxWW14cFl5MXJaWGtBUkVFd09IQmtVbU5IUzJJMU1VTnVaVEl3UVhkUE5uVm9Ra2xHTkZsNVRqTTNXRVJuTTNsalowNHhRVFZvZERneVdrMWlkRlZXVWpGTWMyWlRUV1JQWmpSS2R6MDlBQUVBQjJGM2N5MXJiWE1BUzJGeWJqcGhkM002YTIxek9uVnpMV1ZoYzNRdE1Ub3pNVFF4TkRZek1EWTBPREk2YTJWNUx6Y3dOMkpoTmpjeExUUXpZamd0TkRFeU5DMWhaVFUzTFRrMFlqTXdZbUptT1RJNU13QzRBUUlCQUhnQjRVMDBTK3ErVE51d1gydlFlaGtxQnVneWQ3YnNrb0pWdWQ2NmZjVENVd0ZzRTV4VHRGVllHUXdxUWZoeXE2RkJBQUFBZmpCOEJna3Foa2lHOXcwQkJ3YWdiekJ0QWdFQU1HZ0dDU3FHU0liM0RRRUhBVEFlQmdsZ2hrZ0JaUU1FQVM0d0VRUU1yOEh4MXhwczFBbmEzL1JKQWdFUWdEdTI0K1M5c2VOUUNFV0hJRXJwdmYxa25MZTJteitlT29pTEZYNTJaeHZsY3AyZHFQL09tY3RJajFqTWFuRjMxZkJyY004MmpTWFVmUHRhTWdJQUFCQUE3L1pGT05DRi8rWnVPOVlCVnhoaVppSEFSLy8zR1I0TmR3QWVxcDdneHNkd2lwTDJsVWdhU3ZGNVRCbW9uMUJnLy8vLy93QUFBQUVBQUFBQUFBQUFBQUFBQUFFQUFBUTdBMHN6dUhGbEs1NHdZbmZmWEFlYkhlNmN5OWpYOGV3T2x1NWhzUWhGWFllRXNVaENaQlBXdlQrVWp5WFY0ZHZRNE8xVDJmNGdTRUFOMmtGSUx0YitQa0tmM0ZUQkJxUFNUQWZ3S1oyeHN6a1lDZXdwRlNpalFVTGtxemhXbXBVcmVDakJCOHNGT3hQL2hjK0JQalY3bUhOL29qcnVOejFhUHhjNSt6bHFuak9CMHljYy8zL2JuSHA3NVFjRE8xd2NMbFJBdU5KZ2RMNUJMOWw1YVVPM0FFMlhBYVF3YWY1bkpwTmZidHowWUtGaWZHMm94SDJSNUxWSjNkbG40aGVRbVk4OTZhdXdsellQV253N2lTTDkvTWNidDAzdVZGN0JpUnRwYmZMN09JQm8wZlpYSS9wK1pUNWVUS2wzM2tQajBIU3F6NisvamliY0FXMWV4VTE4N1QwNHpicTNRcFhYMkhqcDEvQnFnMVdabkZoaEwrekZIaUV0Qjd4U1RaZkZsS2xRUUhNK0ZkTDNkOHIyRWhCMjFya2FBUElIQVBFUk5Pd1lnNmFzM2pVaFRwZWtuZVhxSDl3QzAyWU15R0djaTVzUEx6ejh3ZTExZVduanVTai9DZVJpZFQ1akNRcjdGMUdKWjBVREZFbnpNakFuL3Y3ajA5c2FMczZnemlCc2FLQXZZOWpib0JEYkdKdGZ0N2JjVjl4eUp4amptaW56TGtoVG5pV2dxV3g5MFZPUHlWNWpGZVk1QTFrMmw3bDArUjZRTFNleHg4d1FrK0FqVGJuLzFsczNHUTBndUtESmZKTWVGUVczVEVrdkp5VlpjOC9xUlpIODhybEpKOW1FSVdOd1BMU21yY1l6TmZwVTlVOGdoUDBPUWZvQ3FvcW1WaUhEYldaT294bGpmb295cS8yTDFKNGM3NTJUaVpFd1hnaG9haFBYdGFjRnA2NTVUYjY5eGxTN25FaXZjTTlzUjdTT3REMEMrVHIyd0cxNEJ3Zm9NZTdKOFhQeVRtcmQ0QmNKOEdOYnVZTHNRNU9DcFlsV3pVNCtEcStEWUI4WHk1UWFzaDF0dzJ6dGVjVVQyc0hsZmwzUVlrQ0d3Z1hWam5Ia2hKVitFRDIrR3Fpc3BkYjRSTC83RytCRzRHTWNaUE02Q3VtTFJkMnZLbnozN3dUWkxwNzdZNTdMQlJySm9Tak9idWdNUWdhOElLNnpWL2VtcFlSbXJsVjZ5VjZ6S1h5aXFKWFk3TTBXd3dSRzd5Q0xYUFRtTGt3WGE5cXF4NkcvZDY1RS83V3RWMVUrNFIxMlZIUmVUMVJmeWw2SnBmL2FXWFVCbFQ2ampUR0M5TU1uTk5OVTQwZHRCUTArZ001S1d2WGhvMmdmbnhVcU1OdnFHblRFTWdZMG5ZL1FaM0RWNFozWUNqdkFOVWVsS1NCdkxFbnY4SEx0WU9uajIrTkRValZOV1h5T1c4WFowMFFWeXU0ZU5LaUpLQ1hJbnI1N3RrWHE3WXl3b0lZV0hKeHQwWis2MFNQMjBZZktYYlhHK1luZ3F6NjFqMkhIM1RQUmt6dW5rMkxLbzFnK1ZDZnhVWFByeFFmNUVyTm9aT2RFUHhjaklKZ1FxRzJ2eWJjbFRNZ0M5ZXc1QURVcE9KL1RrNCt2dkhJMDNjM1g0UXcrT3lmZHFUUzJWb3N4Y0hJdG5iSkZmdXliZi9lRlZWRlM2L3lURkRRckhtQ1RZYlB3VXlRNWZpR20zWkRhNDBQUTY1RGJSKzZSbzl0S3c0eWFlaXdDVzYwZzFiNkNjNUhnQm5GclMyYytFbkNEUFcrVXRXTEF1azlISXZ6QnR3MytuMjdRb1cvSWZmamJucjVCSXk3MDZRTVR4SzhuMHQ3WUZuMTBGTjVEWHZiZzBvTnZuUFFVYld1TjhFbE11NUdpenZxamJmeVZRWXdBSERCcDkzTENsUUJuTUdVQ01GWkNHUGRPazJ2ZzJoUmtxcWQ3SmtDaEpiTmszSVlyanBPL0h2Z2NZQ2RjK2daM3lGRjMyTllBMVRYN1FXUkJYZ0l4QU5xU21ZTHMyeU9uekRFenBtMUtnL0tvYmNqRTJvSDJkZHcxNnFqT0hRSkhkVWRhVzlZL0NQYTRTbWxpN2pPbGdRPT0iLCJjaXBoZXJUZXh0IjoiQVFJQkFIZ0I0VTAwUytxK1ROdXdYMnZRZWhrcUJ1Z3lkN2Jza29KVnVkNjZmY1RDVXdHeDExRlBFUG5xU1ZFbE5YVUNrQnRBQUFBQW9qQ0Jud1lKS29aSWh2Y05BUWNHb0lHUk1JR09BZ0VBTUlHSUJna3Foa2lHOXcwQkJ3RXdIZ1lKWUlaSUFXVURCQUV1TUJFRURHemdQNnJFSWNEb2dWSTl1d0lCRUlCYitXekkvbVpuZkdkTnNYV0VCM3Y4NDF1SVJUNjBLcmt2OTY2Q1JCYmdsdXo1N1lMTnZUTkk4MEdkVXdpYVA5NlZwK0VhL3R6aGgxbTl5dzhjcWdCYU1pOVQrTVQxdzdmZW5xaXFpUnRRMmhvN0tlS2NkMmNmK3YvOHVnPT0iLCJzdWIiOiJhcm46YXdzOnNhZ2VtYWtlcjp1cy1lYXN0LTE6MDYwNzk1OTE1MzUzOm1sZmxvdy1hcHAvYXBwLUxHWkVPWjJVWTROWiIsImlhdCI6MTc2NDM2NDYxNSwiZXhwIjoxNzY0MzY0OTE1fQ.HNvZOfqft4m7pUS52MlDwoi1BA8Vsj3cOfa_CvlT4uw
Anzeigen
Gehen Sie zum Rezept unter dem Ausführungsblock Ihres HyperPod Rezepts
Rezept
run mlflow_tracking_uri: arn:aws:sagemaker:us-east-1:111122223333:mlflow-app/app-LGZEOZ2UY4NZ
Anzeigen
Benutzen CloudWatch
Ihre Protokolle sind in Ihrem AWS Konto verfügbar, das den Hyperpod-Cluster unter CloudWatch enthält. Um sie in Ihrem Browser anzuzeigen, navigieren Sie in Ihrem Konto zur CloudWatch Startseite und suchen Sie nach Ihrem Clusternamen. Wenn Ihr Cluster beispielsweise aufgerufen würde, hätte my-hyperpod-rig die Protokollgruppe das Präfix:
-
Protokollgruppe:
/aws/sagemaker/Clusters/my-hyperpod-rig/{UUID} -
Sobald Sie in der Protokollgruppe sind, können Sie Ihr spezifisches Protokoll anhand der Knoteninstanz-ID wie - finden
hyperpod-i-00b3d8a1bf25714e4.-
i-00b3d8a1bf25714e4steht hier für den Hyperpod-freundlichen Computernamen, auf dem Ihr Trainingsjob ausgeführt wird. Erinnern Sie sich, wie wir in der vorherigenkubectl get pods -o wide -w -n kubeflow | (head -n1 ; grep my-cpt-run)Befehlsausgabe eine Spalte namens NODE erfasst haben. -
Der „Master“ -Knoten wurde in diesem Fall auf Hyperpod
i-00b3d8a1bf25714e4- ausgeführt. Daher verwenden wir diese Zeichenfolge, um die anzuzeigende Protokollgruppe auszuwählen. Wählen Sie den aus, der sagtSagemakerHyperPodTrainingJob/rig-group/[NODE]
-
CloudWatch Insights verwenden
Wenn Sie Ihren Jobnamen griffbereit haben und nicht alle oben genannten Schritte durchführen möchten, können Sie einfach alle Logs unter abfragen, /aws/sagemaker/Clusters/my-hyperpod-rig/{UUID} um das individuelle Protokoll zu finden.
CPT:
fields @timestamp, @message, @logStream, @log | filter @message like /(?i)Starting CPT Job/ | sort @timestamp desc | limit 100
Um den Auftrag abzuschließen, ersetzen Sie ihn durch Starting CPT Job CPT Job
completed
Dann können Sie sich durch die Ergebnisse klicken und diejenige mit der Aufschrift „Epoche 0" auswählen, da dies Ihr Masternode sein wird.
Mit dem AWSAWS CLI
Sie können sich dafür entscheiden, Ihre Protokolle mit der AWS CLI zu verfolgen. Bevor Sie dies tun, überprüfen Sie bitte Ihre AWS-CLI-Version mithilfe vonaws --version. Es wird auch empfohlen, dieses Utility-Skript zu verwenden, das bei der Live-Protokollverfolgung in Ihrem Terminal hilft
für V1:
aws logs get-log-events \ --log-group-name /aws/sagemaker/YourLogGroupName \ --log-stream-name YourLogStream \ --start-from-head | jq -r '.events[].message'
für V2:
aws logs tail /aws/sagemaker/YourLogGroupName \ --log-stream-name YourLogStream \ --since 10m \ --follow
Aktive Jobs auflisten
Alle Jobs anzeigen, die in Ihrem Cluster ausgeführt werden:
hyperpod list-jobs -n kubeflow
Beispielausgabe:
{ "jobs": [ { "Name": "test-run-nhgza", "Namespace": "kubeflow", "CreationTime": "2025-10-29T16:50:57Z", "State": "Running" } ] }
Stornieren eines Auftrags
Stoppen Sie einen laufenden Job jederzeit:
hyperpod cancel-job --job-name <job-name> -n kubeflow
Finden Sie Ihren Jobnamen
Option 1: Aus deinem Rezept
Der Jobname ist im run Block Ihres Rezepts angegeben:
run: name: "my-test-run" # This is your job name model_type: "amazon.nova-micro-v1:0:128k" ...
Option 2: Aus dem Befehl list-jobs
Verwenden hyperpod list-jobs -n kubeflow und kopieren Sie das Name Feld aus der Ausgabe.
Einen Evaluierungsjob ausführen
Evaluieren Sie ein trainiertes Modell oder Basismodell anhand eines Bewertungsrezepts.
Voraussetzungen
Bevor Sie Evaluierungsjobs ausführen, stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Checkpoint Amazon S3 S3-URI aus der
manifest.jsonDatei Ihres Trainingsjobs (für trainierte Modelle) -
Bewertungsdatensatz wurde im richtigen Format auf Amazon S3 hochgeladen
-
Amazon S3-Pfad für Evaluierungsergebnisse ausgeben
Befehl
Führen Sie den folgenden Befehl aus, um einen Evaluierungsjob zu starten:
hyperpod start-job -n kubeflow \ --recipe evaluation/nova/nova_2_0/nova_lite/nova_lite_2_0_p5_48xl_gpu_bring_your_own_dataset_eval \ --override-parameters '{ "instance_type": "p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-latest", "recipes.run.name": "<your-eval-job-name>", "recipes.run.model_name_or_path": "<checkpoint-s3-uri>", "recipes.run.output_s3_path": "s3://<your-bucket>/eval-results/", "recipes.run.data_s3_path": "s3://<your-bucket>/eval-data.jsonl" }'
Beschreibungen der Parameter:
-
recipes.run.name: Eindeutiger Name für Ihren Bewertungsjob -
recipes.run.model_name_or_path: Amazon S3 S3-URI vonmanifest.jsonoder Basismodellpfad (z. B.nova-micro/prod) -
recipes.run.output_s3_path: Amazon S3 S3-Standort für Evaluierungsergebnisse -
recipes.run.data_s3_path: Amazon S3 S3-Speicherort Ihres Bewertungsdatensatzes
Tipps:
-
Modellspezifische Rezepte: Für jede Modellgröße (Micro, Lite, Pro) gibt es ein eigenes Bewertungsrezept
-
Bewertung des Basismodells: Verwenden Sie Basismodellpfade (z. B.
nova-micro/prod) anstelle von Checkpoints, um Basismodelle URIs zu bewerten
Datenformat für die Evaluierung
Eingabeformat (JSONL):
{ "metadata": "{key:4, category:'apple'}", "system": "arithmetic-patterns, please answer the following with no other words: ", "query": "What is the next number in this series? 1, 2, 4, 8, 16, ?", "response": "32" }
Ausgabeformat:
{ "prompt": "[{'role': 'system', 'content': 'arithmetic-patterns, please answer the following with no other words: '}, {'role': 'user', 'content': 'What is the next number in this series? 1, 2, 4, 8, 16, ?'}]", "inference": "['32']", "gold": "32", "metadata": "{key:4, category:'apple'}" }
Feldbeschreibungen:
-
prompt: Formatierte Eingabe, die an das Modell gesendet wurde -
inference: Die generierte Antwort des Modells -
gold: Richtige Antwort aus dem Eingabedatensatz erwartet -
metadata: Optionale Metadaten, die von der Eingabe übergeben wurden
Häufige Probleme
-
ModuleNotFoundError: No module named 'nemo_launcher', je nachdem, wo es installierthyperpod_cliistnemo_launcher, müssen Sie möglicherweise zu Ihrem Python-Pfad etwas hinzufügen. Beispielbefehl:export PYTHONPATH=<path_to_hyperpod_cli>/sagemaker-hyperpod-cli/src/hyperpod_cli/sagemaker_hyperpod_recipes/launcher/nemo/nemo_framework_launcher/launcher_scripts:$PYTHONPATH -
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/hyperpod_current_context.json'weist darauf hin, dass Sie den Befehl hyperpod connect cluster nicht ausgeführt haben. -
Wenn Ihr Job nicht geplant ist, überprüfen Sie noch einmal, ob die Ausgabe Ihrer HyperPod CLI diesen Abschnitt mit Jobnamen und anderen Metadaten enthält. Wenn nicht, installieren Sie helm chart erneut, indem Sie Folgendes ausführen:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh rm -f ./get_helm.sh