Kubeflow
무료
Kubeflow는 Kubernetes에서 실행되는 Google의 오픈소스 MLOps 플랫폼으로, 데이터 준비, 모델 훈련, 조정 및 추론 배포의 전체 프로세스를 다룹니다.
쿠베플로우
Kubeflow의 핵심 매개변수 및 통계
Kubeflow는 단일 애플리케이션이 아니라 Kubernetes 기본 구성 요소 모음입니다. 각 하위 프로젝트는 독립적으로 발전하고 통합 Kubeflow Community Distribution(KCD)을 통해 완전한 플랫폼으로 조립됩니다. 이 "빌딩 블록" 아키텍처는 기능의 경계가 모든 것을 알려주는 특정 버전 번호가 아니라 조립하는 구성 요소에 따라 결정됩니다.
| 프로젝트 | 공공정보 |
|---|---|
| 공식 포지셔닝 | Kubernetes의 AI 플랫폼 도구 기본 계층 |
| 핵심 하위 프로젝트(GitHub Stars 기준으로 정렬) | Kubeflow Pipelines(4.2k ★), Spark 연산자(3.1k ★), Kubeflow 트레이너/훈련 연산자(2.2k ★), Katib AutoML(1.7k ★), Kubeflow Hub/모델 레지스트리(176 ★), 노트북(74 ★), 중앙 대시보드(16 ★) |
| 인프라 종속성 | 쿠버네티스 1.25+(필수) |
| 오픈 소스 라이센스 | 아파치 2.0 |
| CNCF 성숙도 | 인큐베이팅 프로젝트(인큐베이팅) |
| 거주지 | 미국(US) |
| 프로젝트 간 GitHub Stars | 33.1k+(모든 하위 프로젝트 포함) |
| 프로젝트 전반의 기여자 | 3,000+ |
| PyPI 누적 다운로드 | 2억 5,800만 명 이상 |
| GitHub 릴리스 수 | 94회(메인 저장소) |
| 대상 사용자 | Kubernetes 기반을 갖춘 엔터프라이즈 ML/플랫폼 팀 |
| 배포 방법 | 자체 호스팅(베어 K8, GKE, EKS, AKS 등 지원) |
핵심 차이점: Kubeflow의 차이점은 'ML 워크플로를 Kubernetes 기본 리소스에 매핑'하는 것입니다. 각 훈련 작업은 K8s 작업이고, 각 추론 엔드포인트는 K8s 서비스이며, 각 실험 매개변수는 ConfigMap/CRD를 통해 관리되며, 모니터링 및 로그는 Prometheus 및 Fluentd와 같은 K8s 생태학적 도구를 직접 재사용합니다.
Kubeflow의 사용자 및 시장 인지도
Kubeflow는 Kubernetes 생태계에서 가장 광범위한 적용 범위를 갖춘 MLOps 오픈 소스 프로젝트입니다. 시장 인지도는 커뮤니티 활동, 기업 채택, 클라우드 공급업체 통합이라는 세 가지 차원에 반영됩니다.
커뮤니티 규모: 2026년 중반 현재 GitHub의 전체 Kubeflow 교차 프로젝트 스타 수는 33.1,000명을 초과하고 기여자 수는 3,000명을 초과합니다. 메인 저장소에는 별 15.8,000개, 포크 2.7,000개가 있고 파이프라인 하위 프로젝트에는 별 4.2,000개가 있습니다. 이는 커뮤니티가 Kubeflow의 개념에 관심을 기울일 뿐만 아니라 특정 구성 요소의 사용 및 기여에 더 깊이 관여하고 있음을 나타냅니다. PyPI는 총 2억 5,800만 번 다운로드되었으며, 이는 Python 생태계에 대한 SDK의 침투 깊이를 반영합니다.
기업 채택: Kubeflow의 공식 웹사이트에 표시되는 신뢰할 수 있는 고객에는 AWS, Oracle, Red Hat과 같은 주요 클라우드 공급업체가 포함됩니다. GitHub ADOPTERS.md 파일에 나열된 채택 회사는 금융, 기술, 제조, 통신 및 기타 산업을 포괄합니다. Google Cloud Vertex AI의 기본 부분은 Kubeflow의 설계 개념을 활용합니다. AWS는 Kubeflow를 기반으로 하는 SageMaker 하이브리드 배포 솔루션을 제공합니다. Azure의 MLOps 기능은 Kubeflow Pipelines와도 긴밀하게 통합되어 있습니다.
CNCF 생태적 위치: CNCF 인큐베이션 수준 프로젝트인 Kubeflow는 TOC의 성숙도 평가를 통과했지만 아직 졸업 단계에 진입하지 않았습니다. 이는 API 안정성과 거버넌스 성숙도가 CNCF 표준에 도달했지만 일부 하위 프로젝트의 독립적인 버전 주기로 인해 전반적인 배포 복잡성이 높아질 수 있음을 의미합니다.
업계 평가 참조: 타사 MLOps 플랫폼 비교에서 Kubeflow는 일반적으로 "오픈 소스" 및 "K8s 기본성" 측면에서 MLflow(K8s 기본 통합 부족) 및 SageMaker(폐쇄 소스 잠금)보다 앞서지만 "즉시 사용 가능한 사용성" 측면에서는 관리형 서비스보다 뒤떨어집니다. Gartner와 같은 분석가의 MLOps 보고서에는 종종 Kubeflow가 오픈 소스 MLOps의 대표적인 참조 구현으로 나열됩니다.
Kubeflow의 비용 이점
Kubeflow의 비용 구조는 "오픈소스 라이선스 비용 없음 + 인프라 자체 부담 + 운영 및 유지 관리 인력 투자"의 세 가지 수준으로 구성되며, 이는 호스팅된 SaaS MLOps 플랫폼의 비용 모델과 본질적으로 다릅니다.
C 측/개인 사용자: Kubeflow에는 독립 데이터 과학자를 위한 SaaS 버전이 없습니다. Kubeflow를 경험하려면 개별 사용자가 자체 Kubernetes 환경(Minikube, Kind 또는 클라우드 공급업체의 무료 할당량)을 구축해야 합니다. Minikube 모드에서는 단일 노드가 일부 구성 요소를 실행할 수 있지만 전체 기능을 사용하려면 다중 노드 클러스터가 필요합니다. 개별 학습자의 경우 시간 비용(컨텍스트 구축에 2~8시간)이 SaaS 도구의 가입 및 사용 모델보다 훨씬 높습니다.
개발자/API 사용자: Kubeflow는 파이프라인 프로그래밍을 위한 Python SDK(kfp)를 제공합니다. SDK 자체는 무료이지만 파이프라인을 실행하려면 백엔드 K8s 클러스터가 필요합니다. 개발자는 Google Cloud의 Vertex AI Pipelines(Kubeflow Pipelines SDK와 호환 가능)를 사용하여 자체 구축 클러스터를 구축하지 않고도 종량제 방식으로 워크플로를 실행할 수 있습니다. 현재 가장 경제적인 Kubeflow 개발자 포털입니다. 청구는 실행 횟수와 컴퓨팅 리소스를 기준으로 이루어집니다. 단일 실험 비용은 몇 위안에서 수백 위안까지 다양합니다.
기업/개인 배포: Kubeflow의 기본 비용 시나리오입니다. 비용은 다음과 같이 분류됩니다.
| 비용 항목 | 추정 범위 | 설명 |
|---|---|---|
| 플랫폼 라이센스 | 0위안 | Apache 2.0 오픈 소스, 라이센스 비용 없음 |
| K8s 클러스터(생산 수준) | 3,000-30,000위안/월 | 3-10개 노드, 에비앙 제조업체 및 구성 부동 |
| GPU 컴퓨팅 성능 | 5-50위안/카드/시간 | A100/H100 온디맨드 가격, 예약 인스턴스를 30~50%까지 줄일 수 있음 |
| 운영 및 유지관리 인력 | 0.5~2명/년 | K8s+ML을 합친 운영유지인력 비용은 순수 K8s 운영유지보수 비용보다 높다 |
| 스토리지 및 네트워크 | 500-5,000위안/월 | PVC 저장고, 모델제품 저장고, 지역 간 트래픽 |
비용 비교 공제: 월 평균 200시간의 GPU 교육을 받는 10명의 ML 팀을 예로 들면, 자체 구축한 Kubeflow의 연간 TCO는 약 300,000~800,000위안(운영 및 유지 관리 인력 공유 포함)인 반면, 동일한 규모의 관리형 MLOps 플랫폼의 연간 수수료는 약 500,000~150만 위안입니다. Kubeflow의 장점은 규모 면에서 훨씬 더 분명합니다. 노드 수가 20개를 초과하면 한계 비용은 호스팅 솔루션의 40~60%에 불과합니다. 그러나 초기 구축 주기(2~4주)와 운영 및 유지 관리의 복잡성은 숨겨진 비용입니다. 팀에는 K8에 익숙하고 Kubeflow 구성요소 호환성 문제를 해결할 수 있는 엔지니어가 한 명 이상 필요합니다.
Kubeflow의 주요 기능
Kubeflow의 기능은 각각 ML 수명 주기의 한 섹션에 초점을 맞춘 일련의 독립적인 하위 프로젝트로 구성됩니다. 핵심 기능 구성 요소와 그 시너지 관계는 다음과 같습니다.
-
Kubeflow Pipelines(KFP): 시각적 DAG 워크플로 엔진, 직렬 데이터 전처리 파이프라인 → 교육 → 평가 → 배포. 전문가의 견해: KFP의 실제 가치는 "흐름도 그리기"일 뿐만 아니라 파이프라인을 Python DSL(kfp SDK)로 정의할 수 있게 하며, 컴파일러는 IR(중간 표현) YAML을 생성하여 파이프라인 정의 및 실행의 상황별 분리를 달성합니다. 이는 동일한 파이프라인 정의를 로컬 K8, GKE, EKS 간에 원활하게 마이그레이션하여 ML 개발과 프로덕션 간의 불일치라는 핵심 문제점을 해결할 수 있음을 의미합니다.
-
Katib 자동 하이퍼파라미터 검색 및 NAS: Kubernetes CRD 기반 AutoML 엔진은 그리드 검색, 무작위 검색, 베이지안 최적화의 세 가지 검색 알고리즘과 조기 중지 전략을 지원합니다. 숨겨진 연결: Katib은 Kubeflow Pipelines를 실험 실행 엔진으로 직접 호출할 수 있으며 각 하이퍼파라미터 조합은 파이프라인 실행으로 실행됩니다. 즉, 하이퍼파라미터 검색 결과는 수동 연결 없이 자동으로 전체 실험 링크(데이터 버전, 코드 버전, 지표)를 전달합니다.
-
Kubeflow Trainer(교육 운영자): 분산 교육 운영자는 PyTorch, TensorFlow, MPI, XGBoost, MXNet 및 기타 프레임워크를 기본적으로 지원합니다. 버전 1.9에서는 HuggingFace, DeepSpeed, Megatron, MLX, JAX에 대한 LLM 미세 조정 지원이 확장되었습니다. 엔지니어링 관점: Training Operator의 핵심 추상화는 'PyTorchJob' 및 'TFJob'과 같은 CRD입니다. 이는 분산 교육 토폴로지(Worker/PS/Chief)의 배포 논리를 K8s 리소스 정의에 캡슐화합니다. 사용자는 복잡한 K8s StatefulSet 및 서비스 구성을 직접 작성할 필요 없이 분산 교육을 시작하기 위해 복사본 및 미러 수만 지정하면 됩니다.
-
KServe(추론 서비스): TensorFlow, PyTorch, ONNX, Scikit-learn, XGBoost 및 기타 형식의 자동 배포를 지원하는 독립적으로 진화된 고성능 모델 추론 플랫폼입니다. 탄력적 확장(Knative 기반), A/B 테스트, 카나리아 릴리스, 요청 로그 등 프로덕션 수준 기능을 제공합니다. 협업적 가치: KServe가 Kubeflow Pipelines와 연결되면 "훈련 완료 시 추론 서비스 업데이트 자동 트리거"의 CI/CD 폐쇄가 달성될 수 있습니다. 파이프라인의 마지막 단계에서는 KServe API를 호출하여 추론 엔드포인트를 업데이트하여 엔드투엔드 자동화를 달성합니다.
-
Kubeflow Notebooks: K8s 클러스터에서 Jupyter Notebook을 실행하는 호스팅 서비스로, 다중 테넌트 격리 GPU 가속 및 사용자 지정 미러링을 지원합니다. 각 노트북 인스턴스는 독립적인 K8s 포드이며 사용자는 다양한 이미지(PyTorch, TensorFlow, R 언어 등)와 리소스 사양을 선택할 수 있습니다. 구현 팁: Notebooks, Katib 및 Pipelines 간의 연결은 빈도가 높은 경로입니다. 사용자가 Notebooks에서 데이터 탐색 및 프로토타입 실험을 완료한 후 한 번의 클릭으로 코드를 파이프라인 구성 요소로 내보낸 다음 예약된 교육 작업으로 제출할 수 있습니다.
-
Kubeflow Hub(모델 레지스트리): 모델 버전, 소스 파이프라인 실행, 평가 지표, 배포 상태 및 기타 정보를 저장하는 모델 메타데이터 관리 센터입니다. 이는 실험(파이프라인 + Katib)과 프로덕션(KServe) 사이의 추적 격차를 해소하여 플랫폼 팀이 "어떤 실험이 현재 프로덕션에서 제공되고 있는지"를 명확하게 확인할 수 있도록 합니다.
-
중앙 대시보드: 모든 하위 프로젝트의 Web UI를 통합한 통합 관리 콘솔입니다. RBAC 권한 관리, 다중 테넌트 네임스페이스 격리 및 클러스터 리소스 모니터링 포털을 제공합니다. 플랫폼 관리자에게 대시보드는 일상적인 운영과 유지관리를 위한 핵심 출입구입니다.
기능 간 시너지 효과: Kubeflow의 구성요소는 분리된 기능이 아니라 "노트북 실험 → 파이프라인 오케스트레이션 훈련 → Katib 하이퍼파라미터 최적화 → 허브 모델 등록 → KServe 추론 배포 → Prometheus 모니터링 피드백"의 완전한 링크를 형성합니다. 일반적인 폐쇄형 시나리오: 데이터 과학자가 노트북에서 모델을 디버깅하고 만족스러우면 코드를 파이프라인 구성 요소로 캡슐화하고 Katib을 통해 최상의 하이퍼 매개변수를 검색하며 최상의 모델이 자동으로 허브에 등록됩니다. 허브는 KServe를 트리거하여 추론 엔드포인트를 업데이트하고 추론 서비스의 대기 시간 및 처리량 표시기가 Prometheus에 의해 수집되어 대시보드에 표시됩니다.
Kubeflow 모델 및 버전 진화
프로젝트 모음으로서 Kubeflow의 버전 번호 시스템은 '통합 릴리스'에서 '하위 프로젝트 독립 릴리스 + 커뮤니티 릴리스'로 발전했습니다. 기본 저장소의 현재 버전 번호(예: 1.9)는 특정 하위 프로젝트의 버전이 아닌 KCD(Kubeflow Community Distribution) 버전에 해당합니다.
초기 단계: 통합 출시(2018~2021)
- Kubeflow 0.1(2018-03): 최초의 오픈 소스 버전으로, 기본 기능은 K8s에서 TensorFlow 작업을 실행하는 것으로 제한됩니다. 당시 프로젝트는 "TensorFlow on Kubernetes"로 포지셔닝되었습니다.
- Kubeflow 0.2(2018-06): Jupyter Notebook 지원이 도입되었으며 PyTorch 프레임워크로 확장되었습니다.
- Kubeflow 1.0(2020-03): API 안정성 약속을 표시하는 마일스톤 릴리스입니다. Pipelines, Katib, Notebooks 및 KFServing의 미리보기 버전이 포함되어 있습니다. CNCF는 같은 해 인큐베이션 프로젝트로 승인됐다.
- Kubeflow 1.1-1.3(2020-2021): 멀티 테넌트 RBAC, Istio 통합 및 엔터프라이즈 수준 기능 개선에 중점을 둡니다.
구성 요소 분리 및 독립적인 진화(2021~2024)
- Kubeflow 1.4-1.5(2021-2022): KFServing은 독립 릴리스 주기를 가속화하기 위해 독립 프로젝트 KServe로 발전합니다. Training Operator는 기본 저장소에서 분리됩니다. Pipelines v2가 기술 미리보기를 시작합니다.
- Kubeflow 1.6-1.7(2022-2024): Pipelines v2 GA, IR 중간 표현 및 보다 유연한 구성요소 정의를 도입합니다. Katib은 신경 아키텍처 검색 지원을 추가합니다. KCD(커뮤니티 배포)가 공식적으로 권장되는 배포 방법이 되었습니다.
- Kubeflow 1.8(~2025-06, 공식적인 정확한 날짜는 아직 없음): 파이프라인의 가시성 및 GPU 스케줄링 전략이 개선되었습니다. Trainer는 HuggingFace Accelerate에 대한 기본 지원을 추가합니다.
최신 단계: LLM 및 GenAI 지원(2025년~현재)
- Kubeflow 1.9(~2026-03, 정확한 공식 날짜는 아직 없음): LLM 교육 워크로드 지원 강화에 중점 - Kubeflow Trainer는 DeepSpeed, Megatron, MLX 및 JAX에 대한 분산 교육 지원을 추가합니다. Katib은 LLM 하이퍼파라미터 검색 템플릿(LoRA 순위 검색 등)을 추가합니다. KServe는 vLLM 및 TGI와 같은 LLM 추론 프레임워크의 배포 경험을 향상시킵니다.
하위 프로젝트 독립적 버전 상태
| 하위 프로젝트 | 독립형 버전 | GitHub 스타 | 설명 |
|---|---|---|---|
| Kubeflow 파이프라인 | v2.x(독립형) | 4.2k ★ | KFP v2는 현재 메인라인인 IR YAML 드라이버 |
| 케이서브 | v0.13+(독립형) | 3.9k ★(독립형 저장소) | Kubeflow 기본 저장소에서 분할 |
| 카팁 | v0.16+(독립) | 170만 ★ | Kubeflow 버전과 분리된 지속적인 반복 |
| 스파크 운영자 | v1.x(독립형) | 3.1k ★ | K8s 워크로드의 Spark용 |
| 교육 운영자 | v1.7+(독립형) | 2.2k ★ | 트레이너 및 MPI 작업 커버 |
버전 호환성 팁: Kubeflow 1.9 KCD에 통합된 하위 프로젝트 버전은 각 하위 프로젝트의 최신 버전이 아닐 수 있습니다. 실제 배포 중에는 각 하위 프로젝트의 릴리스 노트를 별도로 확인하여 버전 호환성 매트릭스를 확인하는 것이 좋습니다. 공식 문서에서는 호환성 표를 제공하고 있지만 업데이트 지연이 있습니다. 프로덕션 배포 전에 테스트 환경에서 전체 링크를 확인해야 합니다.
Kubeflow의 기술적 장점
Kubeflow의 기술적 이점은 K8 위에 또 다른 추상 계층을 구축하는 것이 아니라 Kubernetes의 기본 리소스 모델에 대한 심층적인 적응에 뿌리를 두고 있습니다.
Kubernetes CRD 기반 아키텍처 설계: Kubeflow의 각 핵심 기능은 CRD(사용자 정의 리소스 정의)로 정의됩니다. 훈련 연산자를 예로 들면, 'PyTorchJob' CRD는 원하는 분산 훈련 상태(작업자 수, PS, 미러, 리소스 할당량)를 정의합니다. Kubeflow의 컨트롤러는 CRD 변경 사항을 모니터링하고 이를 실제 상태로 조정합니다. 이 설계의 장점은 사용자에게 이미 익숙한 kubectl 및 GitOps 프로세스를 추가 플랫폼 CLI를 학습하지 않고도 ML 워크로드 관리에 직접 사용할 수 있다는 것입니다. kubectl apply -f pytorchjob.yaml은 분산 학습을 시작합니다.
구성요소 수준 어셈블리: Kubeflow는 전체 배포를 강제하지 않습니다. 플랫폼 팀은 Pipelines + KServe만 배포하거나 Katib + Trainer만 배포하도록 선택하거나 Kubeflow Notebooks를 팀 개발 환경으로 독립적으로 개발할 수도 있습니다. 이러한 유연성은 각 하위 프로젝트가 컨트롤러 + CRD + 웹 UI의 독립적인 조합이고 구성 요소가 하드 종속성 없이 표준 K8s 서비스 및 ConfigMap을 통해 통신한다는 사실에서 비롯됩니다.
파이프라인 IR(중간 표현): KFP v2에 도입된 IR 메커니즘은 기술의 핵심 혁신입니다. 파이프라인 정의를 특정 실행 컨텍스트와 독립적인 중간 표현 YAML로 컴파일한 다음 실행 엔진(Dag Runner)을 통해 대상 클러스터에서 이를 해석하고 실행합니다. 이는 테스트 클러스터, 프로덕션 클러스터, 심지어 다른 클라우드 공급업체의 K8s 서비스 간에 동일한 파이프라인 정의를 이식할 수 있음을 의미하며, ML 워크플로의 고전적인 문제인 "개발 시 실행할 수 있지만 생성 시 실행할 수 없다"는 문제를 해결합니다.
K8s 생태학적 도구와의 자연스러운 통합: Kubeflow의 리소스 모델은 표준 K8s 리소스이므로 전체 K8s 생태계를 무료로 재사용할 수 있습니다. Prometheus는 훈련 및 추론을 위한 모니터링 지표를 수집합니다. EFK/Loki는 Pod 로그를 수집합니다. Argo CD는 파이프라인에서 정의한 GitOps 동기화를 구현합니다. Velero는 CRD 및 PVC 데이터를 백업합니다. 반면, K8s 기반이 아닌 MLOps 플랫폼은 이러한 인프라 기능을 자체적으로 구현하거나 통합해야 합니다.
GPU 스케줄링 및 리소스 격리: Kubeflow는 Kubernetes의 노드 리소스 관리와 Volcano/Scheduler와 같은 확장 스케줄러를 사용하여 GPU 리소스를 세밀하게 할당하고 격리합니다. Katib의 동시 실험은 K8s ResourceQuota를 통해 각 실험의 GPU 상한을 제한하여 특정 하이퍼 매개변수 검색 집합이 클러스터 컴퓨팅 성능을 소진시키는 것을 방지할 수 있습니다. 다중 테넌트 시나리오에서는 K8s 네임스페이스 + RBAC를 통해 팀 간의 리소스 격리 및 할당량 관리가 달성됩니다.
LLM 훈련 적응 기능: 버전 1.9에서 Kubeflow Trainer는 DeepSpeed와 Megatron의 런처 스크립트를 통합하여 K8s에서 수백 장의 LLM 분산 훈련 카드를 조정할 수 있습니다. 핵심 아이디어는 DeepSpeed의 'deepspeed' 시작 명령을 K8s Job의 진입점으로 캡슐화하고 Training Operator의 CRD를 사용하여 Worker-PS 토폴로지를 관리하여 훈련 작업의 탄력적인 예약 및 오류 복구를 달성하는 것입니다.
Kubeflow 사용 방법
Kubeflow의 배포 경로는 팀 규모와 시나리오에 따라 다릅니다. 독립형 학습부터 프로덕션 수준 다중 클러스터 배포까지 가장 일반적으로 사용되는 방법은 다음과 같습니다.
| 배포 방법 | 적용 가능한 시나리오 | 복잡성 | 일반적인 시간 소모 |
|---|---|---|---|
| Kubeflow 커뮤니티 배포(KCD) | 프로덕션 수준의 모든 기능을 갖춘 배포 | 중간-높음 | 1~3일 |
| 클라우드 공급업체 호스팅 배포(GKE/EKS/AKS) | 심층적인 클라우드 통합 컨텍스트 | 중간 | 2~8시간 |
| Kind/Minikube 로컬 배포 | 개인 학습 및 프로토타입 검증 | 낮음 | 30분~2시간 |
| 하위 프로젝트 독립적 배포(예: 파이프라인만 해당) | 경량 요구사항 | 중저 | 1~4시간 |
KCD 신속한 배포(프로덕션에 권장):
Kubeflow Community Distribution은 현재 공식적으로 권장되는 프로덕션 배포 방법입니다. 일반적인 단계는 다음과 같습니다.
- Kubernetes 클러스터(1.25+)를 준비하고 CPU/GPU 리소스와 스토리지 클래스가 충분한지 확인합니다.
- 공식 Kubeflow GitHub 릴리스 페이지에서 대상 K8s 버전에 대한 KCD 매니페스트를 다운로드합니다.
- KCD 매니페스트를 설치합니다:
kubectl apply -k https://github.com/kubeflow/kcd/...(구체적인 경로는 공식 문서를 참조하세요). - 수신/게이트웨이를 구성합니다(KCD는 기본적으로 Istio를 남북 트래픽 게이트웨이로 사용합니다).
- Central Dashboard의 NodePort 또는 LoadBalancer 주소를 통해 웹 UI에 액세스합니다.
- 노트북 인스턴스를 생성하거나 'kfp' SDK를 통해 첫 번째 파이프라인을 제출합니다.
kfp SDK를 사용하여 파이프라인을 제출하는 빠른 예:
``파이썬
SDK 설치: pip install kfp
importkfp kfp에서 dsl 가져오기
@dsl.comComponent def train_op(epochs: int, lr: float) -> str: JSON 가져오기
훈련 로직이 여기서 실행됩니다.
측정항목 = {"정확도": 0.95, "손실": 0.05}
json.dumps(메트릭) 반환
@dsl.pipeline(name="training-pipeline") def training_pipeline(epochs: int = 10, lr: float = 0.001): train_task = train_op(epochs=epochs, lr=lr)
컴파일 및 제출
kfp_client = kfp.Client(host="
**배포 확인**: 배포가 완료된 후 대시보드를 통해 각 구성 요소의 상태를 확인합니다. `kubectl get pods -n kubeflow`를 사용하여 코어 포드가 실행 중인지 확인하세요. 대시보드의 "파이프라인" 메뉴를 통해 샘플 파이프라인을 실행하여 엔드투엔드 링크를 확인하세요.
**운영 및 유지 관리 포인트**: Kubeflow의 구성 요소 로그는 'kubectl 로그'를 통해 확인되거나 중앙 집중식 로그 플랫폼에 수집됩니다. 파이프라인 실행이 실패하면 먼저 Pod 이벤트(`kubectl explain pod`)와 KFP의 워크플로 CRD 상태(`kubectl get Workflow`)를 확인하세요.
## Kubeflow 제품 가격
Kubeflow 자체는 100% 오픈 소스이자 무료 인프라 소프트웨어이지만 "무료"는 소프트웨어 라이선스 수준으로 제한됩니다. 실제 구현 비용은 다음 세 가지 수준으로 구성됩니다.
**C 클라이언트/개인 사용자**: Kubeflow에는 개인용 SaaS 버전이 없습니다. 개인 학습의 경우 Minikube를 통해 최소한의 배포를 구축하거나 클라우드 공급업체의 무료 할당량을 구축할 수 있습니다. 일반적인 단일 노드 Minikube 배포의 월별 비용은 약 US$0~30(클라우드 공급업체의 무료 할당량 정책에 따라 다름)이지만 안정적이고 사용 가능한 Kubeflow 환경을 유지하려면 일정량의 K8s 운영 경험이 필요합니다. 이는 독립 개발자에게 암묵적인 "시간 비용"입니다.
**개발자/API 호출 수준**: kfp SDK 및 kfctl CLI는 완전 무료입니다. 그러나 각 파이프라인 실행은 K8s 클러스터 리소스를 소비합니다. 세 가지 경제적 옵션: (1) 로컬 Minikube는 비용은 0이지만 제한된 컴퓨팅 성능으로 소규모 실험을 실행합니다. (2) 실행 횟수와 리소스에 따라 요금이 청구되는 Google Cloud Vertex AI Pipelines(KFP SDK와 호환)를 사용합니다. 소규모 실험의 단일 비용은 약 5~50위안입니다. (3) 자체 구축한 소규모 클러스터(노드 3개)는 개발 작업 부하를 실행하며 월간 인프라 비용은 약 2,000~5,000위안입니다.
**기업/개인 배포**: 소프트웨어 라이센스 비용은 없지만 클러스터 크기와 GPU 사용량을 기준으로 연간 TCO는 다음과 같이 추정됩니다.
| 기업규모 | 클러스터 크기 | 월간 인프라 비용(추정) | 운영 및 유지보수 인력(년) | 연간 TCO 범위(예상) |
|---|---|---|---|---|
| 소규모 팀(5~10명) | 3~5개 노드, 1~4개 카드 GPU | 8,000-20,000위안 | 0.5명 | 150,000-400,000위안 |
| 중형팀(20~50명) | 10~20개 노드, 8~32개 카드 GPU | 30,000-100,000위안 | 1명 | 500,000-150만 위안 |
| 대규모 조직(100명 이상) | 50개 이상의 노드, 100개 이상의 카드 GPU | 150,000-500,000위안 | 2명 이상 | 2~8백만 위안 |
**숨겨진 비용 팁**: 위 추정치에는 모델 훈련 자체의 GPU 비용이 포함되지 않습니다(일반적으로 훈련 작업 중 실제 사용량을 기준으로 청구되며 플랫폼 인프라에는 포함되지 않음). 또한 Kubeflow 구성요소를 업그레이드하려면 가동 중지 시간이나 롤링 마이그레이션이 필요하며 각 주요 버전 업그레이드에는 호환성 테스트 및 데이터 마이그레이션을 위해 1~4주의 엔지니어링 시간이 필요할 수 있습니다. 예산에서 20%의 작업 버퍼를 확보하는 것이 좋습니다.
## Kubeflow 애플리케이션 시나리오
Kubeflow의 기능은 실험 관리부터 생산 추론까지 전체 ML 수명 주기를 포괄합니다. 다음 네 가지 시나리오가 대규모로 검증되었습니다.
- **엔터프라이즈 수준 ML 파이프라인 플랫폼**: K8s에서 데이터 전처리, 기능 엔지니어링, 모델 교육, 평가 및 배포의 전체 프로세스를 호스팅합니다. "PyTorch 런스루를 사용한 개발과 수동 재구성을 사용한 프로덕션" 간의 차이를 제거해야 하는 팀에 적합합니다. **비용 절감 및 효율성 향상**: 기존 모델에서는 ML 엔지니어가 각 모델 반복(데이터 추출, 형식 변환, 학습 스크립트 매개변수 구성, 배포 구성 등)에 대해 8~12단계를 수동으로 작업해야 합니다. Kubeflow Pipeline으로 전환 후 "파이프라인 실행 제출"로 단축되며, 단일 반복 시간이 2~4시간에서 30~60분으로 단축됩니다(차감 값, 실제 개선 정도는 팀 프로세스의 복잡성에 따라 다름). **구현 팁**: 파이프라인의 구성 요소 세분성 설계는 재사용률에 직접적인 영향을 미칩니다. "데이터 검증", "기능 계산" 및 "모델 평가"와 같은 일반적인 단계를 표준 구성 요소에 캡슐화하여 팀의 공통 구성 요소 라이브러리로 사용하는 것이 좋습니다.
- **다중 팀 모델 서비스 플랫폼**: K8s Namespace + RBAC를 통해 다중 팀 격리가 이루어집니다. 각 팀의 훈련 작업은 독립적인 네임스페이스에서 실행되며 추론 서비스 게이트웨이를 공유합니다. 여러 알고리즘 팀이 있는 중대형 조직에 적합합니다. **인간-컴퓨터 협업 경계**(규칙 D 필수): 모델 훈련을 위한 리소스 구성 변경(예: GPU 수, 스토리지 확장)은 수동 승인 대신 K8s ResourceQuota를 통해 제한되어야 합니다. 다만, 검증이 부족한 모델이 온라인 트래픽에 직접 노출되는 것을 방지하기 위해 모델 출시의 마지막 단계(Staging에서 Production으로의 스트림 전환)에서 수동 확인 지점을 설정해야 합니다.
- **LLM 미세 조정 및 배포**: Kubeflow Trainer의 DeepSpeed 및 LoRA 지원을 사용하여 K8s에서 대규모 언어 모델에 대한 분산 미세 조정 작업을 조정합니다. KServe는 vLLM 또는 TGI와 함께 작동하여 LLM의 높은 처리량 추론 배포를 구현합니다. **비용 절감 및 효율성 향상**: LoRA 기반 미세 조정 작업은 Katib을 통해 자동으로 최고의 순위와 학습률 조합을 검색하여 수동 매개 변수 조정 시간을 1~2일에서 2~4시간(공제 값)으로 줄입니다. 동시에 각 실험의 구성과 지표가 자동으로 기록되므로 "어떤 매개변수가 변경되었는지 기록하는 것을 잊어버리는" 일반적인 엔지니어링 문제를 피할 수 있습니다.
- **AutoML 및 하이퍼파라미터 자동화**: Katib은 수십 개의 하이퍼파라미터 실험 세트를 동시에 실행하여 비효율적인 조합을 자동으로 제거하도록 지원합니다. 기능 엔지니어링 탐색, 모델 아키텍처 선택, 훈련 전략 최적화 등 시행착오가 많이 필요한 시나리오에 적합합니다. **구현 팁**: Katib의 동시 실험 수는 클러스터 리소스에 따라 제한됩니다. 단일 실험 그룹이 너무 많은 리소스를 점유하여 다른 실험이 굶어 죽는 것을 방지하려면 CPU/GPU에 대한 리소스 할당량 제한을 설정하는 것이 좋습니다. 조기 중지 정책은 잘못된 시도를 크게 줄일 수 있습니다. 먼저 중앙 중지 정책을 활성화하는 것이 좋습니다.
**시나리오에 적합하지 않음**: Kubeflow는 다음 시나리오에 적합하지 않습니다. K8s 인프라가 필요하지 않은 독립적인 데이터 과학자(노트북은 실험을 실행하기에 충분함) 코드 제출부터 온라인 모델링까지 10분 미만의 엔드투엔드 지연이 필요한 경량 추론 비즈니스 특정 클라우드 공급업체의 기본 서비스를 긴밀하게 결합하는 프로젝트(이 경우 더 나은 통합 경험을 위해 Vertex AI 및 SageMaker와 같은 관리형 서비스가 더 권장됩니다).
## Kubeflow 적용 그룹
Kubeflow는 개인 개발자가 아닌 팀과 조직을 대상으로 합니다. 다음 네 가지 유형의 역할이 핵심 사용자 그룹입니다.
- **ML 엔지니어/알고리즘 엔지니어**: 교육 코드를 파이프라인 구성 요소로 캡슐화하고 Katib을 사용하여 하이퍼 매개변수 검색을 자동화하고 KServe를 통해 모델 추론 엔드포인트를 배포합니다. **전제 조건**: 기본 Docker 컨테이너화 기술(교육 스크립트를 이미지로 패키징) 및 Python 프로그래밍 기술이 필요합니다. kfp SDK는 PyTorch/TensorFlow에 대해 사용자 친화적으로 설계되었지만 로컬 훈련 스크립트를 파이프라인 구성요소로 처음 변환할 때 일반적으로 1~2일의 학습 곡선이 있습니다.
- **ML 플랫폼 엔지니어/DevOps 엔지니어**: Kubeflow 클러스터의 배포, 업그레이드, 모니터링, 문제 해결을 담당합니다. GPU 공유 스케줄링 전략 이해, Prometheus 모니터링 훈련 지표 숙지, PyTorchJob의 분산 훈련 통신 실패 문제 해결 등 K8의 운영 및 유지 관리와 ML 워크로드 특성을 모두 숙지해야 합니다. 이러한 유형의 역할은 Kubeflow 구현을 위한 핵심 인적 투자입니다. 프로덕션 환경의 안정성을 보장하려면 팀에 최소 한 명 이상이 필요합니다.
- **데이터 과학자/연구원**: Kubeflow Notebook을 사용하여 클러스터에서 대화형 개발 시나리오를 실행하고 클러스터 GPU 리소스를 활용하여 실험을 가속화합니다. **경계에 적합하지 않음**: '기본 제공'에 대한 기대가 높은 데이터 과학자는 제한된 구성 단계에서 좌절감을 느낄 수 있습니다. Kubeflow는 모든 종속성이 포함된 사전 설치된 이미지를 제공하지 않으며 사용자는 직접 이미지를 구축하거나 커뮤니티 이미지를 선택해야 합니다. 플랫폼 엔지니어는 표준화된 이미지를 미리 준비하는 것이 좋습니다.
- **AI 기술 관리자/플랫폼 의사결정권자**: 팀의 ML 인프라로서 Kubeflow의 적합성을 평가합니다. 세 가지 전제 조건에 중점을 두어야 합니다. (1) 팀은 이미 K8 인프라를 구축했거나 구축할 계획입니다. (2) K8의 운영 및 유지보수 엔지니어가 최소 1명 이상 있어야 합니다. (3) ML 팀의 규모와 워크로드 복잡성은 "이미 수동 관리가 어려운" 수준에 도달했습니다(보통 5명 이상의 알고리즘 팀 또는 월별 훈련 시간 500 GPU 시간 이상). **경계에 적합하지 않음**: 이미 안정적인 호스팅 MLOps 솔루션을 보유하고 있는 3명 미만의 알고리즘 팀이나 조직의 경우 Kubeflow로 마이그레이션하지 않는 것이 좋습니다. 입출력 비율이 비경제적입니다.
## 요약 및 전망
Kubeflow는 Kubernetes 생태계에서 가장 완벽한 오픈 소스 MLOps 플랫폼입니다. 이는 ML 워크플로를 컨테이너 오케스트레이션에 깊이 결합하고 이미 K8s 인프라를 보유하고 있으며 엔드 투 엔드 MLOps 기능이 필요한 엔터프라이즈 팀에 적합합니다.
**핵심 장점**: Kubeflow의 구성 요소화된 아키텍처를 사용하면 모든 구성 요소를 설치하여 불필요한 복잡성을 도입하지 않고도 "사용하는 만큼 얻을 수 있습니다". K8s 생태계(Prometheus, Istio, Argo CD 등)와의 무료 통합을 통해 플랫폼 팀은 기존 기술 스택을 활용할 수 있습니다. 3,000명 이상의 기여자와 33,000명 이상의 스타로 구성된 커뮤니티 규모는 장기적인 생태적 활력을 보장합니다. LLM 교육 워크로드에 대한 버전 1.9의 확장된 지원은 GenAI 시대에도 관련성을 유지합니다.
**현재 주요 제한 사항**: (1) 높은 설치, 운영 및 유지 관리 복잡성 - KCD의 전체 배포에는 10개 이상의 컨트롤러, CRD 및 웹 UI가 포함되며 구성 요소 간의 버전 호환성 관리에는 전용 유지 관리가 필요합니다. (2) 가파른 학습 곡선 - 사용자는 ML 프레임워크(PyTorch/TensorFlow)와 K8s 운영 기술을 모두 마스터해야 하며, 두 기술의 교차 수정 인재는 시장에서 부족합니다. (3) 중국 문서 및 커뮤니티 리소스는 상대적으로 제한되어 있으며, 국내 기술 블로그 및 사례 공유는 여전히 호스팅된 MLOps 플랫폼이 지배하고 있습니다. (4) UI 경험과 상용 MLOps 제품(예: Vertex AI, SageMaker) 사이에는 세대 차이가 있으며 일부 작업은 여전히 명령줄로 돌아가야 합니다.
**추가 관찰 포인트**: (1) Kubeflow와 Ray 생태학 간의 경쟁 상황 - Ray는 AI 훈련 및 추론의 "가벼운" 경로로 빠르게 침투하고 있습니다. Kubeflow는 K8의 기본 장점을 유지하면서 운영 및 유지 관리 임계값을 줄일 수 있습니까? (2) CNCF 졸업 진행 - 인큐베이팅에서 졸업까지 프로젝트의 거버넌스 성숙도와 채택 폭을 입증해야 합니다. (3) LLM 워크로드 지원 깊이 - DeepSpeed/Megatron에서 사용할 수 있는지 여부 통합을 기반으로 LoRA 미세 조정 템플릿 RLHF 워크플로우와 같은 높은 수준의 기능을 추가로 제공합니다. (4) KCD 버전 출시 리듬 - 하위 프로젝트 출시부터 KCD 통합까지의 시간 차이를 단축할 수 있는지 여부.
**구매 및 채택 위험 평가**: (1) 기존 K8s 팀이 있고 ML 워크로드가 증가하는 기업의 경우 Kubeflow는 평가할 가치가 있는 오픈 소스 옵션입니다. 프로덕션 추론 시나리오로 확장하기 전에 팀이 일일 오류를 독립적으로 해결할 수 있는지 확인하기 위해 1~2개월 동안 중요하지 않은 프로세스(오프라인 교육, 모델 평가)를 시험해 보는 것이 좋습니다. (2) Kubeflow 주요 버전 업그레이드에는 CRD 마이그레이션 및 API 변경이 포함될 수 있습니다. 프로덕션 환경을 업그레이드하기 전에 출시 전 환경에서 전체 링크 회귀 테스트를 완료하고 업그레이드 SOP에 롤백 계획을 작성해야 합니다. (3) 강력한 규정 준수 산업의 경우 Kubeflow의 RBAC 및 감사 로그 기능은 기본 요구 사항을 충족했지만 세분화된 데이터 계보 추적 및 모델 버전 감사는 여전히 자체적으로 확장되어야 합니다. (4) K8s 기반이 없는 중소 규모의 팀이나 조직의 경우 관리형 MLOps 서비스(Vertex AI, SageMaker) 또는 경량 대안(MLflow + Ray)을 먼저 평가한 후 인프라가 성숙되면 Kubeflow로 마이그레이션하는 것을 고려하는 것이 좋습니다.
관련 도구: <a href="https://www.aistarmap.com/ko-KR/aitool/hugging-face" target="_self" class="tool-link"><img src="https://res.aistarmap.com/uploads/images/tools/zh-CN/hugging-face/logo_1785413327.png" alt="포옹하는 얼굴" class="tool-logo" style="width: 20px; height: 20px; margin-right: 5px; vertical-align: middle;">포옹하는 얼굴</a>, replicate
버전 정보
- 쿠베플로우 1.9 :아직 공식적인 정확한 날짜는 없습니다. LLM 교육 워크로드 및 플랫폼 안정성에 대한 지원이 향상되었습니다.
- 쿠베플로우 1.8 :아직 공식적인 정확한 날짜는 없습니다. 향상된 파이프라인 경험과 GPU 스케줄링 최적화를 소개합니다.
사용자 후기