WiseN

[Reinvent2019] ML 전용의 IDE 환경 - Sagemaker Studio 소개

Dec 17, 2019   |   AWS

작성자_임성균

페이스북 공유하기 트위터 공유하기
Blog thumbnail

들어가며



안녕하십니까. GS네오텍 임성균입니다.

ML을 개발하시는 분이시라면 어떠한 개발환경을 사용하고 계시나요? ML을 하기 위해 컴퓨팅 리소스와 개발환경을 구축하는데 더욱 시간이 많이 소요 되셨다면 이번 글은 굉장히 흥미로울 것 같습니다. 아마 인프라를 직접 구축하셔서 사용하실 수도 있고, 간단히 클라우드에서 사용하시는 Jupyter Notebook을 통해 구현하시는 분들이 아마 대부분이겠죠.

또, 이런 경우도 있으시지 않을까요? 학습 과정에서 새로운 알고리즘을 시도하거나 하이퍼 파라미터를 조정하여 실험을 실행할 때에도 학습시간이 매우 오래 걸릴 수 있습니다. 더불어 이 모든 것을 수동으로 조정하여 관리해야하는데. 만약 이러한 개발 과정을 자동화할 수 있다면 더욱 손쉽게 ML 작업을 진행할 수 있겠죠.

오늘은 Sagemaker Studio라는 신규 업데이트를 소개해 드리도록 하겠습니다. 그럼 gogo!

 

Amazon Sagemaker Studio 개요



 

Amazon Sagemaker Studio는 ML 개발에 필요한 모든 도구를 통합하여 출시되었습니다. 개발자는 단일 통합 비주얼 인터페이스 내에서 코드를 작성하고 실험하며 데이터를 시각화하고 디버깅 및 모니터링을 수행 할 수 있으므로 개발자 생산성이 크게 향상됩니다. ML 워크플로의 모든 단계가 환경 내부에서 추적되므로 단계별로 사용자들이 직접 개입하여 단계를 복제, 조정 및 재생할 수도 있습니다. 이를 통해 개발자는 신속하게 변경 사항을 적용하고 결과를 빠르게 볼 수 있어 솔루션 출시 시간을 단축시킬 수 있습니다.

 

▨ Amazon Sagemaker에서 구축 

1. Amazon Sagemaker에서 클릭 한번으로 제공되는 Jupyter Notebook이 Amazon Sagemaker Studio와 통합되었습니다. Jupyter Notebook은 기계 학습 워크플로를 실행하거나 다시 생성하는데 필요한 모든 기능을 포함하며, ​모든 공통 CUDA 및 cuDNN 드라이버,  Anaconda 패키지 및 프레임워크 라이브러리에 미리 로드됩니다.

2. Amazon Sagemaker Ground Truth를 통해 기계 학습을 사용하여 매우 정확한 학습 데이터 세트를 신속하고 구축하고 데이터 레이블 지정 비용을 최대 70%까지 절감할 수 있습니다.

3. 안정적인 인프라 측면과 확장이 용이한 대규모 완전관리형 데이터 처리를 지원하며, Sagemaker는 내장된 고성능 알고리즘을 제공하고 있습니다.

 

▨ Amazon Sagemaker에서 학습 

1. 기계 학습은 지속적인 실험(예: 새 학습 알고리즘 시도 또는 알고리즘의 하이퍼파라미터 조정)에 기반한 반복 프로세스로, 동시에 모델 성능 및 정확성에서 이러한 증분식 변경이 미치는 영향을 관찰할 수 있습니다.​

2. Amazon Sagemaker Debugger를 통해 개발자에게 디버그 데이터를 분석하는 시각적 인터페이스와 함께, 학습 프로세스에서 잠재적 이상 조건에 대한 시각적 표시기를 제공하여 손쉽게 검사를 수행할 수 있습니다.

3. Amazon Sagemaker에서 모델을 쉽게 학습할 수 있습니다. Sagemaker에서 학습할 준비가 되면 Amazon S3에서 데이터 위치를 지정하고 필요한 Sagemaker ML 인스턴스 유형과 수량을 표시한 다음, 콘솔에서 클릭 한 번으로 시작하면 됩니다.​

4. 관리형 스팟 학습을 사용하여 기계 학습 모델 학습 비용을 최적화하고 최대 90%까지 절약할 수 있습니다. 관리형 스팟 학습은 학습 비용을 관리하는 데 사용할 수 있는 예비 AWS 용량인 Amazon EC2 스팟 인스턴스를 사용합니다.​ 

 

▨ Amazon Sagemaker에서 배포 

1. 기계 학습 모델은 보통 기록 데이터를 통해 학습 및 평가되지만, 프로덕션에 배포된 후에는 품질이 저하됩니다.​ 이를 방지하기 위해 프로덕션에서 모델 품질을 모니터링하고 문제를 빠르게 식별하며 모델 감사 또는 재학습과 같은 정정 조치를 수행해야 합니다.​ Amazon Sagemaker 모델 모니터를 사용하면 프로덕션에서 모델을 모니터링하는 도구를 빌드하거나 정정 조치를 수행해야 하는 시점을 탐지하지 않아도 됩니다.​ Sagemaker 모델 모니터는 지속적으로 프로덕션에서 기계 학습 모델의 품질을 모니터링하며, 모델 품질에 편차가 존재하면 이를 알립니다.​

2. Sagemaker가 인스턴스를 시작하고 모델을 배포하며 애플리케이션에 대한 안전한 HTTPS 엔드포인트를 설정합니다. 짧은 지연 시간, 높은 처리량 추론을 달성하기 위해서는 애플리케이션에 이 엔드포인트에 대한 API 호출만 포함하면 됩니다. 모델을 변경하기 위해 코드를 변경할 필요가 없기 때문에 이 아키텍처를 사용하면 몇 분 만에 새 모델을 애플리케이션에 통합할 수 있습니다.​

 

Sagemaker Studio 시작하기


 

Amazon Sagemaker Studio는 리인벤트 2019에서 출시되었으며, `19년 12월 기준, Ohio 리전에서만 사용하실 수 있습니다.​ AWS 리전을 오하이오로 설정해주시면 Sagemaker 탭에서 Amazon Sagemaker Studio를 쉽게 찾으실 수 있습니다. 

다음으로는 사용자 프로필 추가 버튼으로 '사용자 프로필 이름'과 '실행 역할- 새 역할 생성'을 실행하셔서 전송하게 되면 사용자 프로필란에 등록이 되신겁니다! 조금만 기다리시면 바로 사용이 가능합니다! 개인적인 생각인데, UI를 Dark 모드로 구성하여 멋진느낌이 드는 것 같습니다.

 

아직은 Available in Preview 상태이고, 필요하신 라이브러리는 직접 설치를 해야해야 합니다.

 


 

현재는 미리보기 형태의 Sagemaker 노트북을 사용하면 인프라를 관리하지 않고도 하나의 하드웨어 구성에서 다른 하드웨어 구성으로 신속하게 전환할 수 있습니다. 

 

Amazon Sagemaker Experiments을 사용하면 수천 개의 ML 작업을 구성, 추적 및 비교 할 수 있습니다. 이러한 작업은 학습 작업이거나 Amazon Sagemaker Processing으로 실행되는 데이터 처리 및 모델 평가 작업이 될 수도 있습니다.


 

Amazon Sagemaker Debugger를 사용하면 복잡한 학습 문제를 디버깅 및 분석하고 알림을 수신할 수 있습니다. 모델을 자동으로 검사하고 디버깅 데이터를 수집 및 분석하여 학습 시간을 최적화하고 모델 품질을 향상시키는 방법에 대해 실시간 알림과 정보를 제공합니다. 모델이 학습을 받는 동안 모든 정보를 확인할 수 있습니다.​


 

Amazon Sagemaker Model Monitor를 사용하면 배포된 모델의 품질 편차를 감지하고 알림을 수신할 수 있습니다. 모델에 영향을 줄 수 있는 데이터 드리프트와 같은 문제를 쉽게 시각화할 수 있습니다. 코드가 필요하지 않습니다. 몇 번의 클릭만으로 충분합니다.​


 

Amazon Sagemaker Autopilot을 사용하면 완벽한 제어 및 가시성을 통해 모델을 자동으로 구축할 수 있습니다. 모든 인프라뿐만 아니라 알고리즘 선택, 데이터 전처리 및 모델 튜닝이 자동 처리됩니다.​

 

참고로 Sagemaker Debugger, Model Monitor, AutoPilot, Experiments는 별도 포스팅으로 이어 다룰 예정입니다.

 

마치며


이번 포스팅은 Amazon Sagemaker Studio 기능을 정리해 보았습니다. 요약하면 Sagemaker는 기존의 Amazon Sagemaker에서 사용할 수 있는 기능을 모두 포함하고 있으며, 추가적으로 Amazon Sagemaker Debugger, Model Monitor, AutoPilot, Experiments 기능을 통합적으로 관리할 수 있는 서비스라고 보시면 되겠습니다.

참고로 아직 Preview 상태이지만 점차 확대되어 ML 개발 플랫폼으로써 인기를 끌지 않을까 생각해봅니다.

읽어주셔서 감사합니다. 끝!

 

참고:

AWS amazon SageMaker 

https://aws.amazon.com/ko/sagemaker/

Amazon SageMaker Studio - 기계 학습을 위한 최초의 완전 통합형 개발 환경 출시

https://aws.amazon.com/ko/blogs/korea/amazon-sagemaker-studio-the-first-fully-integrated-development-environment-for-machine-learning/