VISION HONG
article thumbnail
[ML Design Pattern] 0. Back to the basic
MLOps 2022. 9. 6. 00:39

최근들어 MLOps에 관심을 가지게되면서 현업에서 사용되는 여러가지 툴을 익혀보았다. 좋은 툴을 잘 활용하는것도 물론 중요하지만 머신러닝 시스템이 어떤 상황에서 활용되어야 진정한 AI로써의 가치를 만들어내는지, 실제 서비스를 운영하면서 발생하는 문제를 어떻게 풀어나가야 하는지, 현재 상황속에서 사용자 경험을 더 끌어올리는 방법이 무엇일지에 대한 고민을 하게되었다. 머신러닝 엔지니어 입장에서만 MLOps를 바라보기 보다 머신러닝을 사용하는 사용자의 시각에서 MLOps를 구현해보면서 문제해결 능력을 키우는 것이 중요하다고 생각되어 앞으로 수차례에 걸쳐 머신러닝 디자인 패턴과 안티 패턴에 대해 정리하고 스스로 문제를 정의하여 다양한 프로젝트를 진행해 보려고 한다. 자신들의 분야에 AI를 적용하고 싶어하는 기업..

article thumbnail
Jenkins 로 도커 이미지 Build & Push 자동화하기
MLOps 2022. 7. 9. 12:41

Kubeflow에는 kfp라는 Python SDK가 존재하며 이를 통해 도커 이미지 없이 ML pipeline을 구축할 수 있다. 하지만 딥러닝을 수행할 경우 코드 길이가 길어져 kfp로 코드 작성 및 수정이 어려워지고 큰 데이터셋에 대한 component간의 데이터 전달이 제한적이다. 이러한 경우 전처리, 하이퍼파라미터 튜닝, 학습, 검증을 각각 수행하는 코드를 작성하여 도커 이미지를 build&push 한 뒤 각 component에 맞는 image를 manifest에 명시해준다. component별로 Docker Image를 생성하고 개발 단계에서 마주하는 수많은 디버깅 작업으로 인해 수십번의 build&push가 필요한데 매번 CLI에서 명령어를 날리는 일이 여간 불편한게 아니다. 이번 포스팅에서는..

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.3] Image Classification on MLOps
Project 2022. 3. 2. 16:45

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) 지난 포스팅에서 전처리, 하이퍼파라미터 튜닝, 학습 및 평가를 수행해 보았다. 이제 mlflow의 Experiments를 Model Versioning을 해보고 원하는 모델을 직접 Serving을 할 차례이다. 마지막으로는 Kubernetes의 리소스 관리를 위한 ..

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..