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.
Implemente modelos personalizados y ajustados de Amazon S3 y Amazon mediante kubectl FSx
Los siguientes pasos muestran cómo implementar modelos almacenados en Amazon S3 o Amazon en un SageMaker HyperPod clúster de Amazon FSx mediante kubectl.
Las siguientes instrucciones contienen celdas de código y comandos diseñados para ejecutarse en una terminal. Asegúrese de haber configurado el entorno con AWS credenciales antes de ejecutar estos comandos.
Requisitos previos
Antes de empezar, compruebe que:
-
Configure capacidades de inferencia en sus SageMaker HyperPod clústeres de Amazon. Para obtener más información, consulte Configuración de los clústeres para la implementación de modelos HyperPod .
Ajustes y configuración
Sustituya todos los valores de los marcadores de posición por sus identificadores de recursos reales.
-
Seleccione su región en su entorno.
export REGION=<region>
-
Inicialice el nombre de su clúster. Esto identifica el HyperPod clúster en el que se implementará el modelo.
nota
Consulte con el administrador del clúster para asegurarse de que se concedan los permisos para este rol o usuario. Puedes correr
!aws sts get-caller-identity --query "Arn"
para comprobar qué rol o usuario estás utilizando en tu terminal.# Specify your hyperpod cluster name here HYPERPOD_CLUSTER_NAME="<Hyperpod_cluster_name>" # NOTE: For sample deployment, we use g5.8xlarge for deepseek-r1 1.5b model which has sufficient memory and GPU instance_type="ml.g5.8xlarge"
-
Inicializa el espacio de nombres del clúster. El administrador del clúster ya debería haber creado una cuenta de servicio de inferencia de hiperpodes en tu espacio de nombres.
cluster_namespace="<namespace>"
-
Crea un CRD con una de las siguientes opciones:
Implemente su modelo desde Amazon S3 o Amazon FSx
-
Obtenga el nombre del clúster de Amazon EKS del ARN del HyperPod clúster para la autenticación de kubectl.
export EKS_CLUSTER_NAME=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \ --query 'Orchestrator.Eks.ClusterArn' --output text | \ cut -d'/' -f2) aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $REGION
-
Implemente su InferenceEndpointConfig modelo con una de las siguientes opciones:
Compruebe el estado de su despliegue
-
Compruebe si el modelo se implementó correctamente.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Compruebe que el punto final se haya creado correctamente.
kubectl describe SageMakerEndpointRegistration $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Pruebe el punto final implementado para comprobar que funciona correctamente. Este paso confirma que el modelo se ha implementado correctamente y que puede procesar las solicitudes de inferencia.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name $SAGEMAKER_ENDPOINT_NAME \ --content-type "application/json" \ --body '{"inputs": "What is AWS SageMaker?"}' \ --region $REGION \ --cli-binary-format raw-in-base64-out \ /dev/stdout
Administre su despliegue
Cuando termine de probar la implementación, utilice los siguientes comandos para limpiar los recursos.
nota
Compruebe que ya no necesita el modelo implementado ni los datos almacenados antes de continuar.
Eliminación de sus recursos
-
Elimine el despliegue de inferencia y los recursos de Kubernetes asociados. Esto detiene los contenedores del modelo en ejecución y elimina el punto final. SageMaker
kubectl delete inferenceendpointconfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Compruebe que la limpieza se haya realizado correctamente.
# # Check that Kubernetes resources are removed kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE
# Verify SageMaker endpoint is deleted (should return error or empty) aws sagemaker describe-endpoint --endpoint-name $SAGEMAKER_ENDPOINT_NAME --region $REGION
Solución de problemas
Usa estos comandos de depuración si la implementación no funciona según lo esperado.
-
Comprueba el estado de despliegue de Kubernetes.
kubectl describe deployment $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Compruebe el InferenceEndpointConfig estado para ver el estado de la implementación de alto nivel y cualquier problema de configuración.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Comprueba el estado de todos los objetos de Kubernetes. Obtén una visión completa de todos los recursos de Kubernetes relacionados en tu espacio de nombres. Esto te proporciona una visión general rápida de lo que se está ejecutando y lo que podría faltar.
kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE