기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
kubectl을 사용하여 Amazon S3 및 Amazon FSx에서 사용자 지정 미세 조정된 모델 배포
다음 단계에서는 kubectl을 사용하여 Amazon S3 또는 Amazon FSx에 저장된 모델을 Amazon SageMaker HyperPod 클러스터에 배포하는 방법을 보여줍니다.
다음 지침에는 터미널에서 실행되도록 설계된 코드 셀과 명령이 포함되어 있습니다. 이러한 명령을 실행하기 전에 자격 AWS 증명으로 환경을 구성했는지 확인합니다.
사전 조건
시작하기 전에 다음을 수행했는지 확인합니다.
-
Amazon SageMaker HyperPod 클러스터에서 추론 기능을 설정합니다. 자세한 내용은 모델 배포를 위한 HyperPod 클러스터 설정 단원을 참조하십시오.
설정 및 구성
모든 자리 표시자 값을 실제 리소스 식별자로 바꿉니다.
-
환경에서 리전을 선택합니다.
export REGION=<region>
-
클러스터 이름을 초기화합니다. 그러면 모델이 배포될 HyperPod 클러스터가 식별됩니다.
참고
클러스터 관리자에게 문의하여이 역할 또는 사용자에 대한 권한이 부여되었는지 확인합니다. 를 실행
!aws sts get-caller-identity --query "Arn"
하여 터미널에서 사용 중인 역할 또는 사용자를 확인할 수 있습니다.# 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"
-
클러스터 네임스페이스를 초기화합니다. 클러스터 관리자가 네임스페이스에 하이퍼포드 추론 서비스 계정을 이미 생성했어야 합니다.
cluster_namespace="<namespace>"
-
다음 옵션 중 하나를 사용하여 CRD를 생성합니다.
Amazon S3 또는 Amazon FSx에서 모델 배포
-
kubectl 인증을 위해 HyperPod 클러스터 ARN에서 Amazon EKS 클러스터 이름을 가져옵니다.
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
-
다음 옵션 중 하나를 사용하여 InferenceEndpointConfig 모델을 배포합니다.
배포 상태 확인
-
모델이 성공적으로 배포되었는지 확인합니다.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
엔드포인트가 성공적으로 생성되었는지 확인합니다.
kubectl describe SageMakerEndpointRegistration $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
배포된 엔드포인트를 테스트하여 올바르게 작동하는지 확인합니다. 이 단계에서는 모델이 성공적으로 배포되었으며 추론 요청을 처리할 수 있는지 확인합니다.
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
배포 관리
배포 테스트를 마치면 다음 명령을 사용하여 리소스를 정리합니다.
참고
계속하기 전에 배포된 모델 또는 저장된 데이터가 더 이상 필요하지 않은지 확인합니다.
리소스 정리
-
추론 배포 및 연결된 Kubernetes 리소스를 삭제합니다. 이렇게 하면 실행 중인 모델 컨테이너가 중지되고 SageMaker 엔드포인트가 제거됩니다.
kubectl delete inferenceendpointconfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
정리가 성공적으로 완료되었는지 확인합니다.
# # 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
문제 해결
배포가 예상대로 작동하지 않는 경우 이러한 디버깅 명령을 사용합니다.
-
Kubernetes 배포 상태를 확인합니다.
kubectl describe deployment $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
InferenceEndpointConfig 상태를 확인하여 상위 수준 배포 상태와 구성 문제를 확인합니다.
kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
-
모든 Kubernetes 객체의 상태를 확인합니다. 네임스페이스의 모든 관련 Kubernetes 리소스를 포괄적으로 볼 수 있습니다. 이렇게 하면 실행 중인 항목과 누락된 항목에 대한 간략한 개요를 볼 수 있습니다.
kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE