MLOps 란?
ML + Operations
머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정
머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라
머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(Ops)에서 사용되는 문제, 반복을 최소화하고
비즈니스 가치를 창출하는 것이 목표
Research ML 과 Production ML 은 데이터, 도전과제, 목적 등에 차이가 있음
MLOps Component : 논문
Infra(서버, GPU), Serving, Experiment, Model Management,(MLflow), Feature Store(Feast), Data Visulization(TFDV-Tensorflow Data Validation), Continuous Training, Monitoring, AutoML
Special Mission
Online Serving(실시간), Batch Serving(일정 주기별로), Edge Serving (IoT, mobile 등에서 사용)
Web Server
HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트를 전송해주는 서비스 프로그램
요청(Request)을 받으면 요청한 내용을 보내주는(Response) 프로그램
API
운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
특정 서비스에서 기능을 사용할 수 있도록 외부에 노출 : 기상청 API 등
Online Serving
요청이 올때마다 실시간으로 예측
기계고장 예측 모델 , 음식 배달 소요시간 예측
Batch Serving
Workflow Scheduler 에서 주기적으로 학습,예측
관련 라이브러리는 따로 존재 x
Airflow, Cron job 으로 스케쥴링 작업
추천 시스템, 재고 및 입고 최적화
장단점
Jupyter Notebook에 작성한 코드를 함수화한 후, 주기적으로 실행하는 간단한 구조!
Online Serving보다 구현이 수월하며, 간단함
한번에 많은 데이터를 처리하므로 Latency가 문제되지 않음
실시간으로 활용할 수 없음
Cold Start 문제 : 오늘 새로 생긴 컨텐츠는 추천할 수 없음
Workflow Scheduler
Airflow, Cron job, awesome-workflow-engines github
Special Mission
문제정의
현상파악
구체적인 목적/문제 정의
문제를 쪼개서 차악하기, 간단한 방법(Rule Base)부터 생각해보기, 데이터로 해결할 수 있는 방법 고민
프로젝트 설계
문제 정의 - 최적화할 Metric 설계 - 데이터 수집/레이블 확인 - 모델 개발 - 모델 예측 결과를 토대로 Error Anaysis, 잘못된 예측이 왜 생기는지 확인
다시 모델 학습 - 더 많은 데이터 수집 - 다시 모델 학습 - 2달 전 데이터에는 성능이 좋지만 최근 데이터에는 성능이 안좋음 - 다시 학습 - 배포 - Metric 잘 동작 안함 - 다시 처음부터 시작
의 경우가 있으니 문제정의와 프로젝트 설계를 구체적으로 하기
지표 결정
Action(모델 개발 후 배포 & 모니터링)
추가 원인 분석
비즈니스 모델
회사는 비즈니스 모델을 만들고, 비즈니스 모델을 통해 매출이 발생함
해당 비즈니스 모델에서 어떤 데이터가 존재하고 그 데이터를 기반으로 어떤 것을 만들 수 있을지 생각
Special Mission
부스트캠프 AI Tech 혹은 개인 프로젝트를 앞선 방식으로 정리해보기
실제로 회사에서 한 일이 아니더라도, 특정 회사에서 활용했다고 가정하거나 아예 크게
문제 정의해서 구체화해보기
이 모델이 회사에서 활용되었다면 어떤 임팩트를 낼 수 있었을까? 고민해서 정리해보기!
직접 일상의 문제라도 하나씩 정의하기
.
최종 프로젝트 관련 논의
면접준비, 강의 수강, 최종 프로젝트 설계