Pipelines
What is Kubeflow Piplines?
- A user interface (UI) for managing and tracking experiments, jobs, and runs.
- An engine for scheduling multi-step ML workflows.
- An SDK for defining and manipulating pipelines and components.
- Notebooks for interacting with the system using the SDK.
Kubeflow에서 제공하는 Piplines란 다양한 Step을 가진 ML workflows를 UI형태로 제공하는 것 이다.
이러한 과정은 SDK를 통하여 이루워지며 SDK는 Jupyter Notebook과 interacting이 가능하다.
또한 Kubeflow의 Pipelines를 사용하면 다음과 같은 장점이 있다고 설명하고 있다.
- End-to-end orchestration: enabling and simplifying the orchestration of machine learning pipelines
- Easy experimentation: making it easy for you to try numerous ideas and techniques and manage your various trials/experiments.
- Easy re-use: enabling you to re-use components and pipelines to quickly create end-to-end solutions without having to rebuild each time.
즉 한번 정의하여 계속해서 손쉽게 사용하고 다양한 환경에서 실험할 수 있게 도와주는 End-toend orchestration이다.
PipeLine 예제 실행
Kubeflow자체에서 Pipeline을 실행할 수 있는 환경을 만들어 두었다.
이러한 예제를 실행하고 어떻게 실행되는지 알아보자.
예제1: [Sample] Basic - Parallel Execution
[Sample] Basic - Parallel Execution Click
Click Create experiment
Enviroment 선언
Run details 선언
Experiments 확인
Status가 Unknwon Status -> Executed Success 이되면 Name Click
결과 확인 결과 Graph, Run output, Config등을 확인 가능하다.
예제2: [Sample] ML - XGBoost - Training with Confusion Matrix
위와 같은 과정을 거치나 중요한 점은 GCP에 결과를 저장하기 때문에 다음과 같은 Parameter에 특정한 값을 넣어야 한다는 것 이다.
실행을 시키면 실제 Pod이 Container를 생성하시키면서 실행하는 것을 살펴볼 수 있다.
현재 Kubeflow자체는 Minikube에서 Local로서 돌리는 것을 목표롤 잡고 환경설정을하여서 실제 GCP 연동에 대한 Kubernetes의 Setting을 하지 않아서 kubeflow Xboost Pod안에서 Container가 생성되지 않는다. 결과 확인 못하였다.
참조:Kubeflow-PipeLines
코드에 문제가 있거나 궁금한 점이 있으면 wjddyd66@naver.com으로 Mail을 남겨주세요.
Leave a comment