Skip to content

The goal of this practice is Understanding of MLOps principles and best practices.

Notifications You must be signed in to change notification settings

Gracechung-sw/mlops-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mlops-practice

Reference By

아래 자료들로 학습하였습니다.

  1. Blogs about Deep Learning and NLP
  2. https://ml-ops.org/
  3. 개발자를 위한 MLOps : 추천 시스템 구축부터 최적화까지
  4. 머신러닝 서비스 구축을 위한 실전 MLOps

Here are more reads on my blog

  1. [Lecture] 머신러닝 엔지니어 실무 - ML Pipeline 이해
  2. [Github, CI/CD] Github Actions self hosted runner with own GPUs
  3. Machine Learning
  4. Deep Learning

Table of Contents

MLOps Pipeline

데이터 흐름, 모델 학습, 서빙, 모니터링 등의 전체적인 아키텍쳐.

위에서 아래로의 흐름으로 흘러가는 pipeline이라고 생각하고, 그 순서대로 적었습니다.

1. 학습 데이터 준비

데이터의 유형

  • 정형 데이터

    • 표 형태로 구조화된 데이터
    • 데이터베이스, CSV 파일 과 같은 데이터 소스에서 얻음
  • 비정형 데이터

    • 제한적인 구조를 가지지 않는 데이터
    • 텍스트, 오디오, 이미지, 비디오, 예를 들어 트위터의 트윗 역시 비정형 데이터임. (특정 구조를 따르지 않기 때문에)
  • 반정형 데이터

    • 구조적이지만 명확하게는 정의되지 않는 데이터
    • XML, JSON, HTML 등
  • 실시간 데이터

    • 이미 저장된 것이 아니라 실시간으로 데이터가 수집되고 분석해야 하는 데이터

    • 스트리밍 데이터

    • 금융 거래에서 주식 거래 및 금융 거래 데이터는 실시간으로 처리되어야 하며 시장 조건에 따라 신속한 결정을 내려하기 때문에 실시간 데이터이다.

    • IoT 데이터

    • IoT 센서 데이터에서 환경 데이터를 센싱해서 실시간으로 분석해서 환경 상태를 모니터링 해야 하는 경우, 이 환경 데이터는 실시간 데이터이다.

데이터 저장소

  • DBMS
    • 정형 데이터 를 효율적으로 저장, 관리, 검색하기에 용이
    • PostgreSQL, MySQL..
  • NoSQL Database
    • 반정형, 비정형 데이터를 저장하고 관리하기 용이
    • MongoDB, Cassandra, Redis...
  • Data Warehouse
  • Data Lake

Related Engineering:

2. Feature Engineering

데이터 품질 관리

  • 데이터 품질이란 데이터가 정확하고 신회할 수 있는지임
  • 데이터 프로파일링, 데이터 클리닝, 중복 제거, 이상치 감지 등 데이터 표준화 같은 기술과 도구를 사용해서 품질을 검사

데이터 보안

  • 데이터를 무단 엑세스, 변조, 유출 또는 파괴로부터 보호하는 것을 의미
  • 데이터 유출로 인한 법적 문제로 고려 필요

Related Engineering:

  • [Data Cleansing]
  • [Feature Selection]
  • [Feature Reduction]
  • [Data Augmentation]
  • [Data Scaling & Encoding]
  • Data Management

3. 모델 학습 및 최적화

Related Engineering:

4. 모델 평가

Related Engineering:

3-1. Model Validation

  • 학습 과정의 오류를 조기 진단.

3-2. Model Evaluation

  • 모델의 출력 분호 및 다양한 매트릭으로 정밀 분석

3-3. Behavior Testing

  • 서비스 UX 측면의 동작을 반영한 실제 시나리오 모델 결과를 테스트

5. 모델 offline(학습시키면서 내부적으로 확인하는) 모니터링

6. 모델 배포

7. 모델 online(실제 서비스가 나가있는 상태에서의) 모니터링

MLOps pipeline practice

  • Tools: Airflow, BentoML, GitLab CI/CD,

Quick Start

  1. make conda virtual evn
conda creat -n mlops-prac python=3.8

# To activate this environment, use
conda activate mlops-prac

# To deactivate an active environment, use
conda deactivate

About

The goal of this practice is Understanding of MLOps principles and best practices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published