본문 바로가기

빅데이터

MLOps란 무엇인가? 영상 해설

https://www.youtube.com/watch?v=xZKtofBe18I 

MLOps란 무엇인가

2021년 AI업계에서 많이 나온 단어, 

머신러닝을 실제로 다룰때 서비스에 적용하는 과정에서 필요한 분야. 초창기라 공식적이 정의 없음.

다만, 머신러닝 -> 서비스 전달 과정에 필요한 operation

 

데이터 브릭스에 따르면

- ModelOps : 모델 개발에 필요한 운영 

- DataOps : 데이터 관련 운영

- DevOps : 소프트웨어 관련 운영

 

머신러닝 모델을 서비스에 올리려는 시도가 많이 진행되고 있음. 

그러나 이런 시도에 따라 몇가지 이슈가 발생됨

1) 로컬에서 개발한 모델(주피터에서 개발한 어떤 모델)을 어떻게 서비스에 사용할 수 있을까?

2) 모델의 버전관리는 어떻게하지?

3) 데이터셋 버전관리 어떻게하지?

4) 학습데이터와 실제 서비스 데이터 관리는 어떻게하지?

5) 머신러닝 서버 인프라관리는?

6) 재학습 또는 학습 없이 바로 진행 여부 결정

 

리서치와 서비스 프로덕션에 갈 때 필요한 일들을 MLOps로 통칭. 매우 큰 개념이라고 보면 됨.

 

MLOps vs DevOps

데브옵스는 보통 개발하면서 생기는 CI/CD, 인프라, 네트워크 등의 이슈를 해소하기 위핸 플랫폼

엠엘옵스는 ML을 하면서 생기는 오퍼레이션 이슈를 해소하는 것.

- 학습, 모델 서빙, 데이터 처리, 모델관리, CI/CD/CT(Continuous Training)

- ML infra는 일반적으로 DevOps팀과 협업하여 진행

 

요즘 MLOps 라이브러리/프레임워크

-> 베스트 없다. 너무 많다 확립된 개념이 아니라서 더 어려움.

-> 우버, 에어비엔비 등 여러 플랫폼 업체에서 다양한 라이브러리를 내놓고 있음

 

MLOps의 목표

- "머신 러닝 모델개발과정을 더 편리하게 만들기"

 

MLOps 업무를 당장해야하는 분들이라면

- MLOps로 무엇을 하려고하나?

1) 모델을 개발해야 하는것인지?

2) 플랫폼적으로서 모델 만드시는 분들에게 무엇을 제공해야하는지?

 

MLOps 고객 정의가 필요함

- 모델 개발시 노트북(주피터) 기반 플랫폼을 만들거나

- API를 쉽게 만들거나 사용하는 플랫폼 만들기

 

플랫폼이라면?

- 고객(우리팀내에 사용자? 리서처?) 사용성(UX)를 고려해야함

- 고객이 이 플랫폼을 사용하면서 왜 좋은지 알려야함(문화) <- 가장어려움

- 왜 이걸 써야하는지 잘 설득하는 과정이 중요

 

MLOps 커리어

MLOps Engineer 신입은 거의 없을 것. 

DevOps처럼 뭔가 정립된 내용이 없기 때문. 광범위한 부분도 있음.

 

MLOps 학습

MLOps = ML + Data Engineering + Dev + Infra(DevOps) 다양한 부분을 알아야함

- ML 프로젝트 라이프 사이클을 알수록 어떤 부분이 허들인지 알아차리고, 연구자 관점에서 공감하고 대안을 제시하기 수월함

- 머신러닝을 잘 이해할수록 문제를 해결하는 플랫폼을 만들 수 있음

- 데이터 흐름을 알아야하므로 데이터 엔지니어링 역량도 필요

- 인프라 관련 지식 필요

반응형