데이터과학 삼학년

Kubeflow pipeline 본문

GCP

Kubeflow pipeline

Dan-k 2020. 1. 9. 16:51
반응형

kubeflow pipeline

- kubeflow에서 제공하는 workflow

- ml workflow를 사용하기 위해 cmle를 사용할 수도 있지만 kubeflow 내에 있는 ksonnet으로 ml 학습&예측 가능

- kubeflow는 GKE 위에 설치하고 web ui에서 관리 가능

- 전체적인 ML 파이프라인 구성 가능(쥬피터 허브, 텐서플로우, Seldon, argo, docker image, TFX 등 지원)

- 오픈소스를 활용한 ml 작업을 유연하게 구성가능하도록 구성

- 목적 : composability, portability, scalability(환경을 elastic하게 조정)

- data ingestion 부터 monitoring, logging까지 전체적인 일련의 과정 구성

- kubernetes 위에서 작업이 실행되면 환경에 유동적으로 대응 가능(portability)

  > labtab에서 돌던거 container를 올려서 cloud나 타 환경에 적용

- 주피터 노트북이 전체 프로덕트 관리

- TFJob : yaml 파일로 kind 구분

- Seldon : tensorflow 외 다른 모델 적용

- ML : CMLE, Kubeflow with Data, Expert

[kubeflow 활용성]

- cmle 외 ksonnet을 굳이 ml 을 위해 사용해야하나

- kwick labs 조차 문제없이 잘되는 코스가 많이 없음

 

ksonnet(대체재 : 헬름)

- yaml파일을 자동으로 생성해주는 툴 

- ks 

- ks get tfJob…….

- airflow와 유사 

train = dsl.ContainerOp(

   ~~~

   ~~~

)

train.after(eval)

kubeflow install

- install 과정에서 permission error 발생 → 보안팀에 GCP project에 대해 모든 권한 접근 가능하도록 요청해야함(권한이 GCP기능마다 부분적으로 부여)

- kubeflow pipeline UI 접근 : https://<kubeflow 설정 name>.endpoints.<GCP PROJECT NAME>.cloud.goog/

- 해당 URL로 접근하기 위해 GCP Api&service에서 oauth 동의화면에 계정 설정 해야함

 

kubeflow pipeline 구성 방법

- yaml 파일로 pipeline 구성

  : python 파일로 pipelins을 구성한 후 kubeflow 라이브러리(kfp)의 dsl.pipeline을 decorator로 사용하여 yaml파일로 구성할 수 있도록 설계

- kubeflow pipeline에 job을 올리기 위해 kfp.compiler를 이용하여 tar.gz 파일로 압축한후 kubeflow pipeline에 올리면 실행 가능

- kubeflow pipeline 파일을 upload하고 experiment를 만들어 실행, 즉 여러개의 pipeline을 만들어도 experiment를 만들어 실행 → job version 관리에는 용이

- output 관리 용이(tensorboard, confusion-matrix, analysis web, roc, prediction 등)

 

- job 관리 용이 

 

- pipeline 내에 crontab을 이용하여 스케줄링 가능하며,만든 pipeline job별로 



kubeflow pipeline 실습

- sample 코드 experiment 만들고 run 완료

- mnist 분류하는 pipeline 구성 및 실행 완료

 

 

 

 

kubeflow notebook

- kubeflow에 jupyter notebook 사용가능하며 이 환경에서 ml 구현 편함

- 간단한 mninst 분류(softmax 사용) 예제 적용해봄

 

- notebook에서 코드 구성해 pipeline으로 연결 가능





개인의견

- kubeflow 기능이 많아 적재적소에 잘 사용하면 편리하게 관리 가능

- 적용사례가 많지 않아 사용에 어려움

 

 

728x90
반응형
LIST
Comments