이미지 출처는 링크 or 아이펠 교육 자료입니다.

1-1. 학습개요 및 학습목표


학습 목차

  • MLOps 소개
  • 도커 활용
  • GCP 소개
  • Airflow 소개
  • 파이프라인

안내

  • 코드 : Google Colab, GitHub에 있음
  • GCP, Google Colab이 사용되니 미리 준비될 것
  • 강의 이후 질문 : sniper45han@gmail.com


1-2. 머신러닝 및 MLOps 소개


MLOps 소개

  • 순서
    • 머신러닝 역사 : AI/ML, ML 엔지니어링, MLOps까지의 발전 배경
    • MLOps 개요 : MLOps의 개념, 생태계 알아보기
    • MLOps 기술들 : MLOps 세부 구현 및 기술 알아보기
    • 전망

머신러닝

  • 알파고
    • 1900년대부터 머신러닝은 이미 유의미한 결과들을 내고 있었음
    • AI/ML이 전통적으로 풀지 못하던 문제들을 풀기 시작했음
    • AI/ML은 고성능 컴퓨터를 필요로 하며, 다양한 엔지니어링 기술이 필요함

딥러닝

  • 뉴런의 동작을 모사해서 만들어짐

  • 퍼셉트론

    • 입력, 출력을 뉴런과 비슷하게 가짐
    • 출력 과정에서 가중치와 bias(편향), 활성 함수
    • 신호가 적절하게 각각의 뉴런이 가지고 있는 특성 혹은 패턴에 맞게 적절히 가공되고 변경되어 ➡️ 각 뉴런이 가진 특성이 반영된 신호를 다음 뉴런에 전달
  • 뇌과학 분야

    • 아직까지 명확하게 결정된 형태의 처리 형태를 분석하지 못한 분야이기 때문에 알고리즘을 완전히 반영하지는 않았음
    • 그럼에도 딥러닝을 통해 데이터를 학습시키면 실세계에서의 적용이 잘 되고 있는 상태(잘 모사할 수 있다는 장점이 있는 것)

  • fully connected layer(심층 신경망)
    • Hidden Layer가 많아질수록, 인간과 비슷한 형태의 모사가 가능할 것

  • Convolutinal Neural Network
    • 고양이의 공통적인 측면을 바탕으로 알고리즘을 구성할 수는 있겠지만, 예외 사항(예외적인 품종의 형태 등)을 모두 일일이 반영하기란 쉽지 않음
    • 이러한 문제를 이미지 픽셀의 가장자리를 찾고, 그 특성을 면밀하게 분석하여 예외를 반영하더라도 아주 복잡한 문제가 될 수 있음
    • 딥러닝은 새로운 데이터를 잘 넣어주면, 데이터에 맞게 적절한 예측을 하는 데에 조금 더 유리하기 때문에 기존의 문제를 일부 개선할 수 있음
      • 패턴을 자동적으로 찾기 때문임

  • Transformer Multi-head attention

MLOps로의 발전

  1. ML/DL이 해결해주는 무제
  2. ML/DL의 비즈니스 도입 가능성
  3. 도입 비용 및 시간의 절약 필요

    MLOps : ML 및 DL을 비즈니스에 도입하는 데에 발생하는 비효율성 개선을 위해 생겨난 아이디어


MLOps의 순서

  • 단계 : Early Stage > PoC > 제품 적용 > 자동화(유지보수 및 관리)
  • Study > MLE > MLE / Research > MLOps

MLOps의 교집합


AI 서비스 개발 과정에서의 고민

  • 어떠한 데이터를 어떻게 학습시킬지 여부 : 모델 학습 ,데이터 전처리
  • 모델 추론을 빠르게 할 수 있는지 : Quantization Pruning
  • 학습 과정의 자동화 : Continuous Training Pipeline
  • 모델의 배포 가능 여부: EDA, 모델 평가, 데이터 드리프트
  • 사용자가 급격하게 늘어날 경우의 대응책 : HPA(Horizontal Pod Autoscaler)
  • 서비스 데이터의 활용 방법 : Data Pipeline, Feature Engineering


1-3. MLOps 생태계


생태계 분류

Hugging Face

  • 모델 저장, 데이터 서치 등에 사용
  • TRL
  • Datasets
  • Tokenizers

Google Cloud

  • Google BigQuery
  • Tensorflow
  • JAX
  • Kubernetes
  • Vertex AI

databricks

  • Delta Lake
  • mlflow
  • spark
  • redash
  • masaicML

open source

  • RAY
    • 하이퍼파라미터 튜닝 등의 동시 작업 진행 시 자원 관리에 유리
  • PyTorch
  • Kubeflow
  • Airflow
  • argo
  • Tenserflow

카테고리별 분류

분류1

  • 머신러닝 프레임워크
    • PyTorch
    • TensorFlow
    • JAX
    • Keras

  • 학습 컴퓨팅
    • Vertex AI
    • Amazon SageMaker
    • Kubeflow
    • kubernetes

  • 모델 성능 평가
    • W&B
    • TensorBoard
    • Kubflow
    • mlflow

파이프라인

  • argo
  • Vertex AI
  • Kubeflow
  • databricks

분류2

  • 서빙 프레임워크
    • PyTorch
    • Tensorflow
    • NVIDIA
    • BENTOML

  • 서빙 컴퓨팅
    • Vertex AI
    • Amazon SageMaker
    • KServe
    • Kubernates

  • 온라인 모니터링
    • Vertex AI
    • Amazon Cloudwatch
    • DATADOG
    • Prometheus

  • 모델 레지스트리
    • Vertex AI
    • Amazon SageMaker
    • mlflow
    • Hugging Face

분류3

  • 데이터 웨어하우스
    • Google BigQuery
    • databricks
    • snowflake
    • amazon REDSHIFT

  • 데이터 레이크
    • databricks
    • Spark
    • hadoop
    • BigLake

  • 데이터 파이프라인
    • Airflow
    • Google Workflows
    • databricks
    • dbt

  • 피쳐스토어
    • Vertax AI
    • Amazon SageMaker
    • databricks
    • FEAST

분류4

  • AutoML
    • Vertax AI
    • Amazon SageZMaker
    • databricks
    • DataRobot

  • 하이퍼파라미터 튜닝
    • RAY
    • Katib
    • OPTUNA
    • hyperopt

  • 모델 경량화
    • PyTorch
    • TensorFlow
    • JAX
    • Hugging Face

  • 런타임 최적화
    • ONNX
    • NVIDIA
    • TensorFlow Lite
    • Hugging Face

강의에서의 주요 컴포넌트

데이터 웨어하우스

  • BigQuery

데이터 프로세싱

  • Pandas

머신러닝 프레임워크

  • PyTorch

ML 파이프라인

  • VertexAI

서빙 프레임워크

  • BentoML

CI/CD

  • GitHub Actions

컨테이너

  • Docker


1-4. MLOps 구현과 구현 수준


Backend와 DevOps의 관계

  • Backend Engineer

    • 주요 타겟 : 제품 사용자
    • 관심사 : 제품 개발 및 기능 개선
    • "어떻게 하면 제품과 서비스 기능을 더 강화하고 사용자가 원하는 것을 제공할까?"
  • DevOps Engineer

    • 주요 타겟 : 개발자
    • 관심사 : 개발 효율화 및 자동화
    • "어떻게 하면 개발자들이 더욱 효율적으로 일할 수 있을까?"

ML Engineering과 MLOps의 관계

  • Machine Learning Engineer

    • 주요 타겟 : 제품 사용자
    • 관심사 : 제품 개발 및 기능 개선
    • "어떻게 하면 ML 제품과 서비스 기능을 더 강화하고, 사용자가 원하는 것을 제고할까?"
  • MLOps Engineer

    • 주요 타겟 : ML 엔지니어
    • 관심사 : 모델 실험/개발 효율화와 자동화
    • "어떻게 하면 연구자오 ML 엔지니어들이 더욱 효과적으로 일할 수 있을까?"

MLOps에서 다루는 것

  • 데이터 엔지니어링 

    • 데이터 취득
    • 데이터 검증
    • 피쳐 추출
  • 머신러닝 엔지니어링

    • 머신러닝 자원 관리
    • 머신러닝 코드
    • 파이프라인 관리
    • 분석 도구들
  • DevOps

    • 서비스 인프라
    • 모니터링
    • 설정/구성

MLOps 범위


1. MLOps Engineering

  • 전반적인 프로세스(모델 학습, 평가, 배포, 운영)를 효율화 및 자동화해 안정적 환경 및 관리 practice 마련
  1. ML Engineering
  • 모델 학습, 평가 및 모델 서비스를 위한 서빙, 모니터링, 서비스를 안정적으로 관리하는 역할
  1. ML Modeling
  • 주어진 데이터 및 모델 아키텍쳐 후보군 ➡️ 모델 학습, 평가 진행

Google MLOps 구현 수준

  • Level 0. 수동 프로세스

    • 수동 스크립트 기반 프로세스 & 간헐적으로 출시
    • CI/CD 파이프라인 부재 & 성능 모니터링 부족
  • Level 1. ML 파이프라인

    • 파이프라인을 이용한 배포 ➡️ 프로세스의 모듈화, 지속적 모델 배포, 성능 모니터링 기반 트리거 관리
  • Level 2. 파이프라인 자동화

    • 파이프라인을 이용해 자동화
    • 모델 코드 유닛 테스트 커버리지 확보

MLOps Level1


강의에서 다루는 부분


MLOps 전망

  • 2022년 이후, 급격히 성장하고 있는 분야(Google Trends: 2024-present of the topic "MLOps")


1-5. MLOps의 트렌드와 전망


머신러닝 엔지니어링, MLOps의 트렌드 변화

  • 머신러닝 엔지니어링은 지속적으로 주목받고, 연구되고 있음
  • MLOps ➡️ 2022년 상반기를 기점으로 머신러닝 엔지니어링보다도 더 많은 수요가 발생함!

MLOps 시장 규모

profile
언젠가 내 코드로 세상에 기여할 수 있도록, Data Science&BE 개발 기록 노트☘️

0개의 댓글

관련 채용 정보