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로 머신러닝 팀에서 직접 운영을 할 수 있도록 도와주는 것
- 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
- Database
- Mldel Development
- Model Registry
- Model Deployment
- FastAPI
- API Serving
- Kafka
- Stream
Reference
https://mlops-for-all.github.io/docs/introduction/intro
https://www.redhat.com/ko/topics/ai/what-is-mlops