MLOps 란?
본문 바로가기

MLOps

MLOps 란?

Study Plan

Goal : MLOps 기초 이해

Site : https://mlops-for-mle.github.io/tutorial/

Date : 2024-02-05 부터 평일 11시~12시 1시간 자율학습

Contents

DevOps

MLOps는 DevOps라고 불리는 개발 방법론에서 파생된 단어

DevOps = Development + Operations : 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화

  • DevOps의 목적
    • 소프트웨어 개발 조직과 운영 조직간에 상호 의존적 대응을 하는 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것
    • 개발팀에서 개발한 기능이 정상적으로 배포될 수 있는지 확인하는 것
    • 조직 부서 간에 서로 협력하지 않고 내부 이익만을 추구하는 Silos Effect (사일로 현상)을 해결하는 것

MLOps

  • MLOps : Machine Learning Operations
    • 머신 러닝 모델을 프로덕션으로 전환하는 프로세스를 간소화하고, 이를 유지관리 및 모니터링 하는 머신 러닝 엔지니어링의 핵심 협업 기능
  • MLOps의 목표
    • ML+Ops 로 두 팀의 생산성 향상을 위함 
      • 0단계의 자동화
      • 모델 개발 환경과 모델 운영 환경을 일치
      • 개발한 모델이 정상적으로 배포될 수 있는지 테스트
    • ML->Ops로 머신러닝 팀에서 직접 운영을 할 수 있도록 도와주는 것

 

  • MLOps level 0 : everything is manual
  • MLOps level 1 : automated ML pipeline
  • MLOps level 2 : automated CI/CD system

 

 

 

CI ( Continuous Integration ) / CD ( Continuous Delivery )

애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법

개발팀과 운영팀의 장벽을 해제하기 위한 구체적인 방법으로, 

개발팀에서는 운영팀의 환경을 이해하고 개발팀에서 개발 중인 기능이 정상적으로 배포까지 이어질 수 있는지 확인하며

운영팀은 검증된 기능 또는 개선된 제품을 더 자주 배포해 고객의 제품 경험을 상승시킴

 

Docker

  • Docker 를 쓰는 이유
    • 머신러닝의 성능 재현은 머신러닝 모델을 다룰 때 가장 중요한 부분 중 하나입니다. 이를 위해서는 OS, 파이썬 버전, 패키지 버전, 코드, 가중치 등이 모델을 학습했을 때의 환경과 동일해야 합니다. 이런 동일한 환경을 제공하기 위해서 Containerization 은 머신러닝에서 중요한 기술 중 하나이며 이를 대표하는 소프트웨어가 바로 Docker 입니다. 

Index

  1. Database
  2. Mldel Development
  3. Model Registry
  4. Model Deployment
  5. FastAPI
  6. API Serving
  7. Kafka
  8. Stream

 

Reference

https://mlops-for-all.github.io/docs/introduction/intro

https://www.redhat.com/ko/topics/ai/what-is-mlops