[Operation] MLOps, DevOps란?

성윤·2023년 10월 10일
post-thumbnail

이번 포스트에서는 제목처럼 MLOps에 대해서 알아보자.

MLOps?

MLOps는 ML(Machine Learning), 운영(Operation)이 결합된 용어로 프로덕션 환경에서 ML 모델이 지속적이고 안정적으로 배포되도록 유지, 관리, 모니터링 하는 것.


MLOps의 구성

  • 모델을 만드는 과정
    • EDA 및 Data Preprocessing
    • ML 모델 학습 및 리뷰
  • 모델을 배포하는 과정
    • 모델 배포 및 모니터링
    • 자동 모델 재학습

MLOps의 조건

  • 지속적 통합(Continuous Integration, CI)
    코드의 변경 사항을 정기적으로 빌드 및 테스트하고, 공유 레포지토리에 통합.
  • 지속적 배포/제공(Continuous Deployment/Delivery, CD)
    Pipeline, 모델 등의 모델 예측 서비스를 자동으로 배포.
  • 지속적 학습(Continuous Training, CT)
    데이터가 업데이트되거나 새로 들어올 때마다 모델이 자동으로 학습 및 업데이트됩니다. 새로운 데이터를 통해 학습하므로 'Data & Model Validation'이 필수적.

MLOps의 장점

  • 효율성 - 시스템 개발과 운영을 통합하여, 개발 시간을 단축
  • 확장성 - 수천 개의 모델의 지속적인 관리와 배포가 가능
  • 안정성 - 투명성을 강화하고, 업계의 규정을 준수하는 데 도움

MLOps는 왜 필요한가?

AI 산업에서의 시스템은 단순하게 찍어내는 상품처럼 개발 후 배포가 끝이 아님.
지속적인 서비스 운영을 통해 안정적인 서비스 제공을 위해 노력해야한다.
이 과정에서 개발과 운영이 따로 진행된다면 데이터 사일로 등 비효율적이 문제가 발생. 배포 후의 AI모델을 유지보수하고 고도화 하는 것은 많은 리소스를 필요로 하기에, 효율적인 유지보수와 처리를 위해 MLOps가 등장.


DevOps?

DevOps는 개발(Development)과 운영(Operation) 결한된 용어이다. 개발과 운영의 경계를 허물고 각 팀이 협업하며 아이디어를 개발하고, 배포하는 개발 환경이나 도구를 의미.

MLOps DevOps의 차이

단순하게 봤을 때, 개발과 머신러닝을 비교한다면, 머신러닝은 개발이라는 큰 틀안에 한 부분이라고 할 수 있을 것이다. 즉, MLOps는 DevOps 방법론이 ML시스템에 적용된 것이다. 어찌보면 MLOps는 DevOps라는 큰 틀 안에 있는 system operation의 한 종류라고 볼 수 있다.


Reference

https://elice.io/newsroom/whats_mlops

profile
Choi-syoon

0개의 댓글