ML 라이프사이클과 AutoML, 그리고 Open Data Hub

머신러닝 업무를 하다보면 자연스럽게 ML 라이프사이클이나 AutoML이라는 용어를 접하게 됩니다. 이번 글에서는 기본적인 ML 라이프라이클 및 AutoML 개념과 함께 이를 쉽게 구현할 수 있는 도구에 대해 알아보겠습니다. 기업에서 AI/ML 기술을 적용한 지능형 애플리케이션(이하 'App')을 개발한다고 하면, 단순히 데이터 과학자(Data Scientist)가 성능이 우수한 모델을 만들어 내는 것만으로 모든 일이 끝나는 것이 아닙니다. 당연히 성능이 우수한 모델 개발도 중요하지만, 모델을 개발하고 지능형 App을 서비스화하기 위해서는 여러 단계의 과정을 거쳐야만 합니다. 비즈니스 담당자인 C레벨의 의사결정부터 시작하여, 문제를 해결할 수 있는 적절한 데이터를 수집 및 가공하고, 모델 개발을 위한 feature extraction(특징 추출)도 해야 하고, serving할 인프라도 마련하고, 모델의 성능을 지속적으로 모니터링하여 필요 시 재학습 후 재배포해야 하는 과정들이 필요합니다. 지능형 App 개발을 위한 일련의 과정들, 우리는 보통 이것을 '머신러닝(ML) 라이프사이클' 이라고 부릅니다. 그리고 'ML 라이프사이클'은 SDLC, 즉 기존에 기업의 App을 배포하는 데 사용되는 '소프트웨어 개발 라이프사이클'과 매우 유사함을 알 수 있습니다. ML 라이프사이클 중에서 특징을 추출하고 모델을 학습하고 튜닝하고 모델을 검증하는 작업은 보통 '주피터 노트북(Jupyter Notebook)'이라는 도구를 많이 사용합니다. 데이터 과학자나 데이터 엔지니어들이 필요할 때마다 바로바로 주피터 노트북을 제공받을 수 있도록 설계된 서비스가 바로 '주피터 허브(JupyterHub)' 서비스입니다. 주피터 노트북을 통해 검증된 소스와 모델들을 컨테이너화한 후, 오픈시프트의 S2I 기능을 이용해서 Flask 프레임워크 등으로 쉽게 서빙 형태의 서비스를 실행할 수 있습니다. 여러 가지 이유로 인해 모델을 재학습하거나, 재검증 또는 재배포해야 하는 경우가 발생하는데, 이 때는 Kubeflow 같은 도구를 사용해서 일정 부분 자동화된 MLOps 구현이 가능합니다. K8s 기반의 MLOps 구현 도구로는 Kubeflow가 많이 사용되며, Kubeflow를 통해 autoML이라고 할 수 있는 하이퍼 파라미터 튜닝, 조기 종료(early stopping) 또는 NAS(neural architecture search) 등을 자동화할 수 있습니다. Kubeflow의 컴포넌트 중 Katib 시스템을 통해 이러한 autoML 기능을 지원합니다. 지금까지 ML 라이프사이클과 AutoML(Automated Machine Learning)에 대해 간략히 살펴 보았습니다. ML 라이프사이클과 AutoML의 기본적인 도구들은 'Open Data Hub'라는 오프소스 프로젝트에서 제공하고 있으며, OKD나 Red Hat OpenShift에서 Operator를 통해 손쉽게 설치 및 관리할 수 있습니다. Open Data Hub에 대한 보다 자세한 내용은 Open Data Hub 공식 홈페이지에서 살펴 보실 수 있습니다. 감사합니다. https://opendatahub.io

ML 라이프사이클과 AutoML, 그리고 Open Data Hub - 라온새론

라온새론 - 소중한 딸들의 온라인 육아/예술 공간 - metaverse

ML 라이프사이클과 AutoML, 그리고 Open Data Hub - 라온새론

다음 내용이 궁금하다면?

지금 간편 가입하고 다음 내용을 확인해 보세요!

또는

이미 회원이신가요?

2022년 12월 19일 오전 8:47

댓글 0