MIG를 사용한 작업 제출 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

MIG를 사용한 작업 제출

Kubernetes YAML 사용

apiVersion: batch/v1 kind: Job metadata: name: mig-job namespace: default spec: template: spec: containers: - name: pytorch image: pytorch/pytorch:latest resources: requests: nvidia.com/mig-1g.5gb: 1 cpu: "100m" memory: "128Mi" limits: nvidia.com/mig-1g.5gb: 1 restartPolicy: Never

HyperPod CLI 사용

HyperPod CLI를 사용하여 MIG를 지원하는 JumpStart 모델을 배포합니다. 다음 예제에서는 GPU 파티셔닝을 위한 새로운 CLI 파라미터를 보여줍니다.

# Deploy JumpStart model with MIG hyp create hyp-jumpstart-endpoint \ --model-id deepseek-llm-r1-distill-qwen-1-5b \ --instance-type ml.p5.48xlarge \ --accelerator-partition-type mig-2g.10gb \ --accelerator-partition-validation True \ --endpoint-name my-endpoint \ --tls-certificate-output-s3-uri s3://certificate-bucket/ \ --namespace default

MIG를 사용한 모델 배포

HyperPod 추론을 사용하면 Studio Classic kubectl 및 HyperPod CLI를 통해 MIG 프로파일에 모델을 배포할 수 있습니다. 에 JumpStart 모델을 배포하기 위해 kubectl CRDs에는 모델을 원하는 MIG 프로필에 배포하기 spec.server.acceleratorPartitionType 위해 라는 필드가 있습니다. 검증을 실행하여 CRD에서 선택한 MIG 프로파일에 모델을 배포할 수 있는지 확인합니다. MIG 검증 검사를 비활성화하려면를 spec.server.validations.acceleratorPartitionValidation에 사용합니다False.

JumpStart 모델

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: JumpStartModel metadata: name: deepseek-model namespace: default spec: sageMakerEndpoint: name: deepseek-endpoint model: modelHubName: SageMakerPublicHub modelId: deepseek-llm-r1-distill-qwen-1-5b server: acceleratorPartitionType: mig-7g.40gb instanceType: ml.p4d.24xlarge

InferenceEndpointConfig를 사용하여 Amazon S3에서 모델 배포

InferenceEndpointConfig를 사용하면 Amazon S3에서 사용자 지정 모델을 배포할 수 있습니다. MIG에 모델을 배포하려면 requests 및에서 MIG 프로파일을 spec.worker.resources 언급합니다limits. 아래 간단한 배포를 참조하세요.

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: InferenceEndpointConfig metadata: name: custom-model namespace: default spec: replicas: 1 modelName: my-model endpointName: my-endpoint instanceType: ml.p4d.24xlarge modelSourceConfig: modelSourceType: s3 s3Storage: bucketName: my-model-bucket region: us-east-2 modelLocation: model-path worker: resources: requests: nvidia.com/mig-3g.20gb: 1 cpu: "5600m" memory: "10Gi" limits: nvidia.com/mig-3g.20gb: 1

InferenceEndpointConfig를 사용하여 FSx for Lustre에서 모델 배포

InferenceEndpointConfig를 사용하면 FSx for Lustre에서 사용자 지정 모델을 배포할 수 있습니다. MIG에 모델을 배포하려면 requests 및에서 MIG 프로파일을 spec.worker.resources 언급합니다limits. 아래 간단한 배포를 참조하세요.

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: InferenceEndpointConfig metadata: name: custom-model namespace: default spec: replicas: 1 modelName: my-model endpointName: my-endpoint instanceType: ml.p4d.24xlarge modelSourceConfig: modelSourceType: fsx fsxStorage: fileSystemId: fs-xxxxx modelLocation: location-on-fsx worker: resources: requests: nvidia.com/mig-3g.20gb: 1 cpu: "5600m" memory: "10Gi" limits: nvidia.com/mig-3g.20gb: 1

Studio Classic UI 사용

MIG를 사용하여 JumpStart 모델 배포

  1. Studio Classic을 열고 JumpStart로 이동합니다.

  2. 원하는 모델을 찾아보거나 검색합니다(예: "DeepSeek", "Llama" 등).

  3. 모델 카드를 클릭하고 배포를 선택합니다.

  4. 배포 구성에서:

    • HyperPod를 배포 대상으로 선택

    • 드롭다운에서 MIG 지원 클러스터를 선택합니다.

    • 인스턴스 구성에서

      • 인스턴스 유형 선택(예: ml.p4d.24xlarge)

      • 사용 가능한 옵션에서 GPU 파티션 유형 선택

      • 인스턴스 수Auto Scaling 설정 구성

  5. 배포 검토 및 클릭

  6. 엔드포인트 섹션에서 배포 진행 상황 모니터링

모델 구성 옵션

엔드포인트 설정:

  • 엔드포인트 이름 - 배포의 고유 식별자

  • 변형 이름 - 구성 변형(기본값: AllTraffic)

  • 인스턴스 유형 - GPU 파티션(p 시리즈)을 지원해야 합니다.

  • MIG 프로파일 - GPU 파티션

  • 초기 인스턴스 수 - 배포할 인스턴스 수

  • Auto Scaling - 트래픽을 기반으로 동적 조정 활성화

고급 구성:

  • 모델 데이터 위치 - 사용자 지정 모델의 Amazon S3 경로

  • 컨테이너 이미지 - 사용자 지정 추론 컨테이너(선택 사항)

  • 환경 변수 - 모델별 구성

  • Amazon VPC 구성 - 네트워크 격리 설정

배포된 모델 모니터링

  1. Studio Classic > 배포 > 엔드포인트로 이동

  2. MIG 지원 엔드포인트 선택

  3. 다음을 포함한 지표 보기:

    • MIG 사용률 - GPU 파티션당 사용량

    • 메모리 소비 - GPU 파티션당

    • 추론 지연 시간 - 요청 처리 시간

    • 처리량 - 초당 요청 수

  4. 자동 모니터링을 위한 Amazon CloudWatch 경보 설정

  5. MIG 사용률을 기반으로 Auto Scaling 정책 구성

HyperPod CLI 사용

JumpStart 배포

HyperPod CLI JumpStart 명령에는 MIG 지원을 위한 두 개의 새로운 필드가 포함되어 있습니다.

  • --accelerator-partition-type - MIG 구성을 지정합니다(예: mig-4g.20gb).

  • --accelerator-partition-validation - 모델과 MIG 프로파일 간의 호환성을 검증합니다(기본값: true).

hyp create hyp-jumpstart-endpoint \ --version 1.1 \ --model-id deepseek-llm-r1-distill-qwen-1-5b \ --instance-type ml.p4d.24xlarge \ --endpoint-name js-test \ --accelerator-partition-type "mig-4g.20gb" \ --accelerator-partition-validation true \ --tls-certificate-output-s3-uri s3://my-bucket/certs/

사용자 지정 엔드포인트 배포

사용자 지정 엔드포인트를 통해 배포하려면 기존 필드 --resources-requests--resources-limits를 사용하여 MIG 프로파일 기능을 활성화합니다.

hyp create hyp-custom-endpoint \ --namespace default \ --metadata-name deepseek15b-mig-10-14-v2 \ --endpoint-name deepseek15b-mig-endpoint \ --instance-type ml.p4d.24xlarge \ --model-name deepseek15b-mig \ --model-source-type s3 \ --model-location deep-seek-15b \ --prefetch-enabled true \ --tls-certificate-output-s3-uri s3://sagemaker-bucket \ --image-uri lmcache/vllm-openai:v0.3.7 \ --container-port 8080 \ --model-volume-mount-path /opt/ml/model \ --model-volume-mount-name model-weights \ --s3-bucket-name model-storage-123456789 \ --s3-region us-east-2 \ --invocation-endpoint invocations \ --resources-requests '{"cpu":"5600m","memory":"10Gi","nvidia.com/mig-3g.20gb":"1"}' \ --resources-limits '{"nvidia.com/mig-3g.20gb":"1"}' \ --env '{ "OPTION_ROLLING_BATCH":"vllm", "SERVING_CHUNKED_READ_TIMEOUT":"480", "DJL_OFFLINE":"true", "NUM_SHARD":"1", "SAGEMAKER_PROGRAM":"inference.py", "SAGEMAKER_SUBMIT_DIRECTORY":"/opt/ml/model/code", "MODEL_CACHE_ROOT":"/opt/ml/model", "SAGEMAKER_MODEL_SERVER_WORKERS":"1", "SAGEMAKER_MODEL_SERVER_TIMEOUT":"3600", "OPTION_TRUST_REMOTE_CODE":"true", "OPTION_ENABLE_REASONING":"true", "OPTION_REASONING_PARSER":"deepseek_r1", "SAGEMAKER_CONTAINER_LOG_LEVEL":"20", "SAGEMAKER_ENV":"1" }'