Boostcamp AI Tech

[Boostcamp Day-85] MLOps 개론

ju_young 2021. 12. 7. 00:54
728x90

MLOps란?

  • MLOps = ML(Machine Learning) + Ops(Operations)
  • 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정
  • 머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라
  • 머신러닝 모델 개발과 머신러닝 모델 운영에서 사용되는 문제, 반복을 최소화하고 비지니스 가치를 창출하는 것이 목표
  • 모델링에 집중할 수 있도록 관련된 인프라를 만들고 자동으로 운영되도록 만드는 일
  • 최근엔 비지니스 문제에 머신러닝/딥러닝을 적용하는 Case가 많아짐
  • Production 환경에 배포하는 과정엔 Research의 모델이 재현 가능해야함
  • MLOps의 목표는 빠른 시간 내에 가장 적은 위험을 부담하여 아이디어 단계부터 Production 단계까지 ML 프로젝트를 진행할 수 있도록 기술적 마찰을 줄이는 것
  Research ML Production ML
데이터 고정(Static) 계속 변함(Dynamic)
중요 요소 모델 성능 모델 성능, Infernece 속도, 해석 가능
도전 과제 더 좋은 성능을 내는 모델 안정적인 운영, 전체 시스템 구조
학습 모델 구조, 파라미터 기반 재학습 시간의 흐름에 따라 데이터가 변경되어 재학습
목적 논문 출판 서비스에서 문제 해경
표현 Offline Online

MLOps가 필요한 이유

AI 연구에서는 기존 과학적 방법론을 사용하는 만큼 고정된 범위 내 데이터를 사용한다. 반면 AI 서비스를 제공하는 기업에서는 사용자 데이터가 계속해서 쌓이는 만큼 이를 반영할 수 있도록 AI 모델을 수시로 점검, 개선해야한다.

학자와 서비스 제공자가 AI 개발에서 도달하고자 하는 목표도 다르다. AI 학계에서는 더 좋은 성능을 내거나 새로운 구조로 작동하는 모델을 개발하는 것이 관건이다. 하지만 서비스를 제공하는 입장에서는 모델 성능 이외 빠른 추론 속도나 해석 가능성도 동일하게 중요하다. 좋은 AI 모델을 개발하기보다 안정적인 운영과 시스템 구조로 AI 서비스를 지속 제공하는 것이 핵심이다.

MLOps Component

  • 인프라(서버, GPU) : Product를 Serving하기 위해서는 서버라는 '장소'가 필요
  • Serving : 실시간 Serving을 해야할 경우 Online Serving, 주기적으로 Serving을 해야할 경우 Batch Serving이라고 하고 User에게 Service를 하기위해서 필요
  • Experiment, Model Management : 여러 시행착오를 겪으면서 모델을 만들면 해당 성능, 메타 정보를 기록하여 이후에도 사용할 수 있게 관리
  • Feature Store : MLOps는 데이터 엔지니어링과 관련이 많은데, 실시간 데이터처리/배치 데이터 처리 등을 통해 데이터 웨어하우스에 저장하곤한다. 다만 데이터 웨어하우스 특성상 거의 Tabular 데이터만 Featue Store를 많이 만들어둔다.
  • Data Validation(Data Management) : 현재 Feature가 이전에 사용한 Feature과 비슷한지 확인하기 위해서 필요
  • Continuous Training : 새로운 데이터로 주기적으로 Retrain하기위해 필요
  • Monitoring : 모델의 지표, 인프라의 성능 지표 등을 기록하여 향후 아이디어를 얻을 수 있거나 개선할 수 있음
  • AutoML : 자동으로 Model을 만들 수 있게하여 효율적인 Serving을 가능하게 함

 

[ref]

http://www.aitimes.com/news/articleView.html?idxno=139432 

https://blog.voidmainvoid.net/265

728x90