반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ML Ops
- 머신러닝
- bigquery
- Level 2
- docker
- SQLD
- CS224W
- 코딩테스트
- gnn
- 언어모델
- 데이터분석준전문가
- 프레임워크
- nlp
- LLM
- 통계방법론
- 자연어처리
- 데이터분석전문가
- SQL
- ADsP
- RNN
- MYSQL
- MLOps
- Kubernetes
- 통계학입문
- 프로그래머스
- Ai
- 포아송분포
- 인공지능
- level 1
- SQLP
Archives
- Today
- Total
코드 깎는 PM
MLOps Series #6 - Kubeflow (쿠버네티스 ML Ops 플랫폼) 본문
반응형
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
링크: "https://link.coupang.com/a/bqfD0v
MLOps 도입 가이드:기업에서 머신러닝 모델을 가장 효율적으로 운영하는 방법
COUPANG
www.coupang.com
Kubeflow
1) Kubeflow란?
Kubeflow는 Kubernetes 환경에서
ML stack을 효과적으로 배포하고 관리하기 위한 오픈소스 프로젝트이다.
2) Kubeflow의 구성 요소
Kubeflow는 각각의 마이크로 서비스(MSA)에 접근할 수 있는 통합 서비스로 여러 세부 기능/서비스를 제공한다. 그리고 각각의 서비스들은 크게 1) Experimental phase를 관리하는 서비스들, 2) Production phase를 관리하는 서비스들로 나뉜다.
(1) Experimental phase (실험 단계)
- Identify problem and collect & analyse data (문제를 정의하고 데이터를 수집/분석한다)
- Choose an ML algorithm and code your model (ML 알고리즘을 선택하고 코딩한다)
- Pytorch / Scikit-learn / Tensorflow / XGBoost
- Experimet with data and model training (Data를 통해 실험을 진행하고, 모델을 학습시킨다)
- Jupyter Notebook / Fairing / Pipelines
- Tune the model hyperparameters (하이퍼파라미터를 튜닝한다)
- Katib
- Iterate tuning and training (튜닝과 학습단계를 반복한다)
(2) Production phase
- Transform data (데이터 전처리)
- Train model (모델 학습)
- Chainer / MPI / MXNet / Pytorch / TFJob
- Serve the model for online/batch prediction (모델 실시간/배치 학습)
- KFServing / Nvidia TensorRT / Pytorch / TFServing / Seldon
- Monitor the model's performance (모델 성능 모니터링)
- Metadata / TensorBoard
- Iterate tuning and training (튜닝, 학습 반복)
3) Kubeflow Pipeline (KFP)
- Pipeline이란
- 머신러닝의 workflow를 DAG(Directed Acyclic Graph: 방향순환이 없는 그래프)형태로 정의한 것
- KFP에서는 Kubeflow에서 배포한 후 실행할 시 Pipeline을 구성하는 각각의 Component들이 Kubernetes위에서 pod 단위로 생성되어 데이터를 교환해가며 실행된다(흘러간다).
- 즉, Model Serving에 필요한 모든 작업을 재사용 가능한 단위(component)로 나누고 쿠버네티스 상에서 연결하여 실행하는 역할을 한다.
- Pipeline의 목표
- End-to-End Orchestration
- 모델 연구부터 학습, 모델 서빙 및 프로덕트 배포까지의 과정에 괴리가 없게 한다.
- Easy Experiment
- 다양한 Configuration을 통해 여러번의 시도를 쉽게 한다.
- Easy Re-Use
- KFP를 통해 설계된 컴포넌트들은 재사용 가능하기 때문에 새로운 pipeline을 만들 때 작업 효율이 향상된다.
- End-to-End Orchestration
- Pipeline 작동 방식
- Build (작성)
- python 코드를 작성한 후 Compile하여 Yaml 파일로 변환
- Run (실행)
- UI (User Interface)
- CLI (Command-line Interface)
- Rest API (Representational State Transfer)
- Python SDK
- Build (작성)
- KFP Overview
Reference:
https://www.kubeflow.org/docs/components/pipelines/v1/introduction/
반응형
'ML Ops > ML Ops Basic' 카테고리의 다른 글
MLOps Series #8 - Github Actions 기반 CI/CD (0) | 2023.02.12 |
---|---|
MLOps Series #7 - Katib (AutoML Platform) (0) | 2023.01.28 |
MLOps Series #5 - Model Monitoring (모델 모니터링) (0) | 2023.01.28 |
MLOps Series #4 - Model Serving (모델 서빙) (0) | 2023.01.28 |
MLOps Series #3 - mlflow (0) | 2023.01.22 |
Comments