Related to: AWS

AWS SageMaker는 머신러닝 모델을 구축, 훈련 및 배포할 수 있는 완전 관리형 서비스입니다.

주요 기능

  • SageMaker Studio: 머신러닝 개발을 위한 통합 개발 환경 (IDE)
  • SageMaker Canvas: 코딩 없이 시각적 인터페이스를 통해 머신러닝 모델을 구축하고 예측을 수행할 수 있는 서비스
  • SageMaker Data Wrangler: 데이터를 준비하고 feature engineering을 수행할 수 있는 서비스
  • SageMaker Autopilot: 자동으로 머신러닝 모델을 구축하고 훈련
  • SageMaker Training: 대규모 데이터셋으로 모델을 훈련
  • SageMaker Inference: 훈련된 모델을 배포하고 예측을 수행

주요 개념

  • 모델 (Model): 머신러닝 알고리즘을 사용하여 훈련된 결과물. SageMaker는 다양한 모델 형식을 지원합니다.
  • 훈련 (Training): 모델이 데이터를 학습하는 과정. SageMaker Training을 사용하여 대규모 데이터셋으로 모델을 훈련할 수 있습니다.
  • 엔드포인트 (Endpoint): 훈련된 모델이 배포되어 예측을 수행하는 환경. SageMaker Inference를 사용하여 엔드포인트를 생성하고 관리할 수 있습니다.
  • 알고리즘 (Algorithm): 모델을 훈련하는 데 사용되는 수학적 방법. SageMaker는 다양한 내장 알고리즘을 제공하며, 사용자 정의 알고리즘도 사용할 수 있습니다.
  • 데이터셋 (Dataset): 모델 훈련에 사용되는 데이터 모음. SageMaker는 다양한 데이터 소스를 지원하며, S3 버킷에 저장된 데이터를 사용할 수 있습니다.

사용 사례

  • 예측 분석: 판매 예측, 사기 탐지 등
  • 이미지 인식: 객체 감지, 이미지 분류 등
  • 자연어 처리: 텍스트 분류, 감성 분석 등
  • 추천 시스템: 사용자에게 맞춤형 상품 또는 콘텐츠 추천
  • 강화 학습: 게임, 로봇 제어 등

SDK 사용법

SageMaker는 Python SDK를 제공하여 SageMaker 서비스를 쉽게 사용할 수 있도록 지원합니다.

SageMaker SDK 설치

pip install sagemaker

SageMaker SDK를 사용한 모델 훈련 예제 (참조: AWS SageMaker Examples)

import sagemaker
from sagemaker.estimator import Estimator
 
# SageMaker 세션 생성
sagemaker_session = sagemaker.Session()
 
# Estimator 생성
estimator = Estimator(
    image_uri="<your_training_image_uri>",
    role="<your_iam_role>",
    instance_count=1,
    instance_type="ml.m5.xlarge",
    sagemaker_session=sagemaker_session
)
 
# 훈련 데이터 S3 경로 설정
train_data = "s3://<your_bucket>/<your_training_data>"
 
# 모델 훈련
estimator.fit(train_data)