[AWS] Amazon SageMaker 사용법 정리

2025. 9. 14. 18:50·개발 (Development)/AWS

머신러닝 모델을 실제 서비스에 적용하려면 데이터 준비, 모델 학습, 배포라는 과정이 필요합니다. Amazon SageMaker는 이 전체 과정을 하나의 관리형 플랫폼에서 제공하기 때문에, 인프라 관리 부담을 줄이고 빠르게 모델을 운영할 수 있도록 돕습니다. 이번 글에서는 SageMaker 사용법을 단계별로 정리하겠습니다.

1. SageMaker의 기본 개념

SageMaker는 크게 세 가지 단계를 중심으로 구성됩니다.

  1. 데이터 준비: 데이터를 Amazon S3에 업로드하고 전처리 수행
  2. 모델 학습: 내장 알고리즘, 프레임워크(TensorFlow, PyTorch 등), 혹은 사용자 정의 코드 활용
  3. 배포 및 추론: 학습된 모델을 엔드포인트로 배포하거나 배치 추론 실행

이 구조 덕분에 머신러닝 파이프라인을 통합적으로 관리할 수 있습니다.

2. 환경 준비

  • AWS 콘솔에서 SageMaker Studio를 실행합니다.
  • Studio는 JupyterLab 기반의 환경으로, 코드 작성과 데이터 탐색, 모델 학습을 한 곳에서 처리할 수 있습니다.
  • 데이터를 학습에 사용하려면 먼저 Amazon S3 버킷에 업로드해야 합니다.

3. 모델 학습 예제

가장 간단한 예제로 SageMaker의 내장 알고리즘인 XGBoost를 활용해보겠습니다.

import sagemaker
from sagemaker import get_execution_role

role = get_execution_role()
session = sagemaker.Session()

# XGBoost 컨테이너 가져오기
container = sagemaker.image_uris.retrieve("xgboost", session.boto_region_name, "1.5-1")

# Estimator 정의
xgb = sagemaker.estimator.Estimator(
    image_uri=container,
    role=role,
    instance_count=1,
    instance_type="ml.m5.xlarge",
    output_path="s3://your-bucket/output",
    sagemaker_session=session
)

# 하이퍼파라미터 설정
xgb.set_hyperparameters(
    objective="binary:logistic",
    num_round=100
)

# 학습 데이터 지정
train_input = sagemaker.inputs.TrainingInput("s3://your-bucket/train", content_type="csv")

# 학습 실행
xgb.fit({"train": train_input})

4. 모델 배포 및 추론

학습이 완료된 모델을 엔드포인트로 배포하고, 실시간 추론에 활용할 수 있습니다.

# 배포
predictor = xgb.deploy(
    initial_instance_count=1,
    instance_type="ml.m5.xlarge"
)

# 추론
result = predictor.predict("1,2,3,4")
print(result)

5. 고급 기능

  • AutoPilot: 자동으로 알고리즘과 하이퍼파라미터 탐색
  • Hyperparameter Tuning (HPO): 성능 최적화를 위한 자동 탐색
  • Pipeline: 데이터 준비 → 학습 → 배포 전 과정을 자동화
  • Model Registry: 모델 버전 및 배포 이력 관리

6. 비용 관리

  • SageMaker 인스턴스 사용 시간에 따라 과금
  • S3 스토리지, 엔드포인트 유지 시간도 비용에 포함
  • 비용 최적화를 위해 Spot 인스턴스 + Batch Transform 활용을 고려할 수 있습니다.

결론

Amazon SageMaker는 데이터 준비부터 모델 배포까지 전 과정을 지원하는 완전관리형 머신러닝 플랫폼입니다.

  • 입문자는 내장 알고리즘과 SageMaker Studio를 활용해 쉽게 시작할 수 있습니다.
  • 경험이 쌓이면 PyTorch, TensorFlow 등 프레임워크를 활용하거나 MLOps 환경(Pipeline, Registry)으로 확장 가능합니다.

SageMaker를 통해 인프라 관리보다 모델 성능 개선에 집중할 수 있다는 점이 가장 큰 장점입니다.

반응형

'개발 (Development) > AWS' 카테고리의 다른 글

[AWS] ECR 리포지토리에서 모든 이미지 태그 조회하기  (0) 2025.09.07
[AWS] AWS 환경에서 모델 학습 API 호출 시 Broken pipe 에러 해결 과정  (0) 2025.06.28
[AWS] S3 객체 권한 변경 - PutObjectAcl  (0) 2025.04.12
[AWS] AWS ECR에 MFA로 Docker 로그인 자동화하기 (.bat 파일)  (0) 2025.04.12
[AWS] AWS S3 버킷이 데이터 레이크인지 데이터 웨어하우스인지 확인하는 방법  (0) 2025.04.10
'개발 (Development)/AWS' 카테고리의 다른 글
  • [AWS] ECR 리포지토리에서 모든 이미지 태그 조회하기
  • [AWS] AWS 환경에서 모델 학습 API 호출 시 Broken pipe 에러 해결 과정
  • [AWS] S3 객체 권한 변경 - PutObjectAcl
  • [AWS] AWS ECR에 MFA로 Docker 로그인 자동화하기 (.bat 파일)
LoopThinker
LoopThinker
모르는 것을 알아가고, 아는 것을 더 깊게 파고드는 공간
  • LoopThinker
    CodeMemoir
    LoopThinker
  • 전체
    오늘
    어제
    • 분류 전체보기 (231)
      • 개발 (Development) (165)
        • Algorithm (1)
        • Angular (1)
        • AWS (6)
        • DeepSeek (2)
        • Docker (7)
        • Git (3)
        • Java (34)
        • JavaScript (4)
        • Kafka (5)
        • Kubernetes (4)
        • Linux (7)
        • PostgreSQL (38)
        • Python (31)
        • React (3)
        • TypeScript (3)
        • Vue.js (5)
        • General (11)
      • 데이터 분석 (Data Analysis) (1)
      • 알고리즘 문제 풀이 (Problem Solving.. (27)
      • 자격증 (Certifications) (24)
        • ADsP (14)
        • 정보처리기사 (4)
        • Linux Master (5)
        • SQLD (1)
      • 기술 동향 (Tech Trends) (11)
      • 기타 (Others) (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바
    백준
    deepseek
    Kubernetes
    JSON
    springboot
    Vue.js
    timescaledb
    백준온라인저지
    DevOps
    데이터분석
    docker
    java
    백준알고리즘
    MyBatis
    PostgreSQL
    Linux master
    javascript
    리눅스 마스터 2급
    AWS
    Kafka
    Spring boot
    python
    Linux
    리눅스 마스터 2급 2차
    백준자바
    pandas
    ADsP
    오답노트
    JPA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
LoopThinker
[AWS] Amazon SageMaker 사용법 정리
상단으로

티스토리툴바