Kubeflow 기능을 살펴보자~!!

대시보드에 노트북부터 텐서보드, 모델, 파이프라인 등등 다양한 기능들이 모여있다. 각각의 용어들은 공식문서에 잘 나와있다.

다만 영어라는 게 함정ㅋㅋ 영어를 내가 어떻게 라고 생각하며 겁을 먹었지만 그래도 글로벌 업무를 맡으면서 어쩔 수 없이 영어 이메일로 소통을 해야하는 상황에 놓이니 어떻게 해서든 영어로 커뮤니케이션을 하게 되더라는. 그렇지만 아직까지는 컨퍼런스 콜 미팅은 넘사벽이다..

이런 나는 강사님의 꼼꼼함에 매번 놀라고 있지만 이런 영문으로 된 최신 자료들을 지속적으로 챙겨보고 업무에 적용하는 능력에 박수를 보내고 싶다.

나도 남들이 쓰는 기술만 쓰는 게 아니라 새로운 트렌드를 찾아보고 적용해보는 습관을 들여야겠다! 꼭 정해진 답이 있는 것도 아니고 상황에 맞게 취사선택하는 능력 말이다.

이렇게 매일 반복적으로 선언하는 습관을 들이면 50일 후에는 좀더 긍정적으로 변한 내가 기다리겠지?! 50일 데일리 미션을 하루하루 쪼개서 생각하면 나도 할 수 있겠구나라는 생각이 든다. 그동안은 내가 어떻게 이걸 해낼까라는 두려움, 큰 산 앞에서 좌절하기를 수십번이었다. 그렇지만 Divide and Conquer라고 하루하루 할 일을 쪼개어 실천해나가는 건 매일 습관이 들면 큰 힘이 들지 않는다는 것을 느끼고 있다!!

 

https://www.kubeflow.org/docs/components/central-dash/overview/

https://github.com/kubeflow/kubeflow/tree/master/components/centraldashboard

Overview of Kubeflow UIs

The Kubeflow UIs include the following:

  • Home: Home, the central hub to access recent resources, active experiments, and useful documentation.
  • Notebook Servers: To manage Notebook servers.
  • TensorBoards: To manage TensorBoard servers.
  • Models: To manage deployed KFServing models.
  • Volumes: To manage the cluster’s Volumes.
  • Experiments (AutoML): To manage Katib experiments.
  • Experiments (KFP): To manage Kubeflow Pipelines (KFP) experiments.
  • Pipelines: To manage KFP pipelines.
  • Runs: To manage KFP runs.
  • Recurring Runs: To manage KFP recurring runs.
  • Artifacts: To track ML Metadata (MLMD) artifacts.
  • Executions: To track various component executions in MLMD.
  • Manage Contributors: To configure user access sharing across namespaces in the Kubeflow deployment.

The central dashboard looks like this:

 

https://www.kubeflow.org/docs/components/kfserving/kfserving/

(영어는 점점 익숙해지겠지...)

KFSserving | Model serving using KFServing

KFServing enables serverless inferencing on Kubernetes and provides performant, high abstraction interfaces for common machine learning (ML) frameworks like TensorFlow, XGBoost, scikit-learn, PyTorch, and ONNX to solve production model serving use cases.

This Kubeflow component has beta status. See the Kubeflow versioning policies. The Kubeflow team is interested in your feedback about the usability of the feature.

KFServing은 Kubernetes에서 서버리스 추론을 가능하게 하고 TensorFlow, XGBoost, scikit-learn, PyTorch 및 ONNX와 같은 일반적인 기계 학습(ML) 프레임워크를 위한 고성능의 높은 추상화 인터페이스를 제공하여 사용 사례를 제공하는 프로덕션 모델을 해결합니다.

그렇지만 아직 베타 서비스라는 점.

 

You can use KFServing to do the following:

  • Provide a Kubernetes Custom Resource Definition for serving ML models on arbitrary frameworks.
  • Encapsulate the complexity of autoscaling, networking, health checking, and server configuration to bring cutting edge serving features like GPU autoscaling, scale to zero, and canary rollouts to your ML deployments.
  • Enable a simple, pluggable, and complete story for your production ML inference server by providing prediction, pre-processing, post-processing and explainability out of the box.

KFServing을 사용하여 다음을 수행할 수 있습니다.

  • 임의의 프레임워크에서 ML 모델을 제공하기 위한 Kubernetes 사용자 지정 리소스 정의를 제공합니다.
  • 자동 크기 조정, 네트워킹, 상태 확인 및 서버 구성의 복잡성을 캡슐화하여 ML 배포에 GPU 자동 크기 조정, 0으로 크기 조정, 카나리아 롤아웃과 같은 최첨단 서비스 기능을 제공합니다.
  • 즉시 사용 가능한 예측, 사전 처리, 사후 처리 및 설명 기능을 제공하여 프로덕션 ML 추론 서버에 대해 간단하고 연결 가능하며 완전한 스토리를 지원합니다.

 

https://www.kubeflow.org/docs/components/katib/overview/

Katib

Katib is a Kubernetes-native project for automated machine learning (AutoML). Katib supports hyperparameter tuning, early stopping and neural architecture search (NAS).

Katib is the project which is agnostic to machine learning (ML) frameworks. It can tune hyperparameters of applications written in any language of the users' choice and natively supports many ML frameworks, such as TensorFlow, MXNet, PyTorch, XGBoost, and others.

Katib은 자동화된 기계 학습(AutoML)을 위한 Kubernetes 네이티브 프로젝트입니다. Katib은 하이퍼파라미터 조정, 조기 중지 및 신경 아키텍처 검색(NAS)을 지원합니다.

Katib은 머신 러닝(ML) 프레임워크에 구애받지 않는 프로젝트입니다. 사용자가 선택한 모든 언어로 작성된 애플리케이션의 하이퍼파라미터를 조정할 수 있으며 TensorFlow, MXNet, PyTorch, XGBoost 등과 같은 많은 ML 프레임워크를 기본적으로 지원합니다.

 

 

Kubeflow Pipelines (KFP)

Pipeline 이란

  • 머신러닝 workflow를 DAG 형태로 정의한 것
  • kebeflow에 배포 후 run하면 pipeline을 구성하는 각각의 component들이 k8s 위에서 pod으로 생성되어 서로 데이터를 주고 받으며 흘러감
  • model을 serving까지 보내는데 필요한 모든 작업을 재사용 가능한 단위(component)까지 나누고, k8s위에서 연결시켜주는 역할

 




본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 바로가기: https://bit.ly/37BpXiC

 

+ Recent posts