지난 주에는 SageMaker의 내장 알고리즘으로 모델을 학습했다. 하지만 실무에서는 PyTorch나 TensorFlow로 직접 짠 모델을 학습하거나, 회사 표준 라이브러리를 묶은 자체 환경에서 학습해야 할 때가 많다. SageMaker는 "내 코드를 어디까지 가져오느냐"에 따라 세 가지 커스텀 학습 방식을 제공한다.
MLA-C01 시험에서 이 주제는 "프레임워크 코드를 최소 수정으로 가져오고 싶다", "특수한 의존성·시스템 패키지가 필요하다" 같은 상황으로 등장한다. 오늘은 스크립트 모드, BYOC, 프레임워크 컨테이너 세 축의 경계를 명확히 한다.
SageMaker 학습은 "AWS가 제공하는 컨테이너를 얼마나 그대로 쓰느냐"로 구분된다.
| 방식 | 내가 가져오는 것 | 컨테이너 | 적합한 상황 |
|---|---|---|---|
| 내장 알고리즘 | (없음, 데이터만) | AWS 관리 | 표준 문제, 코드 작성 불요 |
| 스크립트 모드 | 학습 스크립트 1개 | AWS 프레임워크 컨테이너 | PyTorch/TF 코드를 빠르게 |
| 프레임워크 컨테이너 확장 | 스크립트 + 추가 패키지 | AWS 컨테이너 + requirements | 프레임워크는 그대로, 의존성만 추가 |
| BYOC (자체 컨테이너) | Docker 이미지 전체 | 내가 만든 이미지 | 특수 런타임·시스템 의존성 |