[AWS] SageMaker Notebook 알아보기

Amazon SageMaker에서는 기계 학습을 수행하기 위한 Jupyter Notebook을 제공합니다. Jupyter Notebook으로는 두 가지 유형인 Studio Notebook과 Notebook Instance가 있습니다.


Amazon SageMaker의 Notebook이 무엇인지, 두 가지 유형인 Studio Notebook과 Notebook Instance는 각각 어떻게 다른지 알아보는 시간을 가져보겠습니다.

 

 

Studio Notebook

Amazon SageMaker Studio는 통합 개발 환경(IDE)으로서 머신러닝 워크플로우를 완전히 관리하고 실행할 수 있는 환경을 제공하는데요. Studio Notebook은 SageMaker Studio 내에서 실행되는 Jupyter Notebook으로 아래와 같이 다양한 특징과 장점을 가지고 있습니다.

 

  • 사용 화면
    • SageMaker Studio 서비스의 Studio 메뉴에서 관리되며 통합 개발 환경(IDE)으로 사용 가능

 

  • 작동 방식

 

  • 통합 개발 환경
    • SageMaker Studio에서는 Jupyter Notebook 외에도 터미널, 텍스트 편집기, 디버거 등 다양한 개발 도구와 기능을 함께 제공하여 완전한 개발 환경을 제공합니다.
  • 프로젝트 기반 작업
    • SageMaker Studio는 프로젝트 기반 작업을 지원하여 여러 노트북과 스크립트를 조직화하고 버전 관리를 수행할 수 있습니다.
    • 노트북과 코드 스크립트, 데이터, 실험, 모델 등을 프로젝트 단위로 구성하여 효율적인 개발과 관리가 가능합니다.
  • 리소스 관리
    • SageMaker Studio는 자동으로 리소스를 관리하므로 Instance 프로비저닝, 확장, 관리 등에 대한 별도의 관리 작업이 필요하지 않습니다.
    • 즉, 개발자는 리소스 프로비저닝 및 관리에 시간을 투자할 필요 없이 코드 작성과 실험에 집중할 수 있습니다.
  • 공동 작업 및 협업
    • SageMaker Studio는 팀 내에서 여러 사용자가 동시에 작업할 수 있도록 공동 작업 및 협업을 지원합니다.
    • 다른 팀원과 노트북, 코드, 데이터, 실험 등을 쉽게 공유하고 협업할 수 있습니다.
  • 통합된 데이터 탐색 및 시각화
    • SageMaker Studio는 데이터 탐색 및 시각화 기능을 내장하고 있어 데이터 분석 및 전처리 작업을 지원합니다.
    • 데이터 세트를 탐색하고 시각화하여 데이터의 특성을 이해하고 모델 개발에 활용할 수 있습니다.

 

 

 

Notebook Instance

Amazon SageMaker Notebook Instance는 단일 사용자용 Jupyter Notebook 환경으로, 개별적으로 프로비저닝되고 관리되는 서비스입니다. 사용자가 필요에 따라 Instance를 생성하고, 기계 학습 작업을 수행할 수 있으며 아래와 같이 다양한 특징과 장점을 가지고 있습니다.

 

  • 사용 화면
    • SageMaker Studio 서비스의 Notebook 메뉴에서 관리되며 Instance 생성 및 제거 등의 작업이 가능함

 

  • 작동 방식

 

  • 노트북 개인화
    • Notebook Instance는 개별 사용자에게 제공되며, 사용자는 Instance를 자신의 개인 작업 환경으로 설정할 수 있습니다.
    • 필요한 라이브러리, 패키지, 환경 설정 등을 자유롭게 선택하여 사용할 수 있습니다.
  • 리소스 컨트롤
    • Notebook Instance를 개별적으로 프로비저닝하고 관리할 수 있습니다.
    • Instance 유형, 스토리지 용량, 컴퓨팅 성능 등을 사용자가 직접 제어할 수 있습니다.
  • 유연한 사용
    • Notebook Instance는 필요에 따라 생성하고 삭제할 수 있습니다. 작업이 끝나면 Instance를 종료하여 비용을 절약할 수 있습니다.
    • 여러 개의 Instance를 생성하여 병렬로 작업을 수행할 수도 있습니다.
  • 코드 공유 및 협업
    • Notebook Instance는 코드, 데이터, 노트북 등을 저장하고 다른 사용자와 공유할 수 있는 기능을 제공합니다.
    • 코드 리뷰, 협업, 지식 공유 등을 원활하게 수행할 수 있습니다.
  • 확장성
    • SageMaker Notebook Instance는 다양한 Instance 유형과 사양을 선택할 수 있어 작업에 맞게 확장할 수 있습니다.
    • 필요에 따라 Instance 유형을 업그레이드하거나 다수의 Instance를 사용하여 성능을 향상시킬 수 있습니다.

 

 

비용

Amazon SageMaker Notebook의 비용은 선택한 Instance 유형, Instance 수, 스토리지 크기, 데이터 전송량 등 다양한 요소에 따라 달라질 수 있습니다. 실제 사용 비용을 예측하기 위해서는 아래 비용 요소들을 통해 예측하거나, 실제 사용해 보면서 비용을 예측해 볼 수 있을 것 같습니다.

 

  • Instance 비용
    • SageMaker Notebook은 EC2 Instance 위에서 실행되므로, Instance 유형과 Instance 수에 따라 비용이 결정됩니다.
    • 또한 시간당 또는 사용량에 따른 요금이 부과됩니다.
  • 스토리지 비용
    • SageMaker Notebook은 사용자 데이터 및 노트북 파일을 저장하기 위한 스토리지를 필요로 합니다.
    • 이는 EBS(Elastic Block Store)로 제공되며 사용한 스토리지 용량 및 유형에 따라 추가 비용이 발생할 수 있습니다.
  • 데이터 전송 비용
    • SageMaker Notebook은 데이터를 다운로드 및 업로드 시 데이터 전송 비용이 발생할 수 있습니다.
    • 데이터를 S3에서 노트북으로 다운로드 받거나 노트북에서 S3로 업로드하는 경우 데이터 전송 비용이 발생할 수 있습니다.
  • 추가 서비스 비용
    • SageMaker Notebook은 SageMaker의 Data Wrangler, Autopilot, Ground Truth 등 다른 SageMaker 서비스와 연동 시 추가 비용이 발생할 수 있습니다.

 

 

 

지금까지 Amazon SageMaker의 Notebook이 무엇인지 알아보는 시간이었습니다....! 끝...!

 

 

[Reference]

+ Recent posts