Skip to content

Latest commit

 

History

History
110 lines (88 loc) · 7.81 KB

File metadata and controls

110 lines (88 loc) · 7.81 KB

SageMaker Cost Optimization

마지막 업데이트: 2022.09.30


SageMaker 의 비용 최적화를 위해서 주요한 모범 사례의 요약을 기술 합니다. 자세한 사항은 참조의 블로그 및 기타 링크를 확인 부탁 합니다.


0. SageMaker ML Lifecycle 단계

SageMaker-Process.jpg

주요 참조: 블로그 (Sep 2020 발행) :

1. Right-Sizing 컴퓨팅 인스턴스를 사용

  • 배경 및 목적
    • ML Workflow의 모델 개발 (Build), 모델 훈련 및 튜닝 (Training and Tuning), 그리고 서빙 (Deployment and Serving) 에 사용되는 컴퓨팅 인스턴스를 잘 결정해야 함.
  • 인스턴스 타입
    • T, M: 일반적 목적의 인스턴스
    • C: Computing-optimized 인스턴스
    • R: Memory-optimized 인스턴스
    • P, G and Inf: GPU-optimzied 인스턴스

2. 개발 환경 (Build Environment)

  • 배경 및 목적
    • 노트북 인스턴스 및 스튜디오 노트북은 데이터 탐색, 스크립트 코드 작성, 피쳐 엔지니어링 및 모델링의 프로토타이핑에 사용
  • 모범 사례

3. 전처리 환경 (Processing Environment)

  • 배경 및 목적
    • 개발 환경에서 데이타 탐색 및 프로토타이핑이 완료 된 후에 데이터 전처리를 위해서 SageMaker Processing 등을 사용.
  • 모범 사례
    • Processing Job 을 실행하여 사용한 시간 만큼만 지불
    • Processing Job 을 비동기적으로 실행 .fit(wait=False) 를 통해서 실행하고 사용하고 있는 노트북은 셧다운 하는 방법도 가능. (아래 모델 훈련도 동일)
    • 많은 양의 데이터는 여러 작은 인스턴스 사용을 통한 분산 전처리를 이용하여 비용 줄임 (분산 처리시 데이터 샤딩 적용)

4. 모델 훈련 및 튜닝 (Training and Tuning Environment)

5. 모델 서빙 (Deployment / Hosting Environment)

6. 불필요한 비용 제거 추천

  • 개발환경의 사용하지 않은 노트북 인스턴스의 제거
    • Lifecycle configuration (세이지 메이커 노트북 인스턴스) 및 JupyerLab extenstion (Studio Notebook) 사용
  • 스케줄러를 사용한 노트북 인스턴스의 자동 시작 및 정지
    • 예를 들어서 주중 9:00 시작 및 6:00 정지로 스케줄하여 사용 함.
  • 호스팅 환경의 사용하지 않은 엔드포인트 제거
    • 최신 과거 (예: 과거 48시간) 동안 # of invocations 가 0 이면 엔드포인트 삭제
  • 상세: Ensure efficient compute resources on Amazon SageMaker

7. SageMaker Saving Plan 사용

A. 참조: