안녕하세요 매일 명언만 올리다가 오랜만에 개발관련 글을 올립니다.
오늘의 주제는 MLops 및 kubeflow 입니다.
우선 Mlops를 설명하기전에 devops부터 간단히 설명하고 가자면
Devops란 Development(개발)과 Operation(운영)의 합성어로 각각 따로 진행하다가 생기는 비효율적인 부분을 해결하기 위해 등장했습니다.
CI/CD (Continuous Integration 지속적 통합, Conutinuous Deplooymnet 지속적 배포) 를 기본으로 아래 그림처럼 개발자들의 코드를 지속적으로 통합하고 통합된 코드를 지속적으로 배포하는 자동화 시스템을 Devops라 합니다.
CD는 지속적 제공의 의미인 Continuous Delivery의 의미도 내포하고있다.
예를 들면 운영중인 웹사이트 A가 있다고 치면 개발자들이 코딩하고 코딩된 것을 합치고 배포하기위해 패키징하여 서버에 배포하고 운영한다. 만약 이 웹사이트의 회원가입 버튼에 오류가 생겼다면 운영하는 사람이 해당 오류를 발견하고 발견된 오류를 개발자에게 보고한다. 보고된 오류는 개발자들에 의해 수정되어 다시 코드를 합치고 배포하는 과정을 거친다. 그리고 다시 운영자들이 이를 확인한다.
이와 같은 운영방식에서 비롯되는 개발과 운영사이의 간극을 줄이기 위해 Devops가 등장했다고 보면 좋을 거 같다.
어쨌든 Devops는 이러한 개념이고 MLops는 무엇인가??
MLOps는 이러한 Devops에 모델 트레이닝 CT(지속적 학습, Continuos Training)의 개념이 추가된 개념이다.
단순히 머신러닝 모델을 만드는 것 뿐만 아니라 데이터를 가져오고 모델을 재배포하고 재학습 시키는 일련의과정에 대한 개념이다.
Mlops는 결론적으로 머신러닝 학습 주기 관리의 간소화에 초점을 둔다.
오늘은 간단하게 MLops에 대해 알아봤습니다.
다음시간엔 kubeflow 를 가지고 GCP및 로컬환경에서의 minikube에서 구축해보고 간단한 pipeline 예제까지도 실행해보겠습니다.
'MlOps' 카테고리의 다른 글
[Kubeflow] 로컬환경에서 minikube를 통한 kubeflow 구축 (0) | 2021.05.27 |
---|