[부스트캠프 AI Tech 5기] MLOps 개론

박상우·2023년 4월 25일
0

부스트캠프

목록 보기
45/53
post-thumbnail

MLOps

MLOps 개론

  • 무언가를 예측하는 것은 재미있고 흥미로운 일!

모델 개발 프로세스 - Research

  • 웹 서비스나, 앱 서비스에 사용할 수 있도록 배포해야 함

모델 개발 프로세스 - Production

  • 모델이 배포되었다고 가정
  • 모델의 결과값이 이상한 경우가 존재
    - 원인 파악 필요
    • Input data가 이상한 경우
    • Research 때와 달리 따로 Control 할 수 없음
  • 모델의 성능이 계속 변경
    - 모델의 성능은 어떻게 확인할까?
    • 예측 값과 실제 레이블을 파악 해야 함
  • 새로운 모델이 더 안좋다면?
    - 그 모델을 다시 사용
    • Research 단계에서 성능이 좋았던 모델이 Production 환경에서는 좋지 않을 수도
    • 이전 모델을 사용하기 위한 작업 필요
  • 그 외에도 다양한 Issue 가 존재

MLOps란?

  • 머신러닝 모델링 코드는 시스템 중 일부에 불과
  • ML + Ops
  • 머신러닝 모델을 운영하며 반복적으로 필요한 업무를 자동화하는 과정
  • 머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라
  • 머신러닝 모델 개발과 머신러닝 모델 운영에서 사용되는 문제, 반복을 최소화 하고 비즈니스 가치를 창출하는 것이 목표
  • 모델링에 집중할 수 있도록 관련 인프라를 만들고 자동으로 운영되도록 하는 일
  • 현실은 아무것도 예상할 수 없음 (모델이 잘 버틸 수 있게 하자)

  • 현재는 춘추 전국 시대! 라이브러리가 매우 다양
  • 방법론에 대해 더 집중하자

Trend

  • MLOps 학습 방법은 모든 것을 학습, 각 Component 별로 학습 할 수 있음
  • 전자는 생태계가 계속 발전해서 현실적으로 불가능, 후자를 추천

MLOps Component

  • 타코를 만들어보자

  • 음식은 모델, 식재료는 data, 요리하는 행위는 training이라고 할 수 있음
  • 장소 선정시에 고려
    • 가게의 평수 (CPU, Memory 성능)
    • 점포 확장 ( 스케일 업, 아웃 가능?)
    • 직접 장소를 구입? 월세? (자체 서버 구축 or 클라우드)
    • 유동 인구 (트래픽)

Infra

  • 상황에 맞게 사용

Serving

Batch Serving

  • 정기 배송 처럼 많은 양(데이터)를 일정 주기로 한꺼번에 서빙(예측)
  • Jupyter Notebook에서 실행하는 방식은 대부분 Batch Serving으로 쉽게 변경 가능 (DF의 데이터를 한번에 예측)

Online Serving

  • 실시간으로 전달 (병목이 없어야 하고, 확장 가능해야 함)
  • 다음 시간에 서빙은 자세하게 다룰 예정

Experiment, Model Management

  • 집에서는 어떤 레시피가 좋은지 알 수 있음 (파라미터와 모델 구조)
  • 모델의 생성일, 성능, 메타 정보 등을 기록해 놓을 수 있음
  • 여러 모델을 사용할 수 있음

mlflow

  • Auto logging으로 학습 결과가 기록 됨
  • 팀 프로젝트 공용 MLflow 서버 등을 통해 협업에서도 유용
  • 뒤에서 다룰 예정

Feature Store

  • feature 전처리를 쉽게 해주는 도구

feast

  • feature store 관련 라이브러리
  • 아직은 대부분 직접 개발하여 사용하는 분위기

Data Validation

  • research와 production의 data 분포가 유사해야 함
  • 지속적으로 업데이트 해줘야 겠죠
  • 아직은 라이브러리보다 직접 개발하여 사용

Continous Training

  • 다시 요리하는 경우
    • 신선한 재료 도착 (새로운 데이터 도착)
    • 일정 기간
    • 갑자기 매출이 줄어든 경우 (metric 기반)
    • 요청시
  • 라이브러리가 따로 존재하지는 않음 (devops 라이브러리 등 사용)

Monitoring

  • 모델의 지표, 인프라 성능 지표를 잘 기록해야 함
  • 모델의 지향성을 볼 수 있음

AutoML

  • 시대가 좋아져 자동으로 음식을 만들 수 있음
profile
세상아 덤벼라

0개의 댓글