VISION HONG
article thumbnail
Kubeflow pipeline에서 DVC로 데이터 버전관리하기
MLOps 2022. 12. 23. 16:23

최근 사내에서 MLOps의 수많은 컴포넌트중 한 부분인 데이터 버전관리를 Kubeflow 파이프라인에서 수행하도록 구성 할 일이 있었다. 그 과정 속에서 겪었던 문제와 해결방법을 이번 포스팅에 담아보려고 한다. 데이터 버전관리 툴은 DVC(Data Version Control)로 선택하였다. DVC를 선택한 이유는 과금이 발생하지 않는 오픈소스이기도 하고 git과 밀접한 관계를 가지기 때문에 코드 버전 관리와 더불어 데이터 버전관리를 간편하게 할 수 있어 결정하였다. DVC 기본 활용방법은 공식문서에 자세히 나와있고 지난 포스팅에서도 한번 다뤘기 때문에 DVC 기본 문법에 대해서는 생략한다. 1. Intro 현재 상황에 대해 간략히 설명하면 다음과 같다. 머신러닝 프로젝트가 여러개 존재하며 정형데이터가 ..

article thumbnail
Deploy with BentoML Yatai
MLOps 2022. 7. 19. 16:16

이번글에서는 BentoML의 Yatai라는 component를 쿠버네티스 클러스터에 설치하여 Yatai Web UI를 통해 간편하게 모델을 배포 및 관하는 방법에 대해 소개하려고 한다. 얼마전에 BentoML v1.0.0이 preview release 되었는데 눈 여겨볼 변경점은 다음과 같다. bentoml 커맨드에 yatai login 이라는 하위 명령어와 옵션을 통해 외부 컨테이너에서 쿠버네티스 환경의 yatai에 접근하여 모델을 push할 수 있다. (API 토큰, Yatai endpoint 활용) model과 bentos(bento service)를 구분지어 관리하고 runner라는 원격 python worker에서 inference를 실행할 수 있도록 한다. 위와 같은 변경점을 새로 적용하면서 ..

article thumbnail
Understanding the Feature Store with Feast
MLOps 2022. 6. 22. 14:13

이번 포스팅에서는 MLOps의 구성요소(infrastructure) 중 아직은 많이 알려지지 않은 Feature Store에 대해 알아보고 Feature Store Open Source인 Feast의 사용법을 알아보고 Kubeflow에 적용 해보려고 한다. 우선 Feature Store가 무엇인지 알아보자. Feature Store Feature Store란 이름 그대로 머신러닝 프로젝트에서 다루는 Feature(Column)와 value를 저장하는 저장소를 의미한다. 그런데 굳이 Feature Store를 사용하는 이유는 무엇일까? 큰 조직에 여러 데이터 사이언티스트 팀과 머신러닝 엔지니어 팀이 있다고 가정해보자. 각각의 데이터 사이언티스트 팀은 Feature Engineering을 거쳐 데이터를 잘 ..

article thumbnail
[Part.2] Image Classification on MLOps
Project 2022. 2. 28. 15:03

Content 1. Define Persistent Volume Claim 2. Kubeflow Pipeline 3. Preprocessing 4. Hyperparameter Tuning (weights and biases) 5. Model Training & Test (kfp) 6. Model Versioning (mlflow) 7. Model Serving (bentoml) 8. Monitoring (prometheus & grafana) 지난 포스팅에서 Kubeflow pipeline을 작성하여 Kubeflow dashboard에 pipeline을 등록하였다. 이제 pipeline을 실행하면서 각 컴포넌트의 결과값을 살펴보자 3. Preprocessing surface pipeline에서 creat..

article thumbnail
[Part.1] Image Classification on MLOps
Project 2022. 2. 28. 10:30

이번 포스팅부터 몇차례에 걸쳐 Image Classification을 Kubernetes 환경에서 MLOps tool을 통해 전체적인 파이프라인을 구축하는 작은 프로젝트를 작성하려고 한다. 프로젝트에서 활용한 쿠버네티스 환경 및 Prerequisite는 아래와 같다. (쿠버네티스 환경 세팅 및 설치 방법은 여기를 참고) Kubernetes Cluster OS: Ubuntu 18.04.6 LTS GPU: Tesla V100 x 4 Docker v20.10.8 Kubeadm(on-premise) v1.21.7 kubelet,kubectl v1.21.7 Client OS: mac(Intel) Docker v20.10.8 kubectl v1.21.7 kubeflow: v1.4.0 helm v3.7.1 kusto..