학교있을땐 딥러닝 기반 Anomaly Detection 에 대한 공부를 주로 했지만,

취업하고 여차저차 정신차려 보니 남이 개발한 AI 모델을 운영/배포 할 수 있는 플랫폼 개발을 해야하게되었다.

장기적으로 소프트웨어 엔지니어로의 변환을 위해 선택한 직장이긴했지만 생각보다 너무 빨리 포지션 변경이 이뤄졌다.

 

이래저래 찾아보니  MLOps의 개념이  내게 필요하다고  생각하여 관련 내용들을 지속적으로 조금씩 정리하고자 한다. 

 

MLOps의 개념 자체가 아직 대두된지 오래되지않은 개념이라 그런지 구체적인 방법이나 형태가 완벽하게 정리된 것은 아닌 것 같다.

 

하지만, 일반적으로 아래와 같은 세가지 개념은 포함하고 있는 것으로 볼 수 있는 것 같다.

MLOps = (Model / Data / Dev) Ops

 

Model Ops = 머신러닝 모델 개발

Data Ops = 데이터 처리 및 관리

Dev Ops = 모델 운영/배포 

 

 

MLOps(Machine Learning + Operation)의 궁극적인 목적은 말그대로 머신러닝 모델을 실제 서비스에 적용되기 시작하면서 생기는 다양한 이슈들

예를 들면, 머신러닝 모델이 언제 업데이트 되어야하는 지? 서비스 운영하면서 생기는 데이터들은 어떻게 관리해야하는지(데이터의 버전 및 학습용 데이터와의 차이 등)? 모델의 배포 관리는 어떻게 해야하는지? 머신러닝 모델의 운영은 어떤식으로 할 것인지? 을 해결?하기 위한 것이기 때문에 너무나 많은 부분을 포함하고 있고, 향후 계속해서 정립되고 다져져야하는 분야인 것같다. (API/모델/데이터/ML 인프라 이를 모두 포괄하는 큰 개념)

 

MLOps 관련 해서 접근하기 전에 가장 먼저 MLOps를 통해 하고자하는 것이 무엇인지 정의하는 게 필요한데, 크게 두 가지로 나눠 볼 수 있다.

1) 내가 직접 많은 모델들을 개발하여야 하는지

2) 다른 사람들이 모델을 개발할 수 있도록 하는 것인지(플랫폼)

 

당연하게도 이것을 바탕으로 고객을 설정하여 고객의 요구 스펙/사용성을 바탕으로 개발하는 것이 필요함.

 

나의 목적은 두 번째 항목인 플랫폼 제공에 가까워 해당 사항 관련해서 지속적으로 찾아 공부하여 포스팅해야겠다.

 

 

해당 포스팅은 아래 영상에서 필요한 내용을 발췌함.

https://youtu.be/xZKtofBe18I

+ Recent posts