MLOps는 DevOps에서 파생된 말로, 개발의 생산성과 운영의 안정성을 최적화 하기 위한 문화이자 방법론인 DevOps를 ML 시스템에 적용한 것이 MLOps입니다.
DevOps는 대규모 SW 시스템을 개발하고 운영하는데 널리 사용됩니다. CI/CD라는 지속적 통합 - 지속적 배포라는 개념을 통해 개발 주기 단축, 배포 속도 증가, 안정적인 출시 등의 장점을 가지게 됩니다.
MLOps또한 이와 비슷하지만, 더욱 복잡한 차이점을 가지게 됩니다.
일반적인 테스트 이외에도 학습된 모델의 평가와 검증이 이루어져야하고, ML 모델을 재학습하고 배포하는 과정의 자동화도 이루어져야합니다.
또한 CI/CD 환경을 구축하며, 코드 뿐만 아니라 모델의 테스트와 배포까지 이루어지는 파이프라인을 구축해야합니다.
정리하자면 다음과 같습니다.
MLOps 에서는 단순히 ML 모델을 개발하는 것에 끝나지 않습니다. 데이터 수집, 데이터 분석, ML 모델 개발, 학습, 배포의 모든 단계가 MLOps의 Life Cycle 안에 들어가게 됩니다.
MLOps는 다음 단계가 얼마나 자동화 되었느냐에 따라서 그 수준이 나뉘게 됩니다.
위 단계를 자동화하는 수준에 따라서 세 가지 Level로 나누어서 설명할 수 있습니다.
ML 모델을 빌드하고 배포하는 과정이 수동으로 이루어질 경우 MLOps 수준 0으로 간주할 수 있습니다.
위 그림에서는 데이터 분석, 데이터 준비, 모델 학습, 모델 검증등 모든 단계가 수동으로 이루어집니다.
CI/CD는 고려되지 않은 상태라고 볼 수 있습니다.
Level 0의 MLOps는 ML을 처음 적용하는 비즈니스에서 일반적으로 사용됩니다. 혹은 모델이 거의 변경되지 않거나 학습되지 않는 경우에도 충분할 수 있습니다.
하지만 실제 환경에서는 모델을 배포할 시에 손상되는 경우가 많고, 모델의 정확성을 유지하기 위해서는 모델 품질에 대한 적극적인 모니터링과 재학습 그리고 새로운 모델의 구현을 수행해야 합니다.
Level 1에서는 ML 파이프라인을 자동화하여 모델을 지속적으로 학습시킵니다.
실험을 빠르게 반복하여 전체 파이프라인을 프로덕션으로 빠르게 배포합니다. 개발 환경에서 사용된 파이프라인이 운영 환경에서도 그대로 활용되어 DevOps 통합을 위한 MLOps 방식에 있어서 핵심적인 역할을 합니다.
CT(Continuous Training)개념의 도입으로 새로운 데이터를 사용하여 프로덕션 모델이 자동으로 학습합니다. 또한 새로운 데이터로 학습되고 검증된 모델이 지속적으로 배포됩니다.
프로덕션 단계에서 파이프라인을 빠르고 안정적이게 업데이트 하기 위해 강력하게 자동화된 CI/CD 시스템을 사용합니다. 이 시스템을 통해 데이터 사이언티스트는 특성 추출, 모델 아키텍처, 하이퍼 파라미터에 대한 아이디어를 빠르게 살펴보고, 구현하고, 자동으로 빌드-테스트-배포 할 수 있습니다.
이는 MLOps Level 1에서 CI/CD 가 집중적으로 강화된 시스템이라 할 수 있습니다.
MLOps 는 머신러닝 프로젝트를 안정적으로 구현하기 위한, 그리고 대규모 ML 시스템을 구축하기 위한 필수 요소가 되어가고 있습니다.
MLOps의 기본적인 개념을 이해하고 실제 ML 프로젝트를 성공적으로 구현할 수 있게 된다면 좋을 것 같습니다.
이미지 출처 :
DevOps - https://en.wiktionary.org/wiki/DevOps
MLOps Life Cycle - https://www.ml4devs.com/articles/mlops-machine-learning-life-cycle/
MLOps Level - https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ko
참고 문헌 :
https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ko
https://jaemunbro.medium.com/mlops%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B3%A0-84f68e4690be