기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Neo를 사용한 컴파일된 권장 사항
Inference Recommender에서는 Neo로 모델을 컴파일하고 컴파일된 모델에 대한 엔드포인트 권장 사항을 가져올 수 있습니다. SageMaker Neo는 대상 하드웨어 플랫폼(즉, 특정 인스턴스 유형 또는 환경)에 맞게 모델을 최적화할 수 있는 서비스입니다. Neo로 모델을 최적화하면 호스팅된 모델의 성능이 향상될 수 있습니다.
Neo 지원 프레임워크 및 컨테이너인 경우, Inference Recommender는 Neo에 최적화된 권장 사항을 자동으로 제안합니다. Neo 컴파일 대상이 되려면 입력이 다음 필수 조건을 충족해야 합니다.
-
SageMaker 소유 DLC 또는 XGBoost 컨테이너를 사용하고 있습니다.
-
Neo에서 지원하는 프레임워크 버전 사용. Neo에서 지원하는 프레임워크 버전은 SageMaker Neo 설명서클라우드 인스턴스의 섹션을 참조하세요.
-
Neo를 사용하려면 모델에 맞는 정확한 입력 데이터 형상을 입력해야 합니다. 이 데이터 형상은 모델 패키지를 생성할 때
DataInputConfig
(InferenceSpecification
내)(으)로 지정할 수 있습니다. 각 프레임워크의 올바른 데이터 형태에 대한 자세한 내용은 SageMaker Neo 설명서의 컴파일을 위한 모델 준비를 참조하세요.다음 예제에서는
data_input_configuration
이 사전 형식의 데이터 형상(예:{'input':[1,1024,1024,3]}
)을 포함하는 변수인InferenceSpecification
에서DataInputConfig
필드를 지정하는 방법을 볼 수 있습니다."InferenceSpecification": { "Containers": [ { "Image": dlc_uri, "Framework": framework.upper(), "FrameworkVersion": framework_version, "NearestModelName": model_name, "ModelInput": {"DataInputConfig": data_input_configuration}, } ], "SupportedContentTypes": input_mime_types, # required, must be non-null "SupportedResponseMIMETypes": [], "SupportedRealtimeInferenceInstanceTypes": supported_realtime_inference_types, # optional }
요청에서 이러한 조건이 충족되면 Inference Recommender는 컴파일된 버전과 컴파일되지 않은 버전의 모델 모두에 대해 시나리오를 실행하여 선택할 수 있는 여러 권장 조합을 제공합니다. 동일한 추론 권장 사항의 컴파일된 버전과 컴파일되지 않은 버전의 구성을 비교하여 사용 사례에 가장 적합한 버전을 정할 수 있습니다. 권장 사항은 추론당 비용을 기준으로 순위가 매겨집니다.
Neo 컴파일 권장 사항을 얻으려면 입력이 이전 요구 사항을 충족하는지 확인하는 것 외에 추가 구성을 수행할 필요가 없습니다. Inference Recommender는 입력이 요구 사항을 충족하고 Neo 권장 사항이 포함된 응답을 받는 경우 모델에서 Neo 컴파일을 자동으로 실행합니다.
Neo 컴파일 중에 오류가 발생할 경우 Neo 컴파일 오류 문제 해결을(를) 참조하세요.
다음 표는 컴파일된 모델에 대한 권장 사항이 포함된 Inference Recommender 작업에서 가져올 수 있는 응답의 예시입니다. InferenceSpecificationName
필드가 None
라면 권장 사항은 컴파일되지 않은 모델입니다. InferenceSpecificationName 필드 값이 인 마지막 행은 Neo로 컴파일된 모델에 대한 neo-00011122-2333-4445-5566-677788899900
행입니다. 필드 값은 모델을 컴파일하고 최적화하는 데 사용되는 Neo 작업의 이름입니다.
EndpointName | InstanceType | InitialInstanceCount | EnvironmentParameters | CostPerHour | CostPerInference | MaxInvocations | ModelLatency | InferenceSpecificationName |
---|---|---|---|---|---|---|---|---|
sm-epc-example-000111222 |
ml.c5.9xlarge |
1 |
[] |
1.836 |
9.15E-07 |
33456 |
7 |
None |
sm-epc-example-111222333 |
ml.c5.2xlarge |
1 |
[] |
0.408 |
2.11E-07 |
32211 |
21 |
None |
sm-epc-example-222333444 |
ml.c5.xlarge |
1 |
[] |
0.204 |
1.86E-07 |
18276 |
92 |
None |
sm-epc-example-333444555 |
ml.c5.xlarge |
1 |
[] |
0.204 |
1.60E-07 |
21286 |
42 |
neo-00011122-2333-4445-5566-677788899900 |
시작
NEO에 최적화된 권장 사항을 포함하는 Inference Recommender 작업을 생성하는 일반적인 단계는 다음과 같습니다.
-
컴파일용 ML 모델을 준비합니다. 자세한 정보는 Neo 설명서에 있는 컴파일용 모델 준비에서 확인하세요.
-
모델 아카이브(
.tar.gz
파일)에 모델을 패키징합니다. -
샘플 페이로드 아카이브를 생성합니다.
-
모델 레지스트리에 SageMaker 모델을 등록합니다.
-
Inference Recommender 작업을 생성합니다.
-
Inference Recommender 작업 결과를 보고 구성을 선택합니다.
-
컴파일 실패 시 디버그합니다. 자세한 정보는 Neo 컴파일 오류 해결에서 확인하세요.
이전 워크플로와 를 사용하여 Neo 최적화 권장 사항을 가져오는 방법을 보여주는 예제는 다음 예제 노트북을