호돌찌의 AI 연구소
article thumbnail

MLOps에서 큰 범주로 나누면 데이터, 모델, 서빙으로 나눌 수 있습니다.

이번 글에서는 각 범주에 해당되는 SW/오픈소스 등을 언급만 하고 넘어갈 예정입니다. 제가 찍어만 먹어보거나 사용했던 경험이 있는 부분만 진한 글씨로 표시를 해보았습니다. 

 

1. 데이터 

요리로 치면 재료에 해당하는 부분입니다. 데이터 수집 Pipeline, 저장, 관리 측면으로 나눌 수 있습니다. 

- 데이터 수집 Pipeline : Sqoop, Flume, Kafka, Flink, Spark Streaming, Airflow

- 데이터 저장 : MySQL, Hadoop, Amazon S3, MinIO

- 데이터 관리 : TFDV, DVC, Feast, Amundsen

 

2. 모델 

요리로 치면 조리에 해당하는 부분입니다. 개발, 버전 관리, 학습 및 스케쥴링 관리 측면으로 나눌 수 있습니다.

- 모델 개발 : Jupyter Hub, Docker, Kubeflow, Optuna, Ray, katib

- 모델 버전 관리 : Git, MLflow, Github Action, Jenkins

- 모델 학습, 스케줄링 관리 : Grafana, Kubernetes

 

 

3. 서빙

서빙 부분을 간단히 설명하면, 평소에 내가 구현한 모델을 불러 Inference.py를 노트북에서 python으로 보는 것 아닌 API 형태로 제공받아 서버에서 조금 더 쉽게 돌릴 수 있는, 조금 더 접근성이 뛰어나게 하는 부분을 뜻합니다. 

패키징, 서빙 모니터링, 파이프라인 매니징 측면으로 나눌 수 있습니다.

- 모델 패키징 : Docker, Flask, FastAPI, BentoML, Kubeflow, TFServing, seldon-core

- 서빙 모니터링 : Prometheus, Grafana, Thanos

- 파이프라인 매니징 : Kubeflow, argo workflows, Airflow

 

 

 

 

 

 

 

 

 

4. 기타

이러한 부분들을 올인원으로 제공해주는 Tool들도 당연히 빅테크에 존재합니다. AmazonAmazon Sagemaker, 구글GCP Vertex AI, MSAzure Machine Learning 등이 있습니다. 하지만 프리티어 계정으로는 조금 어려운 부분이 많기 때문에 블로그에 올라오는 글은 대부분 오픈소스에 가까울 예정입니다. 

 

5. 총평

정리를 해보니, 정말 다양한 배경지식이 결합된 것이 MLOps라는 것을 깨달았습니다. 또한 완벽하게 정립되지 않은 분야라고 할 수 있습니다. 이걸 수강하는 저 또한 짧게는 반년 정도 뒤에 많은 것이 바뀔 수 있다고 생각합니다. 그리고 위의 1~3을 한번 쭉 적어보니, 저러한 오픈소스들이 들어본 건 대부분 다 들어보았지만 확실히 사용해본 부분은 상당히 적음을 알게 되었습니다.

성공적인 MLOps를 수행하기 위해서는 ML 이론, SW 구현 능력, 클라우드 지식 등을 갖춘 사람들끼리 협업을 해야한다고 합니다. 우선 여기에 필요한 기본적인 내용을 빌드업하며 블로그에 업로드하겠습니다. 도커와 쿠버네티스 기본 부분을 다음 글부터 시작하겠습니다. 

 

 

 

 

 

 

 


https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 

 

 


profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!