본문 바로가기
[GPUaaS]/Kubeflow

[Kubeflow] 머신러닝 - “학습부터 서비스까지” 자동으로 돌리게 해주는 플랫폼

by METAVERSE STORY 2026. 2. 2.
반응형

 

 

 

 

1️⃣ 한 줄로 요약하면?

Kubeflow = 쿠버네티스(Kubernetes) 위에서 머신러닝을 “학습부터 서비스까지” 자동으로 돌리게 해주는 플랫폼

👉 “ML 개발자들이 쿠버네티스를 직접 만지지 않아도 되게 해주는 도구 세트”

 

 


2️⃣ 왜 Kubeflow가 생겼을까?

😫 원래 머신러닝 개발의 현실

보통 이런 흐름이야:

  1. 노트북에서 모델 실험
  2. 서버에서 학습
  3. 여러 GPU 쓰려다 지옥
  4. 학습 끝난 모델 파일 전달
  5. 서비스 서버에 올림
  6. 버전 관리? 재현? 🤯

💥 문제점

  • GPU 여러 개 쓰기 어려움
  • 실험 재현 안 됨
  • 학습/배포 과정이 사람 손에 의존
  • 쿠버네티스는 어렵고 ML 개발자는 싫어함

➡️ “ML에 맞는 쿠버네티스 플랫폼 필요!”

 

 


3️⃣ Kubeflow의 핵심 철학

Kubeflow는 이걸 목표로 만들어졌어:

“ML 워크플로우를 쿠버네티스 네이티브하게”

즉:

  • 쿠버네티스 자원 관리 사용
  • YAML로 학습/배포 정의
  • GPU, 스케일링, 복구 자동
  • 실험 → 학습 → 배포 → 모니터링까지 연결

 

 


4️⃣ Kubeflow가 해결하는 전체 흐름

 
데이터 준비
   ↓
모델 학습 (GPU, 분산)
   ↓
실험 관리 / 버전 관리
   ↓
모델 저장 (S3 등)
   ↓
모델 배포 (API 서버)
 
 
 
 

Kubeflow는 이걸 구성요소별로 나눠서 제공해.

 

 


5️⃣ Kubeflow의 주요 구성요소 (⭐⭐⭐ 중요)

① Kubeflow Pipelines

👉 머신러닝 파이프라인 자동화

  • 데이터 전처리
  • 학습
  • 평가
  • 배포

이걸 버튼 한 번 또는 GitOps로 실행

 
[전처리] → [학습] → [검증] → [배포]

✔ 실험 이력 자동 저장
✔ 재현 가능
✔ 실패 시 재시작 가능

 

 


② TFJob / PyTorchJob / MPIJob

👉 분산 학습 전용 Job

예:

  • TensorFlow → TFJob
  • PyTorch → PyTorchJob
 
Chief (1대) Worker (N대)
  • GPU 자동 할당
  • 노드 장애 시 재시작
  • 쿠버네티스 스케줄링 사용

너가 이전에 질문한 TFJob이 바로 이거야

 

 


③ Katib

👉 하이퍼파라미터 튜닝 자동화

 
learning_rate = ? batch_size = ?
  • Grid Search
  • Random Search
  • Bayesian Optimization

✔ 자동 실험
✔ 가장 성능 좋은 모델 선택

 

 


④ Notebooks

👉 Jupyter Notebook 관리

  • 사용자별 Jupyter 생성
  • GPU 할당
  • 볼륨 자동 연결
 
웹 → Jupyter → 실험 → 바로 학습 Job 생성

 

 

 

 


⑤ KServe (Inference)

👉 모델 배포 전용 서버

  • REST / gRPC API
  • Auto Scaling
  • Canary 배포
 
모델 파일(S3)
   ↓
KServe
   ↓
/v1/models/predict
 
 
 

“학습”과 “서비스”를 완전히 분리함

 

 

 


6️⃣ Kubeflow는 “하나의 프로그램”이 아니다

❌ 오해

Kubeflow = 하나의 앱

✅ 실제

Kubeflow = 여러 개의 쿠버네티스 컴포넌트 묶음

구성 역할
Kubernetes 인프라
Kubeflow ML 플랫폼
TFJob 학습
KServe 배포
Pipeline 자동화

 

 

 


7️⃣ Kubeflow vs 일반 Kubernetes

항목 Kubernetes Kubeflow
목적 모든 앱 ML 특화
GPU 직접 설정 자동
분산학습 직접 구현 TFJob 등
모델 배포 직접 구현 KServe
실험 관리 없음 있음

➡️ Kubeflow = ML 전용 Kubernetes 확장팩

 

 


8️⃣ Kubeflow를 언제 쓰면 좋을까?

👍 쓰기 좋은 경우

  • GPU 여러 대 사용
  • 여러 팀이 모델 개발
  • 실험 재현 중요
  • 학습 → 배포 자동화 필요

👎 굳이 안 써도 되는 경우

  • 개인 프로젝트
  • 단일 GPU
  • 쿠버네티스 없음

 

 


9️⃣ 너 상황에 맞게 말해보면

지금 너 질문 흐름 보면:

  • NCP Kubernetes
  • GPU / MIG
  • TFJob
  • KServe
  • NAS / S3

👉 정확히 Kubeflow 쓰라고 있는 상황이야

 

 


🔟 초보자 추천 학습 순서 (진짜 중요)

1️⃣ Kubernetes 기본 (Pod / PVC / Service)
2️⃣ Kubeflow 전체 구조 이해
3️⃣ TFJob 하나 배포
4️⃣ 모델 결과 S3 저장
5️⃣ KServe로 서비스
6️⃣ Pipeline으로 자동화

 

 

 

반응형

댓글