지극히 주관적인 MLOps
용어의 유래
MLOps : Machine Learning + DevOps
머신러닝 개발 + 머신러닝 시스템 운영, 머신러닝 엔지니어링 문화(방식)
기존의 DevOps 방식의 운영으로 머신러닝 시스템 운영에 한계가 있어
생겨난 '운영방식이나 문화' 일컫는 일종의 신조어, 신개념
목적
- 데이터 과학자가 손쉽게 자신의 머신러닝과 관련된 아이디어를 모델로 구현하고,
서비스까지 제공할 수 있어야 한다.
- 데이터 과학자와 일반적인 소프트웨어 엔지니어 ML 엔지니어 들과의 원활한 협업
주요 개념
- CI(Continuous Integration) : 코드 통합, 데이터와 모델 검증과 테스트
- CD(Continuous Delivery | Deploy) : 소프트웨어 패키징 + 모델 예측서비스 배포
- CT(Continuous Training ) : ML 모델의 꾸준한 재학습을 통한 성능향상
MLOps 시스템 구현을 위한 기술 스택
- 모델링 -> torch, tf
- 인프라와 클러스터 -> Linux, Kubernetes, Docker
- 데이터셋 관리 -> Object Storage, DB (Mongo, SQL ..etc)
- MLOps 플랫폼 백엔드 -> python, golang 기반의 REST API 구성
- MLOps 플랫폼 프론트엔드 -> React & vanillaJS
- 시스템 운영 -> gitlab ci, Harbor