기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다중 모델 엔드포인트 배포를 위한 인스턴스 권장 사항
다중 모델 엔드포인트에 대한 SageMaker ML 인스턴스 유형을 선택할 때 고려해야 할 몇 가지 항목이 있습니다.
-
제공해야 하는 모든 모델에 대해 충분한 Amazon Elastic Block Store(Amazon EBS) 용량을 프로비저닝합니다.
-
성능(콜드 스타트 최소화)과 비용(인스턴스 용량을 과도하게 프로비저닝하지 않음)의 균형을 유지합니다. 엔드포인트 및 다중 모델 엔드포인트의 각 인스턴스 유형에 대해 가 SageMaker 연결하는 스토리지 볼륨의 크기에 대한 자세한 내용은 섹션을 참조하세요인스턴스 스토리지 볼륨.
-
MultiModel
모드에서 실행되도록 구성된 컨테이너의 경우, 인스턴스에 프로비저닝된 스토리지 볼륨은 기본SingleModel
모드보다 더 큽니다. 따라서SingleModel
모드에 비해 인스턴스 스토리지 볼륨에 더 많은 모델을 캐싱할 수 있습니다.
SageMaker ML 인스턴스 유형을 선택할 때는 다음을 고려하세요.
-
다중 모델 엔드포인트는 현재 모든 CPU 인스턴스 유형 및 단일GPU 인스턴스 유형에서 지원됩니다.
-
모델 크기(인스턴스의 메모리에 로드할 수 있는 모델 수)와 함께 다중 모델 엔드포인트 뒤에 호스팅하려는 모델에 대한 트래픽 분산(액세스 패턴)의 경우 다음 정보를 염두에 두세요.
-
인스턴스의 메모리 양을 로드할 모델의 캐시 공간으로 생각하고 의 수를 로드된 모델에 대한 추론을 수행하기 위한 동시성 제한 vCPUs 으로 생각하세요(모델 호출이 에 바인딩된다고 가정). CPU
-
CPU 지원되는 인스턴스의 경우 의 수는 인스턴스당 최대 동시 호출에 vCPUs 영향을 미칩니다(모델 호출이 에 바인딩된다고 가정CPU). 의 양이 많을 vCPUs 수록 더 고유한 모델을 동시에 호출할 수 있습니다.
-
GPU 지원되는 인스턴스의 경우 인스턴스와 GPU 메모리의 양이 많을수록 더 많은 모델을 로드하고 추론 요청을 처리할 준비가 될 수 있습니다.
-
CPU 및 GPU 지원 인스턴스의 경우 미사용 모델을 언로드할 수 있도록 일부 '슬랙' 메모리를 사용할 수 있습니다. 특히 인스턴스가 여러 개인 다중 모델 엔드포인트의 경우 더욱 그렇습니다. 인스턴스 또는 가용 영역에 장애가 발생하면 해당 인스턴스의 모델이 엔드포인트 뒤에 있는 다른 인스턴스로 다시 라우팅됩니다.
-
-
로드/다운로드 시간 허용 오차 확인:
-
d 인스턴스 유형 패밀리(예: m5d, c5d 또는 r5d) 및 g5s에는 NVMe (비휘발성 메모리 익스프레스) 가 함께 제공SSD되므로 I/O 성능이 뛰어나고 모델을 스토리지 볼륨으로 다운로드하는 데 걸리는 시간과 컨테이너가 스토리지 볼륨에서 모델을 로드하는 데 걸리는 시간을 줄일 수 있습니다.
-
d 및 g5 인스턴스 유형은 NVMe SSD 스토리지와 함께 제공되므로 는 다중 모델 엔드포인트를 호스팅하는 이러한 ML 컴퓨팅 인스턴스에 Amazon EBS 스토리지 볼륨을 연결하지 SageMaker 않습니다. Auto Scaling은 모델의 크기가 비슷하고 동질적일 때, 즉 추론 지연 요구 사항과 리소스 요구 사항이 비숫한 경우에 가장 잘 작동합니다.
-
또한 다음 지침을 사용하여 다중 모델 엔드포인트에서 모델 로딩을 최적화할 수 있습니다.
모든 대상 지정 모델을 메모리에 담을 수 없는 인스턴스 유형 선택
경우에 따라 모든 대상 모델을 한 번에 보관할 수 없는 인스턴스 유형을 선택하여 비용을 절감할 수 있습니다. 는 메모리가 부족할 때 모델을 SageMaker 동적으로 언로드하여 새로 대상화된 모델을 위한 공간을 마련합니다. 이따금씩 요청되는 모델의 경우 동적 로드 지연 시간이 발생합니다. 지연 시간 요구가 더 엄격한 경우에는 크기가 더 큰 인스턴스 유형이나 더 많은 인스턴스를 선택할 수 있습니다. 성능 테스트 및 분석에 시간을 미리 투자하면 성공적인 프로덕션 배포에 도움이 됩니다.
모델 캐시 히트 평가
Amazon CloudWatch 지표는 모델을 평가하는 데 도움이 될 수 있습니다. 다중 모델 엔드포인트에서 사용할 수 있는 지표에 대한 자세한 내용은 CloudWatch 다중 모델 엔드포인트 배포 지표 단원을 참조하세요.
ModelCacheHit
지표에 대한 Average
통계를 사용하여 모델이 이미 로드된 요청의 비율을 모니터링할 수 있습니다. ModelUnloadingTime
지표에 대한 SampleCount
통계를 사용하여 일정 기간 동안 컨테이너로 전송된 언로드 요청 수를 모니터링할 수 있습니다. 모델이 너무 자주 언로드되는 경우(모델 작업 세트에 캐시 공간이 부족하여 모델이 언로드된 후 다시 로드되는 스래싱 표시기)에는 메모리 용량이 더 큰 인스턴스 유형을 사용하거나 다중 모델 엔드포인트 뒤의 인스턴스 수를 늘리는 것이 좋습니다. 여러 인스턴스가 있는 다중 모델 엔드포인트의 경우, 모델이 하나 이상의 인스턴스에 로드될 수 있습니다.