추론 워크로드를 x86에서 다음으로 마이그레이션하십시오. AWS Graviton - 아마존 SageMaker

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

추론 워크로드를 x86에서 다음으로 마이그레이션하십시오. AWS Graviton

AWSGraviton은 에서 설계한 일련의 ARM 기반 프로세서입니다. AWS. x86 기반 프로세서보다 에너지 효율이 높고 가격 대비 성능이 뛰어납니다. SageMaker Amazon은 Graviton 기반 인스턴스를 제공하므로 이러한 고급 프로세서를 추론 요구 사항에 맞게 활용할 수 있습니다.

호환되는 컨테이너 이미지 또는 다중 아키텍처 컨테이너 이미지를 사용하여 기존 추론 워크로드를 x86 기반 인스턴스에서 Graviton 기반 인스턴스로 마이그레이션할 수 있습니다. ARM 이 가이드에서는 다음 중 하나를 사용하고 있다고 가정합니다. AWS 딥러닝 컨테이너 이미지 또는 ARM 호환되는 자체 컨테이너 이미지. 자체 이미지 구축 방법은 이미지 구축하기에서 확인하세요.

x86 기반 인스턴스에서 Graviton 기반 인스턴스로 추론 워크로드를 마이그레이션하는 프로세스는 크게 4단계로 구성됩니다.

  1. 컨테이너 이미지를 Amazon Elastic 컨테이너 레지스트리 (AmazonECR) 로 푸시하고, AWS 관리형 컨테이너 레지스트리.

  2. SageMaker 모델 생성.

  3. 엔드포인트 구성을 생성합니다.

  4. 엔드포인트를 생성합니다.

이 가이드의 다음 섹션서는 위 단계에 대한 자세한 내용이 있습니다. 교체하십시오.user placeholder text 코드 예제를 직접 작성한 정보로 입력하세요.

컨테이너 이미지를 Amazon으로 푸시 ECR

다음을 사용하여 컨테이너 이미지를 ECR Amazon으로 푸시할 수 있습니다. AWS CLI. ARM호환되는 이미지를 사용할 때는 해당 이미지가 ARM 아키텍처를 지원하는지 확인하십시오.

docker inspect deep-learning-container-uri

응답은 이미지가 ARM 아키텍처를 지원한다는 것을 "Architecture": "arm64" 나타냅니다. docker push명령을 사용하여 ECR Amazon에 푸시할 수 있습니다. 자세한 내용은 도커 이미지 푸시하기에서 확인하세요.

다중 아키텍처 컨테이너 이미지는 기본적으로 다양한 아키텍처 또는 운영 체제를 지원하는 컨테이너 이미지 세트이며, 이를 일반 매니페스트 이름으로 참조할 수 있습니다. 다중 아키텍처 컨테이너 이미지를 사용하는 경우 이미지를 Amazon으로 푸시하는 것 외에도 매니페스트 목록을 ECR Amazon에 푸시해야 합니다. ECR 매니페스트 목록을 사용하면 다른 이미지 매니페스트를 중첩 포함할 수 있으며, 포함된 각 이미지는 아키텍처, 운영 체제 및 기타 플랫폼 속성에 따라 지정됩니다. 다음 예제는 매니페스트 목록을 생성하여 Amazon에 푸시합니다. ECR

  1. 매니페스트 목록 생성

    docker manifest create aws-account-id.dkr.ecr.aws-region.amazonaws.com/my-repository \ aws-account-id.dkr.ecr.aws-account-id.amazonaws.com/my-repository:amd64 \ aws-account-id.dkr.ecr.aws-account-id.amazonaws.com/my-repository:arm64 \
  2. 어떤 이미지가 어떤 아키텍처에 사용되는지 정확하게 식별할 수 있도록 매니페스트 목록에 주석을 답니다.

    docker manifest annotate --arch arm64 aws-account-id.dkr.ecr.aws-region.amazonaws.com/my-repository \ aws-account-id.dkr.ecr.aws-region.amazonaws.com/my-repository:arm64
  3. 매니페스트를 푸시합니다.

    docker manifest push aws-account-id.dkr.ecr.aws-region.amazonaws.com/my-repository

매니페스트 목록을 생성하여 Amazon에 푸시하는 방법에 대한 자세한 내용은 ECR Amazon용 다중 아키텍처 컨테이너 이미지 소개 및 다중 아키텍처 ECR 이미지 푸시를 참조하십시오.

SageMaker 모델 생성

를 호출하여 SageMaker 모델을 생성합니다 CreateModelAPI.

import boto3 from sagemaker import get_execution_role aws_region = "aws-region" sagemaker_client = boto3.client("sagemaker", region_name=aws_region) role = get_execution_role() sagemaker_client.create_model( ModelName = "model-name", PrimaryContainer = { "Image": "deep-learning-container-uri", "ModelDataUrl": "model-s3-location", "Environment": { "SAGEMAKER_PROGRAM": "inference.py", "SAGEMAKER_SUBMIT_DIRECTORY": "inference-script-s3-location", "SAGEMAKER_CONTAINER_LOG_LEVEL": "20", "SAGEMAKER_REGION": aws_region, } }, ExecutionRoleArn = role )

엔드포인트 구성 생성

를 호출하여 엔드포인트 구성을 생성합니다 CreateEndpointConfigAPI. Graviton 기반 인스턴스 목록은 컴퓨팅 최적화 인스턴스에서 확인하세요.

sagemaker_client.create_endpoint_config( EndpointConfigName = "endpoint-config-name", ProductionVariants = [ { "VariantName": "variant-name", "ModelName": "model-name", "InitialInstanceCount": 1, "InstanceType": "ml.c7g.xlarge", # Graviton-based instance } ] )

엔드포인트 생성

를 호출하여 엔드포인트를 생성합니다 CreateEndpointAPI.

sagemaker_client.create_endpoint( EndpointName = "endpoint-name", EndpointConfigName = "endpoint-config-name" )