딥러닝 모델을 만들고 효율적인 AI/ML 프로세스를 위해 Sagemaker로 Pipeline을 작성했다면 만들어진 모델을 이용해 실제 서비스에 적용해야 합니다. 이때, Sagemaker에서 크게 4가지의 빌트인 모델 서빙 패턴을 제공해주는데 프로젝트에 맞는 서빙 패턴을 고려해서 적용해야 합니다.
현재 작업을 완료한 실제 패턴은 특정시간을 기준으로 모인 데이터를 작성한 모델을 거쳐 고객 분석팀의 대시보드에 추론값을 parquet 방식으로 확률값과 라벨값을 뽑아줍니다.
처음 서빙패턴은 리얼타임 추론을 적용하였는데, 위 특성을 고려할 때 특정시간까지 모인 데이터셋의 크기가 일정하지 않고 매우 큰 데이터셋이 들어왔을때 최대 페이로드를 넘는 문제점이 존재했습니다. 따라서 배치 변환을 통한 서빙 패턴을 적용하기로 했습니다.
전체 데이터셋에 대해 추론
대용량 데이터의 주기적 추론에 적합
임시 리소스(프로비저닝된 인스턴스는 작업 완료 후 곧바로 종료) -> 사용한 만큼 과금
최대 1GB의 대용량 페이로드에 적합
최대 15분의 타임아웃
오토스케일링
CV/NLP에 적합
모델 추론에 필요한 모든 아티팩트를 웹 서버에 저장
최대 6MB 페이로드에 대한 즉각적인 응답
60초 타임아웃
오토스케일링
도커 이미지 빌드 및 람다 함수 구현 필요
모델 생성 -> 엔드포인트 구성 생성 -> 엔드포인트생성 -> Sagemaker 서버리스 엔드포인트
사용 가능한 메모리 크기 1/2/3/4/5/6GB
- | 리얼타임 | 배치 | 비동기 | 서버리스 |
---|---|---|---|---|
GPU지원 | O | O | O | X |
오토스케일링 | O | - | O | O |
Scale to Zero | X | - | O | O |
멀티컨테이너 | O | X | X | X |
멀티모델 | O | X | X | X |
페이로드 크기 | 6MB | - | 1GB | 4MB |
타임아웃 | 60s | - | 15M | 60s |
블루그린 가드레일 | O | X | X | 1step |
PrivateLnk 지원 | O | O | O | X |
AB테스트 | O | X | X | X |