'세이지메이커' 머신러닝 구현에 9가지 새 기능으로 더 편리하고 똑똑해졌다
아마존 세이지메이커(Amazon SageMaker)는 모든 개발자 및 데이터 과학자가 머신러닝(ML) 모델을 빠르게 구축, 훈련 및 배포할 수 있도록 하는 완전 관리형 서비스이며, 머신러닝 프로세스의 각 단계에서 부담스러운 작업을 제거하여 고품질의 모델을 보다 쉽게 개발할 수 있도록 한다.
아마존웹서비스(이하, AWS)는 최근 진행된 re:Invent 2020 온라인 컨퍼런스에서 아마존 세이지메이커에서 개발자들이 엔드투엔드(end-to-end) 머신러닝 워크플로우의 모든 단계를 자동화하고 확장할 수 있도록 고안된 9가지의 새로운 기능을 추가한다고 발표했다.
이 업그레이드에는 더 빠른 데이터 준비와 준비된 데이터를 위한 전용 리포지토리(repository), 워크플로우 자동화, 편견을 완화하고 추론을 설명하기 위한 학습 데이터에 대한 투명성 향상, 대규모 학습을 위한 분산 교육 기능과 대형 모델을 최대 2배 더 빨리 훈련하기 위한 분산 학습 기능, 엣지 장치에서의 모델 모니터링과 같은 새로운 기능이 포함됐다.
머신러닝은 점점 주류가 되고 있으며, 빠른 속도로 발전하고 있다. 머신러닝이 주목받는 만큼 머신러닝 모델을 구현하고 배포하는 것이 간단해야 할 것 같지만 그렇지 않다. 모델을 만들기 위해서는 개발자들이 데이터를 준비하는 고도로 수동적인 프로세스부터 시작해야 한다.
올바른 알고리즘을 선택하고, 프레임워크를 설정하고, 모델을 학습시키고, 수백만 개의 가능한 파라미터를 튜닝하고, 모델을 배치하고, 그 성능을 감시해야 한다. 이 프로세스는 모델이 시간에 따라 예상한 대로 수행되도록 지속적으로 반복해야 한다.
과거에는 이 과정이 가장 숙련된 개발자를 제외한 모든 개발자에는 접근하기 어려웠다. 하지만 아마존 세이지메이커는 그것을 바꾸었다. 이 플랫폼은 머신러닝 과정의 각 단계별 과제를 제거하는 완전 관리형 서비스로, 일반적인 개발자와 데이터 과학자가 머신러닝 모델을 만들고, 학습시키고, 배치하는 것을 근본적으로 더 쉽고 빠르게 만든다.
이처럼 세이지메이커는 개발자가 AWS 퍼블릭 클라우드에서 추론 또는 분석 애플리케이션을 위한 머신러닝 모델을 구축하고 학습시킬 수 있는 서비스인 것이다. AWS의 머신러닝 그룹 스와미 시바수브라마니안(Swami Sivasubramanian) 부사장은 "세이지메이커와 같이 널리 채택 된 서비스에 대한 가장 좋은 점 중 하나는 다음 결과물 세트를 촉진하는 많은 고객의 제안을 받는다는 것입니다"라고 말했다.
이번 아마존 세이지메이커에 대한 새로운 9가지 기능은 다음과 같다.
▷개발자가 머신러닝을 위한 데이터를 쉽고 빠르게 준비할 수 있는 방법을 제공하는 '데이터 랭글러(Data Wrangler- 다운)'.
▷머신러닝 모델을 저장, 업데이트, 검색 및 공유하기 위해 특별히 구축된 '세이지메이커 기능 저장소(SageMaker Feature Store-기능보기)'는 저장된 기능의 메타 데이터 (예: 기능 이름 또는 버전 번호)를 추적하므로 대화형 쿼리 서비스 아마존 아테나(Amazon Athena)를 사용하여 배치에서 또는 실시간으로 올바른 속성에 대한 기능을 쿼리할 수 있다. 추론 중에 새 데이터가 생성될 때는 단일 리포지토리가 업데이트되므로 학습 및 추론 중에 모델에서 항상 사용할 수 있는 새로운 기능을 사용할 수 있기 때문에 기능이 계속 업데이트 된다.
▷개발자에게 머신러닝을 위한 최초의 목적에 맞게 구축되고 사용이 간편한 지속적인 통합과 지속적인 전달(CI/CD) 서비스를 제공하는 '파이프라인'.
▷개발자가 머신러닝 모델의 편향을 제한하고 추론을 설명할 수 있도록 학습 데이터에 대한 가시성을 높여 구체화한다.
▷'세이지메이커 디버거(SageMaker Debugger-보기)'에 대한 심층 프로파일링은 머신러닝 학습 성능을 모니터링하여 개발자가 모델을 더 빨리 교육할 수 있도록 돕는다.
▷'분산 학습(Distributed Training- 보기)'은 머신러닝 프로세서에서 가능한 것보다 최대 2배 빠르게 대형 모델을 학습시킬 수 있는 새로운 기능을 제공한다.
▷엣지 장치에 대한 머신러닝 모델 모니터링 및 관리 기능을 제공하여 프로덕션에 배치된 모델이 올바르게 작동하는지 확인하는 '엣지 매니저(Edge Manager)'를 사용하면 스마트 카메라, 로봇, 개인용 컴퓨터 및 모바일 장치에서 ML 모델을 최적화, 보호, 모니터링 및 유지할 수 있으며, 엣지 장치에서 실행되는 소프트웨어 에이전트를 제공한다. 에이전트는 세이지메이커 네오(SageMaker Neo- 보기)에 자동으로 최적화 된 ML 모델과 함께 제공되므로 모델 최적화를 활용하기 위해 장치에 Neo 런타임을 설치할 필요가 없다. Neo는 Apache 소프트웨어 라이선스상 Neo-AI 프로젝트 형태의 오픈 소스 코드(다운)로 사용할 수 있다.
에이전트는 예측 데이터를 수집하고 모니터링, 레이블 지정 및 재 학습을 위해 데이터 샘플을 클라우드로 전송하므로 시간이 지남에 따라 모델을 정확하게 유지할 수 있다. 또 모든 데이터는 배포 된 모델의 작동에 대해 보고는 엣지 매니저 대시 보드에서 볼 수 있다. 엣지 매니저를 사용하면 나머지 애플리케이션과 별도로 모델을 관리할 수 있으므로 모델과 애플리케이션을 독립적으로 업데이트하여 비용이 많이 드는 가동 중지 시간과 서비스 중단을 줄일 수 있다.
▷사전 학습된 모델과 사전 구축된 워크플로우를 위한 '점프스타트(JumpStart-보기)'를 사용하면 숙련 된 실무자와 초보자 모두 매우 쉽게 모델과 솔루션을 신속하게 배포 및 평가할 수 있으므로 며칠 또는 몇 주 걸리던 작업을 혁신적으로 절약할 수 있다.