Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DevOpsRunbook/ha-mlops-pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

πŸš€ MLOps νŒŒμ΄ν”„λΌμΈ κ΅¬ν˜„

ν˜„λŒ€μ˜€ν† μ—λ²„ - 3일 24μ‹œκ°„ MLOps μ‹€μŠ΅ 자료


⚠️ 필독: 사전 ν™˜κ²½ μ„€μ •

πŸ”΄ ꡐ윑 μ‹œμž‘ μ „ λ°˜λ“œμ‹œ ν™˜κ²½ 섀정을 μ™„λ£Œν•΄μ£Όμ„Έμš”!

ꡐ윑 λ‹ΉμΌμ—λŠ” ν™˜κ²½ 섀정을 μœ„ν•œ λ³„λ„μ˜ μ‹œκ°„μ΄ μ œκ³΅λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
섀정이 μ™„λ£Œλ˜μ§€ μ•ŠμœΌλ©΄ μ‹€μŠ΅ μ°Έμ—¬κ°€ μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“‹ μš΄μ˜μ²΄μ œλ³„ μ„€μ • κ°€μ΄λ“œ

운영체제 μ„€μ • κ°€μ΄λ“œ μ˜ˆμƒ μ†Œμš”μ‹œκ°„
macOS πŸ“– SETUP_MACOS.md 30~45λΆ„
Windows πŸ“– SETUP_WINDOWS.md 45~60λΆ„

βœ… 사전 μ„€μ • 체크리슀트

λ‹€μŒ ν•­λͺ©μ΄ λͺ¨λ‘ μ™„λ£Œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€:

  • Docker Desktop μ„€μΉ˜ 및 μ‹€ν–‰ 확인
  • AWS CLI v2 μ„€μΉ˜ (aws --version)
  • kubectl μ„€μΉ˜ (kubectl version --client)
  • Python 3.9+ μ„€μΉ˜ (python3 --version)
  • Git μ„€μΉ˜ (git --version)
  • ν•„μˆ˜ Python νŒ¨ν‚€μ§€ μ„€μΉ˜ (kfp, mlflow, scikit-learn, onnxruntime)

πŸ” λΉ λ₯Έ 확인 λͺ…λ Ήμ–΄

# λͺ¨λ“  도ꡬ 버전 확인
aws --version && kubectl version --client && docker --version && python3 --version && git --version
# Python νŒ¨ν‚€μ§€ 확인
python3 -c "import kfp, mlflow, sklearn, onnxruntime; print('βœ… λͺ¨λ“  νŒ¨ν‚€μ§€ μ„€μΉ˜ μ™„λ£Œ')"

πŸ“‹ ꡐ윑 κ°œμš”

ν•­λͺ© λ‚΄μš©
ꡐ윑λͺ… MLOps νŒŒμ΄ν”„λΌμΈ κ΅¬ν˜„
κΈ°κ°„ 3일 (24μ‹œκ°„)
λŒ€μƒ λ°μ΄ν„°μ‚¬μ΄μ–Έν‹°μŠ€νŠΈ & λ°μ΄ν„°μ—”μ§€λ‹ˆμ–΄ 15λͺ…
ν™˜κ²½ AWS EKS + Kubeflow + MLflow + KServe

🎯 ν•™μŠ΅ λͺ©ν‘œ

  • Kubeflow Pipelinesλ₯Ό ν™œμš©ν•œ ML μ›Œν¬ν”Œλ‘œμš° μžλ™ν™”
  • MLflowλ₯Ό ν†΅ν•œ μ‹€ν—˜ 좔적 및 λͺ¨λΈ 버전 관리
  • KServeλ₯Ό μ‚¬μš©ν•œ ν”„λ‘œλ•μ…˜ λͺ¨λΈ μ„œλΉ™
  • λͺ¨λ‹ˆν„°λ§ & μž¬ν•™μŠ΅ νŒŒμ΄ν”„λΌμΈ ꡬ좕
  • λͺ¨λΈ μ΅œμ ν™” (ONNX, Quantization) 기법 적용

πŸ“… ꡐ윑 일정

κ°•μ˜ μ‹œκ°„

ꡬ뢄 μ‹œκ°„ λΉ„κ³ 
μ˜€μ „ κ°•μ˜ 09:00 ~ 11:30 μ‰¬λŠ”μ‹œκ°„: 10:20~10:30
μ μ‹¬μ‹œκ°„ 11:30 ~ 13:00
μ˜€ν›„ κ°•μ˜ 13:00 ~ 17:30 μ‰¬λŠ”μ‹œκ°„: λ§€ μ‹œκ°„ 20λΆ„~30λΆ„

3일 컀리큘럼

Day 1: MLOps 기초 & Kubeflow νŒŒμ΄ν”„λΌμΈ

μ‹œκ°„ λ‚΄μš© Lab
09:00-11:30 MLOps κ°œμš”, AWS EKS ν™˜κ²½ ꡬ좕 Lab 1-1
13:00-15:30 Kubeflow λŒ€μ‹œλ³΄λ“œ, Hello Pipeline Lab 1-2
15:30-17:30 Batch 데이터 νŒŒμ΄ν”„λΌμΈ Lab 1-3

Day 2: λͺ¨λΈ μ„œλΉ™ & MLflow

μ‹œκ°„ λ‚΄μš© Lab
09:00-11:30 FastAPI λͺ¨λΈ μ„œλΉ™, μ»¨ν…Œμ΄λ„ˆν™” Lab 2-1
13:00-15:30 MLflow Tracking & Registry Lab 2-2
15:30-17:30 KServe 배포, Canary 배포 Lab 2-3

Day 3: λͺ¨λ‹ˆν„°λ§ & ν”„λ‘œμ νŠΈ

μ‹œκ°„ λ‚΄μš© Lab
09:00-11:30 Drift Detection, μžλ™ μž¬ν•™μŠ΅ Lab 3-1
13:00-15:00 E2E Pipeline, λͺ¨λΈ μ΅œμ ν™” Lab 3-2, Lab 3-3
15:00-17:30 νŒ€ ν”„λ‘œμ νŠΈ & λ°œν‘œ Project

πŸ“ Repository ꡬ쑰

ha-mlops-pipeline/
β”œβ”€β”€ README.md # πŸ“Œ 이 파일 (메인 κ°€μ΄λ“œ)
β”œβ”€β”€ docs/ # πŸ“š λ¬Έμ„œ
β”‚ β”œβ”€β”€ SETUP_MACOS.md # 🍎 macOS ν™˜κ²½ μ„€μ •
β”‚ β”œβ”€β”€ SETUP_WINDOWS.md # πŸͺŸ Windows ν™˜κ²½ μ„€μ •
β”‚ └── TROUBLESHOOTING.md # πŸ”§ νŠΈλŸ¬λΈ”μŠˆνŒ… κ°€μ΄λ“œ
β”‚
β”œβ”€β”€ day1/ # πŸ“… 1일차 μ‹€μŠ΅
β”‚ β”œβ”€β”€ lab1-1_mlops-environment-setup/
β”‚ β”œβ”€β”€ lab1-2_hello-pipeline/
β”‚ └── lab1-3_batch-pipeline/
β”‚
β”œβ”€β”€ day2/ # πŸ“… 2일차 μ‹€μŠ΅
β”‚ β”œβ”€β”€ lab2-1_fastapi-serving/
β”‚ β”œβ”€β”€ lab2-2_mlflow-tracking/
β”‚ └── lab2-3_kserve-deployment/
β”‚
β”œβ”€β”€ day3/ # πŸ“… 3일차 μ‹€μŠ΅
 β”œβ”€β”€ lab3-1_drift-monitoring/
 β”œβ”€β”€ lab3-2_e2e-pipeline/
 β”œβ”€β”€ lab3-3_model-optimization/ # πŸ†• ONNX & Quantization
 └── project/ # νŒ€ ν”„λ‘œμ νŠΈ

πŸš€ μ‹œμž‘ν•˜κΈ°

1. Repository 클둠

git clone https://github.com/fastcampusdevmlops/ha-mlops-pipeline.git
cd ha-mlops-pipeline

2. ν™˜κ²½ λ³€μˆ˜ μ„€μ •

# ⚠️ 본인의 μ‚¬μš©μž 번호둜 λ³€κ²½ν•˜μ„Έμš”!
export USER_NUM="01" # 예: 01, 02, ..., 15, 20
# μžλ™ μ„€μ •λ˜λŠ” ν™˜κ²½ λ³€μˆ˜
export NAMESPACE="kubeflow-user${USER_NUM}"
export S3_BUCKET="mlops-training-user${USER_NUM}"
export ECR_IRIS_API_REPO="mlops-training/user${USER_NUM}"
# 확인
echo "λ„€μž„μŠ€νŽ˜μ΄μŠ€: ${NAMESPACE}"
echo "S3 버킷: ${S3_BUCKET}"

3. AWS 자격 증λͺ… μ„€μ •

aws configure
# AWS Access Key ID: [제곡된 Access Key]
# AWS Secret Access Key: [제곡된 Secret Key]
# Default region name: ap-northeast-2
# Default output format: json

4. EKS ν΄λŸ¬μŠ€ν„° μ—°κ²°

aws eks update-kubeconfig \
 --region ap-northeast-2 \
 --name mlops-training-cluster
# μ—°κ²° 확인
kubectl get nodes

5. Kubeflow 접속

# 포트 ν¬μ›Œλ”©
kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
# λΈŒλΌμš°μ €μ—μ„œ 접속
# http://localhost:8080

πŸ“š μ‹€μŠ΅ κ°€μ΄λ“œ

Day 1 Labs

Lab 제λͺ© μ‹œκ°„ λ‚œμ΄λ„
Lab 1-1 MLOps ν™˜κ²½ ꡬ좕 65λΆ„ ⭐⭐
Lab 1-2 Hello World Pipeline 60λΆ„ ⭐⭐
Lab 1-3 Batch 데이터 νŒŒμ΄ν”„λΌμΈ 90λΆ„ ⭐⭐⭐

Day 2 Labs

Lab 제λͺ© μ‹œκ°„ λ‚œμ΄λ„
Lab 2-1 FastAPI λͺ¨λΈ μ„œλΉ™ 90λΆ„ ⭐⭐⭐
Lab 2-2 MLflow Tracking & Registry 80λΆ„ ⭐⭐⭐
Lab 2-3 KServe 배포 80λΆ„ ⭐⭐⭐⭐

Day 3 Labs

Lab 제λͺ© μ‹œκ°„ λ‚œμ΄λ„
Lab 3-1 Drift Monitoring & Auto-Retraining 90λΆ„ ⭐⭐⭐
Lab 3-2 E2E MLOps Pipeline 80λΆ„ ⭐⭐⭐⭐
Lab 3-3 Model Optimization (ONNX & Quantization) 40λΆ„ ⭐⭐⭐

Day 3 ν”„λ‘œμ νŠΈ

ν•­λͺ© λ‚΄μš©
Project νŒ€λ³„ E2E νŒŒμ΄ν”„λΌμΈ ꡬ좕
μ‹œκ°„ 15:00 ~ 17:30 (2μ‹œκ°„ 30λΆ„)
ꡬ성 5개 νŒ€ ×ば぀ 3λͺ…
λ°œν‘œ νŒ€λ³„ 15λΆ„ λ°œν‘œ + Q&A

πŸ› οΈ 기술 μŠ€νƒ

ν”Œλž«νΌ & 인프라

기술 버전 μš©λ„
AWS EKS 1.28+ Kubernetes ν΄λŸ¬μŠ€ν„°
Kubeflow 1.8+ ML νŒŒμ΄ν”„λΌμΈ ν”Œλž«νΌ
MLflow 2.9+ μ‹€ν—˜ 좔적 & λͺ¨λΈ λ ˆμ§€μŠ€νŠΈλ¦¬
KServe 0.11+ λͺ¨λΈ μ„œλΉ™
Istio 1.17+ μ„œλΉ„μŠ€ λ©”μ‹œ

μŠ€ν† λ¦¬μ§€

기술 μš©λ„
AWS S3 데이터 & μ•„ν‹°νŒ©νŠΈ μ €μž₯
AWS ECR μ»¨ν…Œμ΄λ„ˆ 이미지 λ ˆμ§€μŠ€νŠΈλ¦¬
PostgreSQL MLflow 메타데이터
MinIO 였브젝트 μŠ€ν† λ¦¬μ§€ (둜컬)

개발 도ꡬ

기술 μš©λ„
Python 3.9+ ML 개발
KFP SDK νŒŒμ΄ν”„λΌμΈ μ •μ˜
scikit-learn ML λͺ¨λΈλ§
ONNX Runtime λͺ¨λΈ μ΅œμ ν™”

πŸ“ž 지원

ꡐ윑 쀑 문제 λ°œμƒ μ‹œ

  1. πŸ“– νŠΈλŸ¬λΈ”μŠˆνŒ… κ°€μ΄λ“œ 확인
  2. πŸ™‹ κ°•μ‚¬μ—κ²Œ 질문
  3. πŸ’¬ μ˜† μˆ˜κ°•μƒκ³Ό ν˜‘λ ₯

πŸ“ μ°Έκ³  자료

곡식 λ¬Έμ„œ

μΆ”κ°€ ν•™μŠ΅


Β© 2025 ν˜„λŒ€μ˜€ν† μ—λ²„ MLOps Training

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Jupyter Notebook 48.2%
  • Python 34.4%
  • Shell 17.1%
  • Dockerfile 0.3%

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /