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 프로젝트 라이프 사이클을 알수록 어떤 부분이 허들인지 알아차리고, 연구자 관점에서 공감하고 대안을 제시하기 수월함
- 머신러닝을 잘 이해할수록 문제를 해결하는 플랫폼을 만들 수 있음
- 데이터 흐름을 알아야하므로 데이터 엔지니어링 역량도 필요
- 인프라 관련 지식 필요
'빅데이터' 카테고리의 다른 글
아파치 플링크는 2.0 버전부터는 더이상 scala API를 지원하지 않습니다. (0) | 2024.05.10 |
---|---|
JSON은 null을 키값으로 가질 수 있을까? (0) | 2024.01.18 |
아파치 피노(apache pinot) 소개 (0) | 2022.04.22 |
[번역]NVIDIA에서 정의하는 MLOps (0) | 2021.09.29 |
[번역]넷플릭스에서 데이터를 찾는 방법, Data Explorer 소개 (0) | 2021.09.22 |
프로메테우스 지표 rate와 increase의 차이점 (0) | 2021.07.02 |