일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 공분산
- GenericGBQException
- subdag
- correlation
- tensorflow text
- flask
- 상관관계
- XAI
- hadoop
- integrated gradient
- Airflow
- GCP
- chatGPT
- youtube data
- airflow subdag
- gather_nd
- grad-cam
- login crawling
- BigQuery
- session 유지
- TensorFlow
- Counterfactual Explanations
- spark udf
- Retry
- UDF
- API
- top_k
- 유튜브 API
- API Gateway
- requests
- Today
- Total
데이터과학 삼학년
Kubeflow pipeline 본문
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 기능이 많아 적재적소에 잘 사용하면 편리하게 관리 가능
- 적용사례가 많지 않아 사용에 어려움
-
kubeflow 관련 참고 코드 : https://github.com/kubeflow/pipelines
'GCP' 카테고리의 다른 글
Bigquery Table_Suffix 관련 error(적재되는 data type이 꼬였을 때) (0) | 2020.01.30 |
---|---|
Data_analysis on GCP (0) | 2020.01.17 |
Data engineering on GCP (0) | 2020.01.17 |
Bigquery load error (GenericGBQException)_(동시접근, parallel 작업시) (0) | 2020.01.09 |
Bigquery ML (0) | 2020.01.09 |