프로덕션에서 모델을 업데이트하기 위한 배포 가드레일 - Amazon SageMaker

프로덕션에서 모델을 업데이트하기 위한 배포 가드레일

배포 가드레일은 프로덕션 환경에서 기계 학습 모델을 업데이트하기 위한 Amazon SageMaker Inference의 모델 배포 옵션 세트입니다. 완전 관리형 배포 옵션으로 프로덕션에 있는 현재 모델에서 새 모델로의 전환을 제어할 수 있습니다. 캐너리 및 리니어와 같은 블루/그린 배포의 트래픽 시프팅 모드를 사용하면 업데이트 과정에서 현재 모델에서 새 모델로의 트래픽 시프팅 프로세스를 세밀하게 제어할 수 있습니다. 또한, 자동 롤백과 같이 기본 제공된 보호 기능을 통해 문제를 조기에 파악하고 프로덕션에 심각한 영향을 미치기 전에 자동으로 수정 조치를 취할 수 있습니다.

배포 가드레일에는 다음과 같은 이점이 있습니다.

  • 프로덕션 환경을 업데이트하는 동안 안전하게 배포할 수 있습니다. 프로덕션 환경으로 회귀 업데이트하면 모델 지연 시간이 증가하고 오류율이 높아지는 등 예상치 못한 다운타임이 발생하므로 비즈니스에 영향을 미칠 수 있습니다. 배포 가드레일은 모범 사례와 기본 제공된 운영 안전 가드레일을 제공하여 이러한 위험을 완화하는 데 도움이 됩니다.

  • 완전 관리형 배포. SageMaker는 이러한 배포의 설정 및 오케스트레이션을 담당하고 이를 엔드포인트 업데이트 메커니즘과 통합합니다. 오케스트레이션, 모니터링 또는 롤백 메커니즘을 구축하고 유지할 필요가 없습니다. SageMaker를 활용하여 이러한 배포를 설정 및 오케스트레이션하고 애플리케이션에 ML을 활용하는 데 집중할 수 있습니다.

  • 표시 여부 DescribeEndpoint API 또는 Amazon CloudWatch Events(지원되는 엔드포인트의 경우)를 통해 배포 진행 상황을 추적할 수 있습니다. SageMaker의 이벤트에 대해 자세히 알아보려면 Amazon SageMaker가 Amazon EventBridge로 보내는 이벤트에서 엔드포인트 배포 상태 변경 섹션을 참조하세요. 참고로 엔드포인트가 제외 페이지의 기능 중 하나를 사용하는 경우 CloudWatch Events를 사용할 수 없습니다.

참고

배포 가드레일은 비동기 추론실시간 추론 엔드포인트 유형에만 적용됩니다.

시작하는 방법

프로덕션 환경에서 모델을 업데이트하기 위해 블루/그린 배포와 롤링 배포라는 두 가지 유형의 배포를 지원합니다.

  • 블루/그린 배포: 업데이트를 통해 기존 플릿(블루 플릿)에서 새 플릿(그린 플릿)으로 트래픽을 시프트할 수 있습니다. 블루/그린 배포는 다양한 트래픽 시프팅 모드를 제공합니다. 트래픽 시프팅 모드는 SageMaker가 업데이트가 포함된 새 플릿으로 엔드포인트 트래픽을 라우팅하는 방법을 지정하는 구성입니다. 다음 트래픽 시프팅 모드는 엔드포인트 업데이트 프로세스에 대해 다양한 수준의 제어를 제공합니다.

    • 올앳원스 트래픽 시프팅 사용은 모든 엔드포인트 트래픽을 블루 플릿에서 그린 플릿으로 시프팅합니다. 트래픽이 그린 플릿으로 시프팅하면 사전 지정된 Amazon CloudWatch 경보가 설정된 시간(베이킹 기간) 동안 그린 플릿을 모니터링하기 시작합니다. 베이킹 기간 동안 경보가 발생하지 않으면 SageMaker는 블루 플릿을 종료합니다.

    • 캐너리 트래픽 시프팅 사용는 소량의 트래픽(캐너리)을 그린 플릿으로 시프팅하고 베이킹 기간 동안 모니터링합니다. 캐너리가 그린 플릿에서 성공하면 SageMaker는 블루 플릿을 종료하기 전에 나머지 트래픽을 블루 플릿에서 그린 플릿으로 시프팅합니다.

    • 리니어 트래픽 시프팅 사용은 트래픽 시프팅 단계 수와 각 단계에서 시프팅할 트래픽 비율을 훨씬 더 세부적으로 사용자 지정할 수 있는 기능을 제공합니다. 캐너리 시프팅을 사용하면 두 단계로 트래픽을 시프팅할 수 있지만 리니어 시프팅을 사용하면 선형 간격이 n단계로 확장됩니다.

  • 롤링 배포 사용: SageMaker가 용량을 점진적으로 프로비저닝하고 지정한 배치 크기 단계에 따라 트래픽을 새 플릿으로 시프팅하므로 엔드포인트를 업데이트할 수 있습니다. 새 플릿의 인스턴스는 새 배포 구성으로 업데이트되며, 베이킹 기간 동안 CloudWatch 경보가 발생하지 않으면 SageMaker는 이전 플릿의 인스턴스를 정리합니다. 이 옵션을 사용하면 각 단계에서 시프팅되는 인스턴스 수 또는 용량 비율을 세밀하게 제어할 수 있습니다.

UpdateEndpointCreateEndpoint SageMaker API 및 AWS Command Line Interface 명령을 통해 배포를 생성하고 관리할 수 있습니다. 배포 설정 방법에 대한 자세한 내용은 개별 배포 페이지를 참조하세요. 참고로 엔드포인트가 제외 페이지에 나열된 기능 중 하나를 사용하는 경우 배포 가드레일을 사용할 수 없습니다.

배포 가드레일을 사용하는 방법을 보여주는 안내 예제를 따라가려면 캐너리 및 리니어 트래픽 시프팅 모드에 대한 Jupyter notebook 예제를 참조하세요.