Neo로 컴파일된 권장 사항 가져오기 - 아마존 SageMaker

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

Neo로 컴파일된 권장 사항 가져오기

Inference Recommender에서는 Neo로 모델을 컴파일하고 컴파일된 모델에 대한 엔드포인트 권장 사항을 가져올 수 있습니다. SageMaker Neo는 대상 하드웨어 플랫폼 (즉, 특정 인스턴스 유형 또는 환경) 에 맞게 모델을 최적화할 수 있는 서비스입니다. Neo로 모델을 최적화하면 호스팅된 모델의 성능이 향상될 수 있습니다.

Neo 지원 프레임워크 및 컨테이너인 경우, Inference Recommender는 Neo에 최적화된 권장 사항을 자동으로 제안합니다. Neo 컴파일 대상이 되려면 입력이 다음 필수 조건을 충족해야 합니다.

  • SageMaker 소유한 DLC 또는 XGBoost 컨테이너를 사용하고 있습니다.

  • Neo에서 지원하는 프레임워크 버전 사용. Neo에서 지원하는 프레임워크 버전은 Neo 설명서를 참조하십시오클라우드 인스턴스. SageMaker

  • Neo를 사용하려면 모델에 맞는 정확한 입력 데이터 형상을 입력해야 합니다. 이 데이터 형상은 모델 패키지를 생성할 때 DataInputConfig(InferenceSpecification 내)(으)로 지정할 수 있습니다. 각 프레임워크의 올바른 데이터 셰이프에 대한 자세한 내용은 Neo 설명서에서 컴파일을 위한 모델 준비를 참조하십시오. SageMaker

    다음 예제에서는 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 컴파일 권장 사항을 얻으려면 입력이 이전 요구 사항을 충족하는지 확인하는 것 외에 추가 구성을 수행할 필요가 없습니다. 입력이 요구 사항을 충족하는 경우 추론 추천기는 모델에서 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 컴파일 오류 해결에서 확인하세요.

이전 워크플로를 보여주는 예제와 XGBoost를 사용하여 Neo에 최적화된 권장 사항을 가져오는 방법을 보여주는 예제는 다음 예제 노트북에서 확인하세요. 를 사용하여 TensorFlow NEO에 최적화된 권장 사항을 얻는 방법을 보여주는 예제는 다음 예제 노트북을 참조하십시오.