Skip to content

Latest commit

 

History

History
161 lines (103 loc) · 5.35 KB

README.md

File metadata and controls

161 lines (103 loc) · 5.35 KB

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