기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
ML 모델을 배포할 때 한 가지 옵션은 모델 아티팩트를 보관하고 tar.gz
형식으로 압축하는 것입니다. 이 방법은 소형 모델에서 잘 작동하지만, 수천억 개의 파라미터가 포함된 대형 모델 아티팩트를 압축한 다음 엔드포인트에서 압축을 푸는 데는 상당한 시간이 걸릴 수 있습니다. 대규모 모델 추론의 경우 압축되지 않은 ML 모델을 배포하는 것이 좋습니다. 이 가이드에서는 압축되지 않은 ML 모델을 배포하는 방법을 보여줍니다.
압축되지 않은 ML 모델을 배포하려면 모든 모델 아티팩트를 Amazon S3에 업로드하고 공통 Amazon S3 접두사로 구성하세요. Amazon S3 접두사는 Amazon S3 객체 키 이름의 시작 부분에 있는 문자열로, 나머지 이름과 구분 기호로 구분됩니다. Amazon S3 접두사에 대한 자세한 정보는 접두사를 사용한 객체 구성을 참고하세요.
SageMaker AI로 배포하려면 슬래시(/)를 구분 기호로 사용해야 합니다. ML 모델과 관련된 아티팩트만 접두사와 함께 구성되도록 해야 합니다. 압축되지 않은 아티팩트가 한 개 있는 ML 모델의 경우, 접두사는 키 이름과 동일합니다. AWS CLI를 사용하여 접두사와 연결된 객체를 확인할 수 있습니다.
aws s3 ls --recursive s3://
bucket
/prefix
모델 아티팩트를 Amazon S3에 업로드하고 공통 접두사로 구성한 후, CreateModel 요청을 호출할 때 ModelDataSource 필드의 일부로 해당 위치를 지정할 수 있습니다. SageMaker AI는 추론을 /opt/ml/model
위해 압축되지 않은 모델 아티팩트를에 자동으로 다운로드합니다. SageMaker AI가 아티팩트를 다운로드할 때 사용하는 규칙에 대한 자세한 내용은 S3ModelDataSource를 참조하세요.
다음 코드 스니펫은 압축되지 않은 모델을 배포할 때 CreateModel
API를 호출하는 방법을 보여줍니다. 기울임꼴로 표시된 사용자 글자
를 사용자의 정보로 바꿉니다.
model_name = "model-name
"
sagemaker_role = "arn:aws:iam::123456789012:role/SageMakerExecutionRole
"
container = "123456789012.dkr.ecr.us-west-2.amazonaws.com/inference-image:latest
"
create_model_response = sagemaker_client.create_model(
ModelName = model_name,
ExecutionRoleArn = sagemaker_role,
PrimaryContainer = {
"Image": container,
"ModelDataSource": {
"S3DataSource": {
"S3Uri": "s3://amzn-s3-demo-bucket/prefix/to/model/data/
",
"S3DataType": "S3Prefix",
"CompressionType": "None",
},
},
},
)
앞서 언급한 예제에서는 모델 아티팩트가 공통 접두사로 구성되어 있다고 가정합니다. 대신에 모델 아티팩트가 압축되지 않은 단일 Amazon S3 객체인 경우, Amazon S3 객체를 가리키도록 "S3Uri"
을 변경하고 "S3DataType"
을 "S3Object"
로 변경합니다.
참고
현재 SageMaker AI 배치 변환 AWS Marketplace, SageMaker 서버리스 추론 엔드포인트 및 SageMaker 다중 모델 엔드포인트와 ModelDataSource
함께를 사용할 수 없습니다.