Kubeflow는 Kubernetes에서 ML 워크플로의 배포 및 관리를 간소화하도록 설계된 오픈소스 머신러닝(ML) 플랫폼입니다. Kubeflow는 Kubernetes의 강력한 기능을 ML 관련 도구 및 라이브러리와 결합하여 강력한 머신러닝 운영(MLOps) 관행 구현을 촉진합니다. 또한 Kubeflow를 사용하면 Google Kubernetes Engine(GKE) 사용자가 AI Hypercomputer 배포의 일부로 ML 워크플로를 더 쉽게 빌드할 수 있습니다.
Kubeflow는 머신러닝 엔지니어와 데이터 과학자가 Kubernetes의 확장성과 이동성을 활용하도록 지원합니다. 사용자는 컨테이너화의 복잡성을 제거하고 머신러닝 모델의 빌드, 학습, 배포에 집중할 수 있습니다.
Kubeflow는 다음과 같은 다양한 머신러닝 작업에 사용될 수 있습니다.
Kubeflow는 포괄적인 플랫폼을 제공하기 위해 함께 작동할 수 있는 여러 구성요소로 구성됩니다. 몇 가지 주요 구성요소는 다음과 같습니다.
Docker 컨테이너를 활용하는 Kubeflow Pipelines는 이동성과 확장성을 모두 갖춘 머신러닝 워크플로를 만들고 배포하기 위한 플랫폼을 제공합니다. 각 파이프라인은 청사진 역할을 하며 ML 워크플로의 단계와 상호 연결을 자세히 설명합니다. Kubeflow Pipelines 내의 사용자 친화적인 인터페이스를 통해 실험을 효율적으로 관리하고 추적하며, 파이프라인 실행을 시각화하고, 로그 및 성능 측정항목을 심층적으로 검사할 수 있습니다.
Katib는 머신러닝 모델을 위한 초매개변수 조정 시스템입니다. 모델에 가장 적합한 초매개변수 조합을 찾는 것은 시간이 많이 걸리는 프로세스일 수 있지만 Katib는 이 프로세스를 자동화합니다. Katib는 그리드 검색, 무작위 검색, 베이즈 최적화와 같은 다양한 검색 알고리즘을 지원하므로 사용자가 모델의 성능을 보다 효율적으로 최적화할 수 있습니다.
KFServing은 학습된 머신러닝 모델을 배포하기 위한 서버리스 추론 플랫폼을 제공합니다. 학습된 모델의 배포 및 확장을 간소화합니다. KFServing은 TensorFlow, PyTorch, scikit-learn과 같은 다양한 머신러닝 프레임워크를 지원하므로 프레임워크에 구애받지 않고 다양한 ML 생태계에 적응할 수 있습니다.
Kubeflow의 메타데이터 구성요소는 계보 및 아티팩트 추적을 제공합니다. 이 구성요소는 데이터 과학자가 실험, 데이터 세트, 모델을 추적하여 작업을 더 쉽게 관리하고 재현하는 데 도움이 됩니다. 이러한 메타데이터 추적은 팀원 간의 공동작업을 촉진하고 결과의 재현성을 보장합니다.
머신러닝 프로세스를 간소화하고 개선하려는 조직은 Kubeflow가 제공하는 다양한 이점을 발견할 수 있습니다.
Kubeflow는 사용자가 필요에 따라 머신러닝 워크플로를 확장하거나 축소할 수 있도록 지원하며 온프레미스, 클라우드, 하이브리드 환경 등 다양한 인프라에 배포할 수 있습니다. 이러한 유연성 덕분에 조직은 ML 인프라를 특정 요구사항에 맞게 조정하고 공급업체 종속을 피할 수 있습니다.
Kubeflow를 사용하는 주요 이점 중 하나는 구성요소 기반 아키텍처를 통해 실험과 모델을 더 쉽게 재현할 수 있다는 것입니다. 데이터 세트, 코드, 모델 매개변수의 버전 관리 및 추적을 위한 도구를 제공합니다. 이러한 재현성은 ML 실험의 일관성을 보장하고 데이터 과학자 간의 공동작업을 용이하게 합니다.
확장 가능하도록 설계된 Kubeflow는 클라우드 기반 머신러닝 플랫폼을 비롯한 다양한 다른 도구 및 서비스와 통합할 수 있습니다. 또한 추가 구성요소로 맞춤설정할 수 있습니다. 이를 통해 조직은 기존 도구와 워크플로를 활용하고 Kubeflow를 ML 생태계에 원활하게 통합할 수 있습니다.
Kubeflow는 머신러닝 워크플로의 배포 및 관리와 관련된 많은 작업을 자동화하여 데이터 과학자와 엔지니어가 모델 개발 및 최적화와 같은 가치가 높은 작업에 집중할 수 있도록 지원합니다. 운영 부담이 줄어들면 생산성과 효율성이 크게 향상될 수 있습니다.
Kubeflow는 Kubernetes와 긴밀하게 통합되어 리소스를 보다 효율적으로 활용할 수 있습니다. 조직은 하드웨어 리소스 할당을 최적화하고 머신러닝 워크로드 실행과 관련된 비용을 절감할 수 있습니다.
사용자는 개별 요구사항과 경험 수준에 따라 Kubeflow를 시작하는 몇 가지 다른 방법을 사용할 수 있습니다.