Amazon Sagemaker
SageMaker는 머신 러닝(ML) 모델을 쉽게 학습, 구축할 수 있는 AWS의 완전관리형 서비스이다.
SageMaker 뜻: 지혜로운 것을 만드는 도구
– Sage: 현명한, 지혜로운 (wise)
– Maker : 만드는 사람
SageMaker 주요 구성 요소
SageMaker는 머신러닝 파이프라인의 다양한 단계를 관리하는 여러 도구와 서비스를 제공합니다.
🔨 SageMaker Studio
SageMaker Studio는 전체적인 개발 환경(IDE)의 대시보드이다.
(매우 직관적이다)
머신러닝 모델을 구축, 학습, 튜닝, 배포하는 데 필요한 모든 기능을 제공한다.
🔨 SageMaker Notebooks
머신러닝/데이터 분석 분야에서 거의 필수인 Jupyter 노트북
SageMaker Notebooks은 Jupyter 노트북을 기반으로 한 인터페이스로, 데이터를 분석하고 모델을 훈련하는 데 사용된다.
[SageMaker Notebooks의 2가지 옵션]
- SageMaker Studio Notebooks (SageMaker Studio 내부에서 실행)
- SageMaker Notebook Instances (독립적인 Jupyter Notebook 인스턴스)
🔨 SageMaker Experiments
여러 머신러닝을 위한 실험을 관리하고 비교하여 최적의 모델을 찾는 데 유용한 기능이다.
모델을 훈련하고 테스트할 때 다양한 하이퍼파라미터, 데이터셋, 코드 버전을 비교하는 것이 중요한데, SageMaker Experiments를 통해 쉽게 분석할 수 있다.
SageMaker Studio를 생성 후에 SageMaker Studio 내에서 SageMaker Experiments를 설정할 수 있다.
🔨 SageMaker Training
머신러닝 모델을 훈련(traninig)시키는 서비스이다.
훈련 데이터를 준비하고, 모델을 훈련시키며, 최적의 모델을 찾는 데 필요한 다양한 도구와 리소스를 제공한다.
SageMaker → Training jobs → Create training job → Start training
[Training job 설정]
- 훈련 데이터 소스: 훈련에 사용할 데이터를 S3 bucket에서 지정
- 훈련 인스턴스 유형: GPU 또는 CPU 기반 인스턴스를 선택
- 알고리즘/프레임워크: 원하는 머신러닝 알고리즘이나 프레임워크 (예: TensorFlow, PyTorch 등)
- 훈련 스크립트: 모델 훈련에 사용할 스크립트를 작성하여 지정
🔨 SageMaker Inference
SageMaker에서 이미 훈련된 모델을 실제 환경에서 예측(Inference) 하기 위한 기능이다.
머신러닝에서 이미 학습된 모델을 사용하여 새로운 데이터에 대한 예측하는 것이다.
👨🏫 Real-time Inference (실시간 예측)
SageMaker Endpoint을 통해 API 요청을 받으면 즉시(실시간으로) 훈련된 모델이 예측을 수행하고 응답을 반환하는 방식
예시: 챗봇, 실시간 추천 시스템
👨🏫 Batch Inference (배치 예측)
대량의 데이터를 한 번에 처리하여 예측을 수행하는 방식 (실시간 요청 없이 미리 예측값을 계산)
예시: Amazon S3에 저장된 파일을 읽어 한 번에 여러 예측 결과를 처리
🔨 SageMaker Autopilot
SageMaker Autopilot는 사용자가 모델을 자동으로 생성하고 배포할 수 있도록 도와주는 서비스이다.
즉, 코드 없이도 ML 모델을 만들 수 있어서, 머신러닝에 대한 깊은 지식이 없는 사람도 쉽게 사용할 수 있다.
Autopilot는 자동화된 머신러닝(Automated ML) 서비스로, 데이터를 기반으로 최적의 모델을 자동으로 찾아주기도 한다.
🔨 SageMaker Clarify
SageMaker Clarify는 머신러닝 모델에 잠재적인 bias(편향)가 있는지 식별하는 데 사용하는 서비스이다.
머신러닝 모델을 훈련시키기 전, 데이터 준비 단계에서 데이터와 모델의 fairness(공정성), explainability(해석 가능성), bias을 분석하는데 도움을 준다.
따로 코드를 짤 필요가 없고, 분석 결과를 시각화 할 수 있다.
🔨 SageMaker Feature Store
SageMaker Feature Store는 머신러닝(ML) 모델을 위한 Feature 관리 서비스이다.
머신러닝의 feature을 저장, 관리, 공유할 수 있도록 도와주는 중앙 저장소이다.
Feature 데이터가 여러 곳에 흩어져 있으면 머신러닝 모델의 훈련 & 추론 시 일관성이 깨질 수 있다.
그렇기 때문에 SageMaker Feature Store의 중앙 집중형 Feature Store를 사용하면 팀 간 공유도 쉽고 중복 데이터 저장을 방지할 수 있다.
🔨 SageMaker JumpStart
SageMaker JumpStart는 이미 학습된(Pre-trained) 머신러닝 모델을 바로 가져다 쓸 수 있게 해주는 기능이다.
ML 전문가가 아닌 사람들도 몇번의 클릭만으로 쉽게 ML을 구축할 수 있다.
👉 Pre-trained 모델 예시: [이미지 분류: ResNet, VGG] [자연어 처리: BERT, GPT] 등
AWS에서 제공하는 기본 ML 모델과 Hugging Face, TensorFlow, PyTorch 등 유명한 오픈소스 모델 사용 가능하다.
🔨 SageMaker Model Cards
SageMaker Model Cards는 머신러닝 모델의 Metadata와 그 외에 중요한 정보(예: Lifecycle 등)을 체계적으로 문서화하는 데 도움을 주는 도구이다.
Model Card는 모델의 특성, 성능, 훈련 데이터, 윤리적 고려사항 등을 명확하게 정의하고, 모델의 사용자가 그 모델을 제대로 이해하고 사용할 수 있도록 돕는 역할을 한다
🤔 문제
회사는 프로덕션 환경에서 머신러닝(ML) 파이프라인을 운영하기 위해 Amazon SageMaker를 사용하고 있습니다.
입력 데이터 크기는 최대 1GB이며, 처리 시간은 최대 1시간이 걸립니다.
또한, 회사는 실시간에 가까운(latency가 짧은) 응답 속도를 필요로 합니다.
어떤 SageMaker 추론 옵션이 이러한 요구사항을 충족할까요?
- 실시간 추론 (Real-time inference)
- 서버리스 추론 (Serverless inference)
- 비동기 추론 (Asynchronous inference)
- 배치 변환 (Batch transform)
정답
정답. 3번
비동기 추론은 실시간 추론처럼 즉시 응답을 제공하지 않지만, 빠른 속도로 결과를 제공할 수 있도록 설계되었다.
"실시간에 가까운" 응답을 제공하기 때문에 실시간 추론과는 약간 차이가 있지만, 빠른 처리를 요구하는 애플리케이션에 적합하다.
Real-Time Inference | 고트래픽, 저지연 응답이 필요한 실시간 애플리케이션에 적합 |
Asynchronous Inference | 큰 데이터와 긴 처리 시간이 필요한 작업에 적합 (실시간 응답 필요 없음) |
Batch Transform | 대규모 오프라인 데이터 처리에 적합 (실시간 필요 없음) |
Serverless Inference | 간헐적이고 예측 불가능한 트래픽에 적합, 인프라 관리 필요 없음 |
'클라우드(AWS) > AIF-C01' 카테고리의 다른 글
[ML] 머신러닝 문제 유형 (Classification, Regression) (1) | 2025.03.23 |
---|---|
[AWS] 머신러닝에서 'Temperature'란? 쉽게 정리 (0) | 2025.03.22 |
[AWS] 분류 모델 성능 평가 지표 (Classification Model) (0) | 2025.03.12 |
[AWS] Decision Tree란? (의사 결정 트리) 쉽게 정리 (0) | 2025.03.09 |
[AWS] Named Entity Recognition (NER)란? 쉽게 정리 (0) | 2025.03.08 |