Kubeflow:Architecture
이 가이드에서는 Kubeflow 프로젝트와 AI 라이프사이클의 각 단계에서 Kubeflow 프로젝트가 어떻게 활용되는지 소개합니다.
Kubeflow Ecosystem
다음 다이어그램은 Kubeflow 에코시스템의 개요와 이것이 더 넓은 Kubernetes 및 AI 환경과 어떻게 연관되는지를 보여줍니다. Kubeflow는 AI 플랫폼을 배포, 확장 및 관리하기 위한 시스템으로 Kubernetes를 기반으로 구축되었습니다.
| |
Introducing the AI Lifecycle
인공지능(AI) 애플리케이션을 개발하고 배포할 때, AI 수명주기는 일반적으로 여러 단계로 구성됩니다. AI 시스템 개발은 반복적인 과정입니다. AI 수명주기의 다양한 단계에서 산출된 결과를 평가하고, 모델이 필요한 결과를 지속적으로 도출하도록 필요에 따라 모델과 매개변수를 수정해야 합니다.
다음 다이어그램은 AI 수명주기 단계를 순서대로 보여줍니다.
| |
각 단계를 좀 더 자세히 살펴보겠습니다.
- 데이터 준비 단계 (Data Preparation) - 원시 데이터를 수집하고, 오프라인 특징 저장소에 저장할 머신러닝 특징을 추출하기 위한 특징 엔지니어링을 수행하며, 모델 개발을 위한 학습 데이터를 준비합니다.
- 단일 GPU로 모델 크기를 처리할 수 없는 경우 분산 학습을 사용해야 합니다.
- 모델 학습 결과는 학습된 모델 아티팩트이며, 이를 모델 레지스트리 에 저장할 수 있습니다.
- 모델 최적화 과정에서 머신러닝 메타데이터를 모델 레지스트리 에 저장할 수 있습니다.
- 모델은 사용 사례에 따라 예측 또는 생성형 AI 작업을 수행할 수 있습니다.
- 모델 제공 단계에서는 온라인 특징 저장소를 사용하여 특징을 추출할 수 있습니다.
- 모델 성능을 모니터링하고 그 결과를 AI 라이프사이클의 이전 단계에 반영합니다.
AI Lifecycle for Production and Development Phases
인공지능 애플리케이션의 AI 수명주기는 개념적으로 개발 단계 와 운영 단계로 나눌 수 있으며, 이 다이어그램은 각 단계에 어떤 작업이 포함되는지 보여줍니다.
| |
Kubeflow Projects in the AI Lifecycle
다음 다이어그램은 Kubeflow 프로젝트가 AI 라이프사이클의 각 단계에 어떻게 적합한지 보여줍니다.
| |
각 Kubeflow 프로젝트에 대한 자세한 내용은 다음 링크를 참조하세요.
- Kubeflow Spark Operator는 데이터 준비 및 특징 엔지니어링 단계에 사용할 수 있습니다.
- Kubeflow Notebooks는 모델 개발 및 대화형 데이터 과학에 사용하여 AI 워크플로를 실험할 수 있습니다.
- Kubeflow Trainer는 대규모 분산 학습 또는 LLM(Learning Leadership Model) 미세 조정에 사용할 수 있습니다.
- Kubeflow Katib은 다양한 AutoML 알고리즘을 사용하여 모델 최적화 및 하이퍼파라미터 튜닝에 사용할 수 있습니다.
- Kubeflow Model Registry는 머신러닝 메타데이터, 모델 아티팩트를 저장하고 프로덕션 환경에 배포할 모델을 준비하는 데 사용할 수 있습니다.
- KServe는 모델 제공 단계에서 온라인 추론과 배치 추론 모두에 사용할 수 있습니다.
- Feast는 기능 스토어로 사용될 수 있으며 오프라인 및 온라인 기능을 관리할 수 있습니다.
- Kubeflow Pipelines는 AI 라이프사이클의 각 단계를 구축, 배포 및 관리하는 데 사용할 수 있습니다.
AI 플랫폼 팀은 각 프로젝트를 독립적으로 사용 하거나 전체 AI 참조 플랫폼을 배포하여 특정 요구 사항을 충족함으로써 Kubeflow를 기반으로 구축할 수 있습니다
Kubeflow API 및 SDK
Kubeflow의 다양한 프로젝트에서 API와 Python SDK를 제공합니다.
다음 참고 문서를 참조하십시오.
- Kubeflow Pipelines API 및 SDK에 대한 참조 문서이며 , Kubeflow Pipelines 도메인 특화 언어(DSL)도 포함되어 있습니다.
gRPC API 화 작업을 한다면?
클러스터 제어:
- kubernetes REST API -> gRPC Interface Wrapping
S3 호환 레이어:
메시 네트워크:
인증/사용자 관리/보안:
- Cert Manager <- 도메인 등록 (?)
- Dex
- OAuth2-Proxy <- 기존에 사용하고 있는 보안 시스템에 연동해야함.
- Profiles + KFAM
Filesystem/Data Access:
- PVC Viewer Controller
- Volumes Web Application - Filebrowser를 사용한 Filesystem 접근 제어.
- Spark Operator
MLOps Pipeline:
- 데이터 전처리
- 라벨링
- Jupyter Web Application
- Notebook Controller
- Tensorboards Web Application
- Tensorboard Controller
- kubeflow 자체의 기능
기타:
-
Central Dashboard - PodDefaults Webhook
진행 순서
- 2026년 01월
- 클러스터 제어
- Kubernetes REST API -> gRPC Interface Wrapping
- Network Interface API -> Traefik/Envoy 사용한 Endpoint 노출
- Filesystem/Data Access API
- Kubeflow PVC Viewer Controller API
- Filesystem API / CRUD
- S3 호환 레이어 SeaweedFS 적용
- Kubeflow Spark Operator