AI/MLOps

(1) What is the MLOps?

Jinlib 2022. 1. 7. 17:13

MLOps는 DevOps 용어에서 파생되어 나온단어다. 그러므로 DevOps를 우선적으로 대해서 알아보도록하자.

 

What is the DevOps?

DevOps는 제품 개발 프로세스에서 유래된 단어로 Development + Operations의 합성어이다.
개발(Dev)부서는 제품을 개발하고 마켓에 론칭하는 역할을 하고, 운영(Ops)부서는 제품을 운영하면서 시장의 트랜드, 고객 니즈를 대처한다.
이때, 개발(Dev)부서는 새로운 기능이나 유지보수에 대한 개발만 할 뿐 운영(Ops)부서만큼 고객의 니즈를 고려하여 개발하지 않는다.
운영(Ops)부서 또한 개발(Dev)부서만큼 개발시 발생하는 애로사항등 알기 어렵다

그리하여 애로사항을 해결하기 위해 개발(Dev), 운영(Ops)부서 아우르는 개념을 만들자 해서 나온것이 DevOps 이다.

DevOps는 소프트웨어 개발에 있어서 프로그래밍, 테스트, 운영을 통합할 수 있는 환경을 구축하는 역할을 한다.
그들의 목표는 종종 사일로(Silo) 현상에 빠진 프로세스를 논리적이고 일관된 프로세스로 개선시키는 팀이라고 할 수 있겠다.

What is the MLOps?

MLOps는 DevOps가 추구하는 방향과 아주 유사하다 프로세스를 개선해서 사용자에게 AI 서비스를 빠르게 전달하자!
일반적으로 머신러닝 서비스를 운용하기 위한 Computer Code는 매우 적은 부분을 차지한다. 이러한 이유로, 기존에는 Data Scientist 가 다양하고 많은 데이터를 분석하고, ML/DL Engineer가 AI 서비스 및 제품을 제작하는데 주로 공을 들여 왔다면, MLOps Engineer는 이들의 작업환경을 위한 데이터 수집단 부터 시작하여 모델 Training 운영을 원활하게 설계할 뿐만아니라 Research에서 개발된 AI 모델을 Production으로 통합을 위한 파이프라인 및 자동화를 구현하는 포지션이라고 보면된다.

MLOps Engineer가 주로 하는일을 정리하자면 아래와 같다.

  • Machine learning 모델 운영을 하면서 주기적으로 생기는 이슈 관리
  • 데이터 처리, 모델 학습, 모델 서빙, 모델 관리 등 머신러닝 프로세스 전반을 관리
  • CI / CD / CT(Continuous Training)

MLOps Engineer 되기 위해 공부해야하는것.

  • 데이터흐름: 데이터 수집 부터 ETL 프로세스 (데이터 엔지니어링 역량)
  • ML 프로젝트 라이프사이클에 대한 이해 (머신러닝 엔지니어 역량)
    프로젝트 수행하며 생기는 문제점을 공감하고 솔루션 제시하기 쉬움
  • 인프라 관련 지식 (인프라 아키텍쳐 역량)

이처럼 MLOps 엔지니어라는 직군은 여러 역량들이 하나로 합쳐진 것이라고 볼 수 있다.
이러한 연유로, 처음부터 신입을 뽑기 보다는 한다리 거쳐서 뽑는경우가 많다(2022년 상반기 기준)

다음 게시글에서는 일반적으로 머신러닝 프로젝트가 어떤식으로 흘러가는지 Flow를 한번 살펴보도록 하자.