머신러닝 모델 구축, 디버그, 훈련, 도입 등 완전 통합형 개발 환경

[아이티데일리] 아마존웹서비스(AWS)는 개발자가 맞춤형 머신러닝 모델을 보다 쉽게 구축, 디버그, 훈련, 도입, 모니터링, 운영할 수 있도록 하는 최초의 완전 통합 머신러닝 개발 환경인 ‘아마존 세이지메이커 스튜디오(Amazon SageMaker Studio)’를 포함한 6가지 최신 ‘아마존 세이지메이커’ 성능을 발표했다고 4일 밝혔다.

신규 서비스를 통해 AWS는 개발자들에게 엘라스틱(elastic) 노트북, 실험 관리, 자동 모델 생성, 디버깅과 프로파일링, 모델 이탈 감지(model drift detection)와 같은 새로운 툴을 머신러닝용 통합 개발 환경(IDE)인 ‘아마존 세이지메이커 스튜디오’를 통해 제공한다.

‘아마존 세이지메이커’는 머신러닝 과정의 각 단계에서 복잡하고 난해한 작업을 없앤 완전 관리형 서비스다. ▲모바일아이 ▲파나소닉 아비오닉스 ▲더 글로브 앤 메일 ▲티모바일 등 수 만여 개의 고객사들이 머신러닝 도입 가속화를 위해 ‘아마존 세이지메이커’를 사용하고 있다.

AWS는 ‘아마존 세이지메이커’ 출시 이후에 새로운 기능들을 정기적으로 추가해 왔다. 작년에는 높은 정확도의 주석을 갖춘 트레이닝 데이터세트(annotated training datasets)를 구축하는 ‘아마존 세이지메이커 그라운드 트루스’, 개발자들이 강화 학습이라는 강력한 훈련 기법을 사용할 수 있도록 돕는 ‘세이지메이커 RL(SageMaker RL)’, 개발자들이 알고리즘 1회 훈련 후 하드웨어에 적용할 수 있도록 하는 ‘세이지메이커 네오(SageMaker Neo)’ 등 50개 이상의 기능이 새롭게 추가됐다.

또한, ‘아마존 세이지메이커’는 우수한 머신러닝 모델을 보다 쉽게 개발하기 위해 빌딩블록(Building Block) 단계를 다수 만들고 있다. 하지만 사업 성장 속도에 맞춰서 성공적으로 진화하는 우수한 모델을 구축하기 위해서 여러 빌딩블록들이 최적화돼야 하고, 효과적인 방법과 효과적이지 않은 방법을 쉽게 파악할 수 있어야 한다는 문제점이 발생한다.

이러한 문제들은 머신러닝에만 국한된 것은 아니며, SW 개발 과정에서 일반적으로 나타나는 문제들이다. 지난 수십 년 간, SW 개발자들이 겪는 어려움을 해소하기 위해 테스팅, 디버깅, 소프트웨어 배포, 모니터링, 프로파일링에 도움이 되는 IDE와 같은 다양한 도구들이 개발됐다. 그러나 머신러닝 분야가 아직 성숙단계에 접어들지 않아 SW 업계와 같은 도구들이 개발되지 못한 상태다.

이번에 ‘아마존 세이지메이커’에 새롭게 추가된 기능은 ▲머신러닝 IDE ▲엘라스틱 노트북 ▲실험 관리 ▲디버깅과 프로파일링 ▲자동 모델 구축 ▲개념 변화 탐지 등 총 6가지다. 상세 내용은 다음과 같다.


머신러닝 IDE

‘아마존 세이지메이커 스튜디오’는 개발자들이 프로젝트 폴더를 생성하고, 노트북과 데이터셋을 구성하고, 노트북과 결과를 공동으로 논의할 수 있도록 한다. 아마존 세이지메이커 스튜디오는 단일 인터페이스에서 머신러닝 모델을 보다 단순하고 빠르게 구축, 훈련, 설명, 검사, 모니터링, 디버그, 실행할 수 있도록 지원한다.


엘라스틱 노트북

‘아마존 세이지메이커 노트북’은 단 몇 초 만에 스핀업 가능한 엘라스틱 컴퓨트(elastic compute)를 탑재한 ‘원 클릭 주피터 노트북’을 제공한다. 아마존 세이지메이커 노트북에는 머신러닝 워크플로우를 실행하거나 재생성(recreate)하는데 필요한 모든 기능들이 담겨 있다. ‘아마존 세이지메이커 노트북’은 엘라스틱 주피터 노트북을 제공해 개발자들이 노트북에 필요한 컴퓨팅 파워(GPU 가속화 등)의 양을 개발자 업무에 방해되지 않도록 백그라운드에서 자동으로 손 쉽게 조절할 수 있게 해준다. 이를 통해 모델을 보다 더 신속하게 구축할 수 있다.


실험 관리

‘아마존 세이지메이커 엑스페리먼트’는 개발자들이 머신러닝 모델의 이터레이션을 구성, 추적할 수 있도록 지원한다. ‘아마존 세이지메이커 엑스페리먼트’는 인풋 매개변수, 환경 설정, 결과를 자동 수집해 ‘실험’이라는 이름으로 저장해 개발자들이 이터레이션을 관리할 수 있도록 지원한다. 개발자들은 현재 진행 중인 실험들을 검색하고, 전에 진행된 실험들을 특징별로 검색하고, 이전 실험 결과를 검토하고, 실험 결과를 시각적으로 비교할 수 있다.


디버깅과 프로파일링

‘아마존 세이지메이커 디버거’는 개발자들이 모델 훈련을 디버깅, 프로파일링해 정확도를 높이고 훈련 시간을 단축하고, 머신러닝 모델에 대한 이해도를 높일 수 있도록 지원한다. 또한, 아마존 세이지메이커에서 학습한 모델을 통해 수집한 주요 측정항목(metric)을 자동으로 추출하고, 추출된 데이터는 아마존 세이지메이커 디버거 API를 통해 아마존 세이지메이커 스튜디오에서 확인할 수 있다.

이 측정항목들은 훈련의 정확도와 학습 성과에 대한 실시간 피드백을 제공한다. 훈련과 관련된 문제가 생길 경우, 아마존 세이지메이커 디버거는 경고와 함께 복원권고 표시를 띄운다. 이와 함께 아마존 세이지메이커 디버거는 모델이 어떻게 작동하고 있는지 해석할 수 있도록 지원하며, 이는 뉴럴 네트워크의 설명 가능성 초기 단계로 볼 수 있다.


자동 모델 구축

‘아마존 세이지메이커 오토파일럿(Amazon SageMaker Autopilot)’은 개발자들이 모델에 대한 통제력과 가시성을 포기하지 않아도 되는 업계 최초의 자동화 머신러닝 기능이다. ‘아마존 세이지메이커 오토파일럿’은 로우 데이터(raw data)를 자동 검사하고, 기능 프로세서를 적용하고, 최고의 알고리즘 세트를 선택하고, 여러 모델을 훈련시키고, 세밀하게 조정하고, 성능을 추적하고, 그 성능을 기준으로 모델 순위를 매기는데, 이 모든 과정이 단 몇 번의 클릭으로 가능하다.

‘아마존 세이지메이커 오토파일럿’은 개발자들이 아마존 세이지메이커 스튜디오를 통해 검사할 수 있는 최대 50개의 다양한 모델을 제공해, 개발자들은 자신의 용도에 적합한 모델을 선택하고, 최적화가 필요한 요소에 따른 다양한 옵션들을 고려할 수 있다.


개념 변화 탐지

개발자들은 ‘아마존 세이지메이커 모델 모니터’를 통해 개념 변화를 감지하고 교정할 수 있다. ‘아마존 세이지메이커 모델 모니터’는 훈련 도중에 모델에 대한 기준점이 되는 통계자료를 생성하고, 예측에 사용된 데이터를 훈련 기준 자료와 비교한다.

아마존 세이지메이커 모델 모니터는 변화가 탐지되면 개발자들에게 이 사실을 알리고 그 원인이 무엇인지 확인할 수 있도록 시각적인 도움을 제공한다. 개발자들은 ‘아마존 세이지메이커 모델 모니터’의 내장된 기능들을 이용해 변화를 즉시 탐지하거나, 자체적인 규칙을 만들어 모니터링할 수 있다. 아마존 세이지메이커 모델 모니터는 개발자들이 학습용 데이터나 알고리즘을 개념 변화에 맞춰 손쉽게 수정할 수 있게 지원한다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지