본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. (https://fastcampus.info/4oKQD6b)
오늘은 MLOps 구축을 위해 주로 사용되는 플랫폼들 중에서 기존의 서버를 구축하는 on-premise 방식이나, ec2 인스턴스에 직접 구축하는 방식이 아닌, AWS에서 직접 제공하는 완전 관리형 서비스, Fully Managed 서비스인 Amazon SageMaker에 대해서 한번 개념과 활용법에 대해서 알아보는 시간이였습니다.
한번 SageMaker에 대해서 한번 정리해보면, 머신러닝모델의 개발, 훈련, 배포의 전 과정을 단일 호나경에서 제공하는 통합플랫폼입니다. 기존의 MLOps 관리를 의해서 서버를 올려서 일일이 관리했던것에 비례해서, 인프라 관리 부분은 AWS에 위임하여 개발 생산성을 10배 이상 높이고, 유지 비용을 절감할 수 있다는 점이 신기했습니다.
일단, 주요 구성요소를 한번 정리해보면, 데이터를 준비하는 과정은 S3, RDS등과 연동하여 데이터를 저장 & 검색합니다. 그리고 Notebook 환경을 클라우드 상에서 즉지 생성하여 모델 개발 및 실험을 수행하게 해주는 Notebook Instance 라는 기능, GPU/CPU등 고성능 컴퓨팅 자원을 활용해 대규모의 분산 학습을 빠르게 처리해주는 Training Instance, 그리고 학습된 모델을 실시간 inference를 통해 api 형태로 모델을 배포하여 외부 요청을 처리할 수 있다는 기능들에 대해서 배웠습니다.
또한, 데이터 수집/처리, 모델 학습, 배포, 모니터링으로 이어지는 ML 수명주기를 자동화 하고 표준화 하는 기능이 있다고 합니다. 이러한 기능들을 보면서 워크플로우가 각각 역할별로 최적화된 도구를 하나의 플랫폼 안에서 제공한다는 점이였습니다. BA, DS, Ops 각각 담당 하는 역할에 맞는 도구, 기능들이 제공된다는 점이 매우 인상 깊었고, 회사에서 MLOps를 구축할때 본격적으로 SageMaker로 마이그레이션 한다고 하면? 적극적으로 활용을 해봐야 겠다는 생각이 들었습니다.



