매직코드
article thumbnail
Published 2022. 1. 5. 11:04
1. MLOps란? MLOps

탄생 배경

많은 기업들이 머신러닝, 딥러닝을 이용한 프로젝트을 진행했지만 실제 서비스에 적용하기 힘들었다.

데이터 분석가가 만들어진 모델을 전달하면 프로그래머들은 기존 방식대로 모델을 배포하고자 했으나 작업환경차이, 버전차이, 패키지이해, 구조이해 등의 문제로 배포가 어려울 때도 있고, 배포했어도 모델이 제대로 작동하지 않는 문제가 발생했다.

 

그래서 많은 사람들이 모델을 잘 운영, 관리 할 수 있도록 MLOps가 탄생했다.

MLOps는 Machine Learning Model Operationalization Management의 약자로 말 그대로 "머신러닝 모델 운영 관리"다.

일부는 Machine Learning 과 소프트웨어 분야에서 사용하는 DevOps(개발운영)의 합성어라고 하는데 모델은 운영한다는 의미에서 둘 다 맞는 말이다.

 

 

 

MLOps Befor & After

Before

위에서 언급했듯이 MLOps라는 개념이 생기기 전에는 일반적을 프로그램을 배포하듯이 데이터 분석가가 완성된 모델을 전달하면 프로그래머는 배포하기 위해서 모델의 개발환경, 사용한 패키지, 클래스 구조 등을 데이터분석가에게 확인하고 배포했다. 이후 유지 보수를 할 때에도 기존에 구축해둔 약속된 형식에서 조금이라도 벗어나면 실행이 되지 않거나 모델의 정확도가 떨어지는 문제가 발생했다.

 

 

After

MLOps를 적용하기로 한 이후부터는 프로그래머도 배포 환경에서 데이터분석가가 만들어준 모델과 동일한 완성도를 가진 모델을 사용할 수 있도록 파이프라인을 전달받는다. 파이프라인으로 전달받는다면 데이터분석가와 프로그래머가 같은 파이프라인을 사용하기 때문에 언제 어디서나 즉, 개발환경과 실행환경의 차이점과는 관계없이 같은 성능의 모델을 빌드하고 배포하는 것을 보장할 수 있다.

 

 

또 하나 장점은, 업데이트가 편하다는 점이다.

MLOps를 적용하기전, 완성된 모델을 1월에 전달했다면 이 모델은 시간이 지남에 따라 최신 데이터의 부재로 인해 성능이 점차 저하된다. 이를 해결하기 위해서는 최신 데이터를 데이터분석가에게 전달하여 모델학습을 다시 진행하고 완성된 모델을 프로그래머에게 전달하거나 데이터분석가가 새로운 모델을 만들어야 한다. 하지만 파이프라인으로 전달된 모델은 Data pipeline도 함께 전달이 되기 때문에 이 파이프라인을 이용하여 최신 데이터를 모델에 반영, 지속적인 학습을 자동화할 수 있다.

 

 

 

 

 

profile

매직코드

@개발법사

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!