기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
x86에서 AWS Graviton으로 추론 워크로드 마이그레이션
AWS Graviton
ARM 호환되는 컨테이너 이미지 또는 다중 아키텍처 컨테이너 이미지를 사용하여 x86 기반 인스턴스에서 Graviton 기반 인스턴스로 기존 추론 워크로드를 마이그레이션할 수 있습니다. 이 안내서에서는 AWS Deep Learning 컨테이너 이미지
x86 기반 인스턴스에서 Graviton 기반 인스턴스로 추론 워크로드를 마이그레이션하는 프로세스는 크게 4단계로 구성됩니다.
컨테이너 이미지를 AWS 관리형 컨테이너 레지스트리인 Amazon Elastic Container Registry(AmazonECR)로 푸시합니다.
SageMaker 모델을 생성합니다.
엔드포인트 구성을 생성합니다.
엔드포인트를 생성합니다.
이 가이드의 다음 섹션서는 위 단계에 대한 자세한 내용이 있습니다. 교체 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 에 푸시하는 것 외에도 매니페스트 목록을 Amazon 에 푸시해야 ECR합니다ECR. 매니페스트 목록을 사용하면 다른 이미지 매니페스트를 중첩 포함할 수 있으며, 포함된 각 이미지는 아키텍처, 운영 체제 및 기타 플랫폼 속성에 따라 지정됩니다. 다음 예제에서는 매니페스트 목록을 생성하고 Amazon 에 푸시합니다ECR.
-
매니페스트 목록 생성
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
\ -
어떤 이미지가 어떤 아키텍처에 사용되는지 정확하게 식별할 수 있도록 매니페스트 목록에 주석을 답니다.
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
-
매니페스트를 푸시합니다.
docker manifest push
aws-account-id
.dkr.ecr.aws-region
.amazonaws.com/my-repository
매니페스트 목록을 생성하고 Amazon 에 푸시하는 방법에 대한 자세한 내용은 Amazon 에 대한 다중 아키텍처 컨테이너 이미지 소개 ECR
SageMaker 모델 생성
를 호출하여 SageMaker 모델을 생성합니다CreateModel
API.
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 )
엔드포인트 구성 생성
를 호출하여 엔드포인트 구성을 생성합니다CreateEndpointConfig
API. 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 } ] )
엔드포인트 생성
를 호출하여 엔드포인트를 생성합니다CreateEndpoint
API.
sagemaker_client.create_endpoint( EndpointName = "
endpoint-name
", EndpointConfigName = "endpoint-config-name
" )