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à.
Distribuisci modelli personalizzati e ottimizzati da Amazon S3 e Amazon utilizzando kubectl FSx
I passaggi seguenti mostrano come distribuire modelli archiviati su Amazon S3 o Amazon su un cluster FSx SageMaker HyperPod Amazon utilizzando kubectl.
Le seguenti istruzioni contengono celle di codice e comandi progettati per essere eseguiti in un terminale. Assicurati di aver configurato l'ambiente con AWS le credenziali prima di eseguire questi comandi.
Prerequisiti
Prima di iniziare, verifica di aver:
-
Configura funzionalità di inferenza sui tuoi SageMaker HyperPod cluster Amazon. Per ulteriori informazioni, consulta HyperPod Configurazione dei cluster per la distribuzione dei modelli.
-
Hai installato l'utilità kubectl
e configurato jq nel tuo terminale.
Installazione e configurazione
Sostituisci tutti i valori segnaposto con i tuoi identificatori di risorsa effettivi.
-
Seleziona la tua regione nel tuo ambiente.
export REGION=<region>
-
Inizializza il nome del cluster. Questo identifica il HyperPod cluster in cui verrà distribuito il modello.
Nota
Rivolgiti all'amministratore del cluster per assicurarti che le autorizzazioni siano concesse per questo ruolo o utente. Puoi eseguire
!aws sts get-caller-identity --query "Arn"
l'operazione per verificare quale ruolo o utente stai utilizzando nel tuo terminale.# 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"
-
Inizializza lo spazio dei nomi del cluster. L'amministratore del cluster dovrebbe aver già creato un account del servizio di inferenza hyperpod nel tuo spazio dei nomi.
cluster_namespace="<namespace>"
-
Crea un CRD utilizzando una delle seguenti opzioni:
Implementa il tuo modello da Amazon S3 o Amazon FSx
-
Ottieni il nome del cluster Amazon EKS dall'ARN del HyperPod cluster per l'autenticazione 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
-
Implementa il tuo InferenceEndpointConfig modello con una delle seguenti opzioni:
Verifica lo stato della distribuzione
-
Verifica se il modello è stato distribuito correttamente.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Verifica che l'endpoint sia stato creato correttamente.
kubectl describe SageMakerEndpointRegistration $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Testa l'endpoint distribuito per verificare che funzioni correttamente. Questo passaggio conferma che il modello è stato distribuito correttamente e può elaborare le richieste di inferenza.
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
Gestisci la tua implementazione
Al termine del test della distribuzione, utilizza i seguenti comandi per ripulire le risorse.
Nota
Verifica di non aver più bisogno del modello distribuito o dei dati memorizzati prima di procedere.
Pulizia delle risorse
-
Elimina la distribuzione dell'inferenza e le risorse Kubernetes associate. Ciò interrompe l'esecuzione dei contenitori del modello e rimuove l'endpoint. SageMaker
kubectl delete inferenceendpointconfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Verifica che la pulizia sia stata eseguita correttamente.
# # 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
Risoluzione dei problemi
Usa questi comandi di debug se la distribuzione non funziona come previsto.
-
Controlla lo stato della distribuzione di Kubernetes.
kubectl describe deployment $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Controlla lo InferenceEndpointConfig stato per vedere lo stato di implementazione di alto livello e gli eventuali problemi di configurazione.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
Controlla lo stato di tutti gli oggetti Kubernetes. Ottieni una visione completa di tutte le risorse Kubernetes correlate nel tuo namespace. Questo ti offre una rapida panoramica di ciò che è in esecuzione e di ciò che potrebbe mancare.
kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE