Amazon SageMaker는 머신 러닝(ML) 모델을 구축, 훈련, 배포하는 과정을 단순화하도록 설계된 완전 관리형 서비스입니다.
Amazon Web Services(AWS)에서 만든 SageMaker는 ML 배포의 각 단계와 관련된 많은 노동 집약적인 작업을 자동화하여 워크플로우의 복잡성을 줄이고 전체 머신 러닝 수명 주기를 가속화합니다. 이를 통해 더 빠른 반복과 정확도 향상, 궁극적으로 머신 러닝 이니셔티브를 통한 더 큰 비즈니스 가치로 이어질 수 있습니다.
SageMaker는 ML 툴 모음을 제공합니다. 예를 들어, Autopilot을 사용하면 특정 데이터 세트를 사용해 인공 지능(AI) 모델을 학습시키고 정확도에 따라 각 알고리즘의 순위를 매길 수 있습니다. 반면 Data Wrangler는 데이터 준비 속도를 높여 ML 모델 개발의 초기 단계를 더 효율적으로 만듭니다.
SageMaker에는 또한 여러 가지 애플리케이션 프로그래밍 인터페이스(API)가 포함되어 있습니다. 이러한 API를 통해 데이터 과학자와 개발자는 인프라 관리의 복잡성 없이 프로덕션에 바로 사용할 수 있는 ML 솔루션을 만들 수 있습니다.
Amazon SageMaker의 영향을 이해하려면 머신 러닝의 작동 방식을 이해하는 것이 중요합니다. 머신 러닝 프로세스는 의사 결정 프로세스, 오차 함수 및 모델 최적화의 세 부분으로 나눌 수 있습니다.
Amazon SageMaker는 이러한 프로세스를 간소화하여 데이터 과학자가 머신 러닝 모델을 효율적으로 배포할 수 있도록 지원합니다.
AWS SageMaker는 예시 데이터 생성, 학습 및 배포라는 세 가지 중요한 단계를 포괄하는 구조화된 접근 방식을 통해 ML 라이프사이클을 간소화합니다. 각 단계에서 개발자는 데이터베이스 및 컴퓨팅 리소스를 관리하고, 구성 매개 변수를 설정하고, 필요한 IT 인프라를 프로비저닝하는 인스턴스(격리된 환경 또는 서버)를 사용할 수 있습니다.
개발자는 ML 모델 훈련에 필수적인 예시 데이터를 생성하는 것으로 시작할 수 있습니다. 이 프로세스에는 사전 처리를 위해 실제 데이터 세트를 가져오고, 정리하고, 준비하는 작업이 포함됩니다. 때때로 개발자는 Amazon Ground Truth를 사용하여 예시 데이터를 보강하거나 대체하는 레이블이 지정된 합성 이미지 데이터를 만들 수 있습니다. 준비가 완료되면 데이터를 Amazon Simple Storage Service(S3)에 업로드하여 다양한 AWS 서비스에서 사용할 수 있도록 액세스할 수 있습니다.
Amazon SageMaker 노트북 인스턴스는 개발자에게 교육을 위해 데이터를 준비하고 처리할 수 있는 강력한 환경을 제공합니다. SageMaker는 S3에 저장된 데이터에 액세스함으로써 모델을 학습시키고, 추론을 실행하고, Amazon Elastic Cloud Compute(EC2) 내에서 대규모 데이터 세트를 처리하는 완전 관리형 ML 인스턴스를 사용하여 모델 개발 프로세스를 가속화할 수 있습니다.
SageMaker는 오픈 소스 Jupyter Notebook 애플리케이션을 통해 협업 코딩을 지원합니다. 데이터 과학자는 자체 도구를 가져오거나 인기 있는 딥 러닝 프레임워크를 위한 사전 작성된 코드의 필수 드라이버 및 라이브러리가 포함된 사전 빌드된 노트북 인스턴스를 사용할 수 있습니다. 이러한 라이브러리는 수학적 연산, 신경망 계층 및 최적화 알고리즘으로 구성될 수 있습니다.
또한 SageMaker는 Docker 컨테이너 이미지로 패키징된 사용자 지정 알고리즘을 지원하여 개발자에게 유연성을 제공합니다. 이를 Amazon S3와 통합하여 팀이 머신 러닝 프로젝트를 쉽게 시작할 수 있도록 지원합니다. 개발자는 자체 학습 알고리즘을 제공하거나 SageMaker 콘솔을 통해 사전 구축된 알고리즘 중에서 선택할 수 있습니다. 사용자는 이러한 과정을 안내하는 튜토리얼과 리소스를 사용할 수 있습니다.
학습 단계에서 개발자는 알고리즘 또는 사전 학습된 기본 모델을 사용하여 특정 데이터 세트에서 ML 모델을 미세 조정합니다. 개발자는 Amazon S3 버킷에서 데이터 위치를 정의하고 적절한 인스턴스 유형을 선택하여 학습 프로세스를 최적화할 수 있습니다.
SageMaker Pipelines와 같은 오케스트레이션 툴은 머신 러닝 모델을 구축, 훈련 및 배포하는 엔드투엔드 프로세스를 자동화하여 워크플로를 간소화합니다. 이를 통해 시간을 절약하고 워크플로 전반의 정확성을 보장하는 데 도움이 될 수 있습니다. 또한 Amazon SageMaker JumpStart를 사용하면 개발자가 노코드 인터페이스를 통해 사전 구축된 모델을 사용할 수 있으므로 심층적인 기술 전문 지식이 없어도 협업이 가능합니다.
개발자는 모델 학습 중에 SageMaker의 하이퍼파라미터 조정을 사용하여 대규모 언어 모델(LLM) 을 최적화함으로써 다양한 애플리케이션에서 성능을 개선할 수 있습니다. 디버거는 신경망의 메트릭을 모니터링하여 개발자에게 모델 성능과 리소스 사용량에 대한 실시간 인사이트를 제공합니다. 이를 통해 데이터 과학자는 문제를 신속하게 식별하고 추세를 분석하며 사전 예방적 관리를 위한 자동 알림을 설정할 수 있으므로 디버깅 프로세스를 간소화할 수 있습니다. SageMaker는 ML 모니터링과 관리를 엣지 장치까지 확장하는 Edge Manager 기능도 제공합니다.
학습이 완료되면 SageMaker는 기본 클라우드 인프라를 자율적으로 관리하고 확장하여 원활한 배포를 보장합니다. 이 프로세스는 다양한 인스턴스 유형(예: ML 워크로드에 최적화된 그래픽 처리 장치 또는 GPU)에 의존합니다. 또한 여러 가용성 영역(격리되어 있지만 대기 시간이 짧을 정도로 가까운 데이터 센터 클러스터)에 배포하여 안정성을 높입니다. 상태 확인 및 보안 HTTPS 엔드포인트는 애플리케이션 연결성을 더욱 강화합니다.
배포가 완료되면 개발자는 Amazon CloudWatch 메트릭을 사용하여 프로덕션 성능을 모니터링하고, 실시간 인사이트를 얻고, 편차에 대한 알림을 설정할 수 있습니다. SageMaker는 포괄적인 모니터링 능력을 통해 ML 라이프사이클 전반에 걸쳐 효과적인 거버넌스를 지원할 수 있습니다. 결과적으로 조직은 머신 러닝의 힘을 활용하면서 제어 및 규정 준수를 유지할 수 있습니다.
Amazon SageMaker는 다음과 같이 머신 러닝 경험을 향상시키는 다양한 이점을 제공합니다.
Amazon SageMaker Studio는 데이터 과학자를 위한 올인원 IDE로, 워크플로 관리, 모델 개발, 메트릭 시각화를 위한 직관적인 인터페이스를 제공합니다. Jupyter Notebook을 지원하므로 사용자가 Python 코드를 효율적으로 작성하고 실행할 수 있습니다.
사용자는 내장 알고리즘 또는 TensorFlow, PyTorch 및 MXNet과 같은 인기 있는 ML 학습 프레임워크를 기반으로 하는 사용자 지정 알고리즘을 사용하여 ML 모델을 학습시킬 수 있습니다. 이 서비스는 최상의 성능을 위해 모델 구성을 최적화하기 위한 하이퍼파라미터 조정을 제공합니다. SageMaker는 사전 학습된 모델의 미세 조정도 가능하므로 데이터 과학자는 이러한 모델을 특정 데이터 세트와 작업에 맞게 조정할 수 있습니다.
효과적인 머신 러닝 모델을 만들려면 양질의 데이터 세트가 중요합니다. Ground Truth는 자동화된 라벨링 및 사람의 검토 프로세스를 통해 고품질 학습 데이터 세트를 쉽게 생성할 수 있는 데이터 라벨링 서비스를 제공합니다. 또한 Amazon SageMaker에는 팀이 다양한 머신 러닝 모델에서 학습 및 추론에 사용되는 입력 기능을 관리, 공유 및 검색할 수 있는 기능 저장소가 내장되어 있습니다. 이를 통해 데이터 준비 프로세스를 간소화하고 협업을 강화할 수 있습니다.
머신 러닝 모델을 배포한 후 SageMaker를 사용하면 실시간 추론과 일괄 추론을 모두 수행할 수 있습니다. 사용자는 애플리케이션의 액세스 포인트 역할을 하는 특정 URL인 엔드포인트를 생성하여 실시간 예측을 수행하고 워크로드를 효율적으로 관리할 수 있습니다. 이 기능은 생성형 AI 시나리오와 같이 즉각적인 대응이 필요한 애플리케이션에 특히 유용합니다.
Auto Scaling 및 AWS Lambda와의 통합과 같은 기능을 갖춘 SageMaker는 수요에 따라 컴퓨팅 리소스를 동적으로 관리하는 데 도움이 되는 서버리스 기능을 제공합니다. 그 결과 비용과 확장성이 최적화됩니다.
SageMaker는 ML 모델 성능을 실시간으로 모니터링할 수 있는 Amazon CloudWatch와 같은 툴을 제공하며, 다른 AWS 서비스를 사용하여 애플리케이션 상황에 대한 전체적인 보기를 제공합니다. 디버깅 기능을 사용하면 데이터 과학자가 모델 학습 및 배포에서 문제를 추적하여 강력한 머신 러닝 라이프사이클을 보장하는 데 도움이 됩니다.
AWS는 온디맨드 요금과 종량제 요금의 두 가지 요금 모델을 제공하며, 요금은 인스턴스 유형, 데이터 스토리지 및 사용하는 서비스에 따라 다릅니다. 또한 Amazon SageMaker 무료 티어를 통해 신규 사용자는 플랫폼을 무료로 탐색할 수 있으며, 제한된 범위의 기능과 리소스에 액세스할 수 있습니다.
Amazon SageMaker는 다양한 기능을 갖추고 있어 산업 전반의 다양한 사용 사례에 적합합니다. 예를 들면 다음과 같습니다.
헬스케어: 머신 러닝 모델은 환자 데이터를 분석하여 결과를 예측하고, 치료를 맞춤화하며, 운영 효율성을 향상시킬 수 있습니다.
금융: 금융 기관은 Amazon SageMaker를 사용하여 사기 탐지, 신용 점수 및 위험 평가를 위한 모델을 개발할 수 있습니다.
소매: 기업은 예측 분석을 사용하여 재고 관리를 개선하고, 고객 경험을 개인화하고, 가격 전략을 최적화합니다.
Amazon SageMaker와 같은 툴은 조직이 AI 시스템 제어 및 규정 준수를 유지하면서 혁신과 비즈니스 가치를 창출하는 머신 러닝 모델을 효과적으로 배포하는 데 도움이 될 수 있습니다. 사용자는 다음과 같은 여러 거버넌스 툴을 활용할 수 있습니다.
SageMaker Python SDK는 기존 워크플로 및 서비스와의 원활한 통합을 지원하여 Amazon SageMaker의 기능을 강화합니다. 이를 통해 조직은 규정 준수 검사를 자동화하고 ML 프로젝트 전반에 대한 감독을 보다 효과적으로 유지할 수 있습니다.
또한 Amazon SageMaker는 더 광범위한 데이터 및 AI 전략에 통합될 수 있습니다. IBM과 AWS는 클라우드 기반 서비스를 활용하는 조직의 능력을 강화하기 위해 전략적 파트너십을 체결했습니다. 팀은 Amazon SageMaker와 함께 IBM의 파운데이션 모델을 사용하여 고급 분석을 활용하고, 데이터 관리를 개선하며, 워크플로를 간소화할 수 있습니다. 조직은 Amazon VPC 내에 모델을 배포하여 리소스에 대한 안전하고 통제된 액세스를 보장하고 거버넌스 활동을 더욱 지원할 수 있습니다.
조직은 다양한 플랫폼에서 작업할 수 있는 기능을 통해 IBM 및 AWS 툴을 결합하여 자사의 요구 사항에 맞는 AI 및 ML 솔루션을 쉽게 구현할 수 있습니다. IBM의 watsonx.governance 사용 SageMaker의 강력한 기능을 갖춘 솔루션을 통해 기업은 특히 생성형 AI와 MLOps 애플리케이션에서 AI 이니셔티브를 가속화할 수 있습니다.