Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Inicio de un trabajo de formación mediante la HyperPod CLI
SageMaker HyperPod CLI es una herramienta de interfaz de línea de comandos para administrar los clústeres de Amazon SageMaker HyperPod . Puede usar la HyperPod CLI para crear, configurar y monitorear HyperPod clústeres para cargas de trabajo de aprendizaje automático. Para obtener más información, consulte el sagemaker-hyperpod-cli
Requisitos previos
-
Instalar la CLI de HyperPod . Para personalizar Amazon Nova en Amazon SageMaker HyperPod, debe visitar la
release_v2
sucursal para usar la SageMaker HyperPod CLI. -
Compruebe que el depósito de salida de Nova existe antes de enviar los trabajos. Para verificarlo, ejecute
aws s3 ls s3://nova-111122223333/
.El nombre del depósito es el valor que especificó
recipes.run.output_s3_path
en la receta. Este depósito de salida almacenará un archivo de manifiesto generado después del entrenamiento, que contendrá las rutas S3 a los artefactos de salida almacenados en el depósito de Amazon S3 gestionado por el servicio. Además, de forma opcional, puede almacenar TensorBoard archivos o resultados de evaluaciones. -
Entender los requisitos FSx de sincronización de datos de Amazon. Amazon FSx necesita tiempo para sincronizar los datos de entrenamiento de Amazon S3 antes de que se puedan ejecutar los trabajos.
Configurar la HyperPod CLI para la personalización de Amazon Nova
Para configurar la HyperPod CLI para la personalización de Amazon Nova, siga estos pasos.
-
Clona el sagemaker-hyperpod-cli
GitHub repositorio con la rama release_v2
.git clone --recurse-submodules https://github.com/aws/sagemaker-hyperpod-cli.git --branch release_v2
-
Vaya a la carpeta
sagemaker-hyperpod-cli
.cd sagemaker-hyperpod-cli
-
Compruebe que tiene todos los requisitos previos en Requisitos previos
. -
Para configurar Helm, sigue estos pasos.
-
Para descargar el script de instalación de Helm, ejecuta:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
-
Para hacer que el script sea ejecutable, ejecute:
chmod 700 get_helm.sh
Este comando cambia los permisos para hacer que el script sea ejecutable.
-
Para ejecutar el script de instalación de Helm, ejecute:
./get_helm.sh
-
Para eliminar el script de instalación, ejecute:
rm -f ./get_helm.sh
-
-
Para instalar HyperPod dependencias compatibles con grupos de instancias restringidos (RIG), sigue estos pasos.
nota
Antes de instalar las dependencias, debes tener un clúster de HyperPod EKS con RIG. Si aún no tiene uno, siga estas instrucciones para crear uno.
-
Para conectarse a su clúster HyperPod EKS, ejecute:
aws eks update-kubeconfig --name <eks_cluster_name> --region us-east-1
-
Para verificar la conexión a su clúster de HyperPod EKS, ejecute:
kubectl config current-context
-
Para obtener actualizaciones para HyperPod las dependencias estándar, ejecute:
helm dependencies update helm_chart/HyperPodHelmChart
-
Para instalar HyperPod las dependencias estándar, ejecuta:
helm install dependencies helm_chart/HyperPodHelmChart --namespace kube-system
-
Para ir al directorio de gráficos de Helm, ejecuta:
cd helm_chart
-
Para instalar HyperPod dependencias específicas de RIG, ejecute el siguiente comando.
nota
Antes de instalar las dependencias, tenga en cuenta lo siguiente:
-
Solo debe ejecutar este comando una vez por clúster una vez creado.
-
Debe asegurarse de que la utilidad yq esté instalada con una versión 4 como mínimo (por ejemplo, la v4). Hay una comprobación integrada para confirmar que yq >=4 está disponible en el script de instalación.
-
Deberá confirmar la instalación
y
ingresando cuando se le solicite. Si lo desea, antes de la confirmación, consulte la instalación prevista en./rig-dependencies.yaml
.
chmod 700 ./install_rig_dependencies.sh && ./install_rig_dependencies.sh
-
-
Para volver a la raíz del
codesagemaker-hyperpod-cli
repositorio, ejecuta:cd ..
-
-
Para continuar con la instalación de la HyperPod CLI
sagemaker-hyperpod-cli
, siga estos pasos.-
Instale la CLI mediante pip:
pip install -e .
Verificar la instalación:
hyperpod --help
-
Enviar un trabajo
Puede utilizar la HyperPod CLI para enviar un trabajo de formación.
Para enviar un trabajo mediante una receta, ejecute el siguiente comando.
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
: el tipo de trabajo que está ejecutando con la receta. Los valores válidos son:fine-tuning
|evaluation
|training
.Tipo de trabajo Valor Trabajos de SFT/PEFT/PPO/DPO fine-tuning
Trabajos de evaluación evaluation
Empleos de CPT training
-
Nombre de la receta: Puede encontrar el nombre en el repositorio en el directorio:
/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipe_collection/recipes/
. -
Ejemplo de receta:
--recipe evaluation/nova/nova_lite_g5_12xl_bring_your_own_dataset_eval
. -
Contenedor: este campo es obligatorio. Para encontrar las imágenes de los tipos de trabajo, consulte la siguiente tabla.
Técnica Contenedor HACER 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-DPO-latest nova-fine-tune-repo Trabajos de evaluación 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-EVAL-último nova-evaluation-repo CPT 708977205387.dkr. ecr.us-east-1.amazonaws.com /:HP-CPT-último nova-fine-tune-repo PPO 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SMHP-PPO-Train-latest nova-fine-tune-repo SFT/LEFT 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-latest nova-fine-tune-repo -
Nombre de ejecución personalizado: hay restricciones de definición en la entrada, por ejemplo, no hay mayúsculas, espacios ni guiones bajos
custom-run-time
. Para obtener más información, consulte Nombres de objetos y IDs.
[Opcional] Si ya tienes un trabajo de formación y quieres centrarte en un nodo específico para tu próximo trabajo, sigue estos pasos.
-
Para obtener todos los nodos libres, ejecuta el siguiente comando.
kubectl get nodes —no-headers | awk '$2 != "NotReady" && $3 != "SchedulingDisabled" {print $1}'
-
Añada lo siguiente al
src\hyperpod_cli\sagemaker_hyperpod_recipes\recipes_collection\cluster\k8s.yaml
archivo del selector de etiquetas.label_selector: required: kubernetes.io/hostname: - <node_name>
-
En el directorio raíz, ejecute el siguiente comando. Esto garantiza que SageMaker HyperPod esté instalado en el sistema del usuario, lo que le permitirá utilizar la palabra clave «hyperpod» para enviar trabajos y otras funciones. Debe ejecutar este comando desde la carpeta raíz donde está el código HyperPod CLI.
pip install .
Enumeración de trabajos
Para enumerar los trabajos, ejecute el siguiente comando.
hyperpod list-jobs [--namespace <namespace>] [--all-namespaces]
El comando muestra todos los trabajos del espacio de nombres especificado o de todos los espacios de nombres.
Obtenga los detalles del trabajo
Para obtener los detalles de un trabajo, ejecute el siguiente comando.
hyperpod get-job --job-name <job-name> [--namespace <namespace>] [--verbose]
El comando recupera información detallada sobre un trabajo específico.
Enumere los pods
Para hacer una lista de los pods, ejecuta el siguiente comando.
hyperpod list-pods --job-name <job-name> [--namespace <namespace>]
El comando muestra todos los pods asociados a un trabajo específico en el espacio de nombres especificado.
Cancelación de trabajos
Para cancelar un trabajo, ejecuta el siguiente comando.
hyperpod cancel-job --job-name <job-name> [--namespace <namespace>]
Este comando cancela y elimina un trabajo de entrenamiento en ejecución en el espacio de nombres especificado.