[AWS] Amazon SageMaker AI

 

Amazon SageMaker AI는 모델 구축을 위한 엔드 투 엔드 플랫폼으로, 데이터셋 준비부터 모델 훈련 및 배포까지의 모든 과정을 하나의 환경에서 통합적으로 수행할 수 있게 해주는 서비스다. 특히 직접 복잡한 인프라 설정이나 서버 관리하지 않아도 쉽게 모델을 만들고 배포해 활용해 보기에 편리하다. 

 

 

SageMaker의 주요 기능

  1. 사전 구축된 알고리즘 및 프레임워크 제공
    SageMaker는 다양한 머신러닝 프레임워크와 알고리즘을 내장하고 있어 별도의 설치나 환경 구성 없이 바로 사용할 수 있다.
    예를 들어, 이미지 분류에는 BlazingText나 Image Classification 알고리즘을, 자연어 처리에는 Built-in BERT, XGBoost, Linear Learner 등을 사용할 수 있다. 또한 TensorFlow, PyTorch, MXNet, Scikit-learn 등 주요 오픈소스 프레임워크도 기본적으로 지원한다.
  2. Jupyter 기반의 통합 개발 환경 제공
    SageMaker Studio를 통해 JupyterLab 스타일의 노트북 환경을 제공하며, 이 환경에서 코드 작성, 데이터 시각화, 실험 추적, 디버깅 등을 통합적으로 수행할 수 있다.
  3. 자동 모델 튜닝 (Hyperparameter Optimization)
    모델의 성능에 영향을 미치는 하이퍼파라미터를 자동으로 탐색하고 최적화하는 기능을 제공한다. 
  4. 유연한 모델 배포 및 확장성
    모델 학습이 완료된 후에는 실시간 예측이 가능한 엔드포인트로 바로 배포하거나, 배치 처리 방식의 Batch Transform을 활용해 대규모 예측 작업을 수행할 수 있다. 예를 들어, 웹 애플리케이션에서 사용자 입력을 분석해 실시간으로 추천 결과를 반환하는 서비스에 모델을 적용할 수 있다.
    (여기서 Batch Transform이란, 실시간 응답이 필요하지 않은 경우에 한 번에 여러 데이터를 입력하여 예측을 수행하고, 결과를 파일 형태로 저장하는 방식이다. 이 방식은 S3에 저장된 입력 파일을 기반으로 비동기적으로 대량의 데이터를 처리하며, 처리 결과도 S3에 저장된다. 항상 켜져 있는 실시간 엔드포인트와 달리 예측 작업이 필요할 때만 인스턴스를 자동으로 시작하고 종료하기 때문에, 리소스를 효율적으로 사용할 수 있다는 장점이 있다. 그래서 모델 학습 후 바로 테스트해 보는 용도로 사용하면 된다. 반면, 실시간 엔드포인트는 실시간으로 사용자 요청에 응답해야 하는 상황에 사용되며, 항상 활성화된 상태로 대기하면서 API 요청을 받아 빠르게 응답을 제공한다. 챗봇, 개인화 추천, 이상 탐지와 같이 실시간 처리가 중요한 서비스에서 주로 활용된다. )
  5. 데이터 및 실험 관리 기능 제공
    Amazon S3와 연동하여 대용량 데이터셋을 쉽게 저장하고 불러올 수 있으며, 각 모델 학습의 결과 및 테스트 이력을 저장하고 추적할 수 있다.

 

SageMaker와  통합 가능한 AWS 서비스

 

 

Amazon SageMaker의 핵심 구성 요소

  1.  SageMaker Studio: 웹 기반 통합 개발 환경 (IDE)
    SageMaker Studio는 Amazon SageMaker의 중심이 되는 웹 기반 통합 개발 환경으로, 브라우저만 있으면 별도의 설치 없이 머신러닝 개발을 시작할 수 있도록 구성되어 있다. Studio에서는 데이터 준비, 모델 생성, 학습, 배포, 디버깅, 실험 관리 등 머신러닝 전체 과정을 하나의 환경에서 모두 처리할 수 있다.
  2. SageMaker Studio Notebooks
    SageMaker Studio 안에서는 Jupyter 기반의 Studio Notebooks를 사용할 수 있습니다. 이 노트북은 다양한 머신러닝 라이브러리와 AWS SDK가 미리 설치되어 있어, 별도 설정 없이 바로 코딩을 시작할 수 있다. Studio Notebooks를 통해 데이터를 탐색하고, 모델을 설계하고, 학습 및 추론까지 모든 작업을 실행하고 공유할 수 있다. 
  3. SageMaker Training
    SageMaker Training은 다양한 유형의 컴퓨팅 인스턴스, 특히 GPU 가속 인스턴스를 활용하여 모델을 빠르고 효율적으로 학습시킬 수 있는 기능을 제공한다. 단일 머신뿐 아니라 여러 인스턴스를 연결해 분산 학습을 실행할 수 있으며, Spot 인스턴스를 사용하면 비용도 절감할 수 있다. 자동 모델 튜닝 기능도 함께 제공한다.
  4. SageMaker Inference
    학습이 완료된 모델은 Sagemaker inference 기능을 통해 실제 서비스 환경에 배포할 수 있다. 실시간 API 엔드포인트로 배포하면 사용자 요청에 즉각적으로 예측 결과를 반환할 수 있고, batch transform 을 통해 대량 데이터를 한꺼번에 처리하는 배치 예측도 지원된다.
  5. SageMaker Ground Truth
    SageMaker Ground Truth는 머신러닝 모델 학습에 필요한 레이블링된 데이터셋을 생성할 수 있는 기능을 제공한다. 사용자는 사전 정의된 템플릿이나 사용자 지정 워크플로우를 통해 데이터에 라벨을 지정할 수 있다.

 

 

 

 

관련 교육 들으면서 이 서비스를 비용 때문에 기업에서 도입하는 것을 꺼린다고 들었는데 고객사를 확인해보면 국내 기업보다는 외국기업들이 많이 활용하고 있는 것 같았다. 개인적으로 데이터 분석 과정에서 사용해 보니까 데이터 관리도 쉽고 분석부터 모델 학습 및 배포까지 한 번에 해결할 수 있어 서비스에 통합하는 과정에서 사용하기 좋다고 생각했다. 특히 배포하는 과정이 매우 간단하게 구성되어 있다는 점이 가장 큰 장점으로 느껴졌다. 기존에는 인프라를 따로 구성하고 api 서버를 직접 설정해야 해서 관련 지식들에 대해서도 알아야 하고 설정해야 하는 것들이 많았지만, sagemaker를 활용하면 복잡한 네트워크 설정이나 컨테이너화 과정에 대한 깊은 지식 없이도 클릭만으로 엔드포인트를 구축할 수 있었다. 비용이 허용되는 환경이라면 매우 효율적인 서비스라고 생각이 들었다.

 

 

 

참고 자료: 

Amazon SageMaker AI

 

기계 학습 서비스 - Amazon SageMaker AI - AWS

데이터 준비 및 모델 훈련부터 모델 배포까지 전체 ML 개발 여정 동안 지원을 받으세요. Amazon Q Developer는 코드 제안을 생성하고, 질문에 답하고, 오류 발생 시 문제 해결 지원을 제공할 수 있습니

aws.amazon.com

 

Skill Builder : Amazon SageMaker AI Getting Started

 

AWS Skill Builder

 

skillbuilder.aws

 

 

 

 

반응형