1. 서론


MLOPS: (Machine learning model management and operations; MLOPS) 는 머신러닝 알고리즘(딥러닝을 포함하여)을 비지니스 에 적용, 배포를 체계적으로 하는 기술의 이라고 정의할수 있다. MLOPS는 최근의 AI(Artificial intelligence) 산업 열풍에서 나온 기술이라고 볼수 있다. IDC에 따르면, 글로벌 AI 산업은 2024년 까지 110조 달러의 산업으로 성장할꺼라 파악된다[1]. 실제로 많은 기업들은 데이터 과학자들을 채용하기 위해서 열심히 노력하고 있으며, AI 산업은 2019년부터 매년 20%의 성장을 보이고 있다. 이에 따라 MLOPS 산업도 커지고 있으며, 유니콘 스타트업들이 생겨날 것으로 기대되고 잇다. MLOPS 스타트업인 Weight & Bias 는 2021년 시리즈 C 투자에 성공을 했다.[2] AI 산업이 기존의 개발 업무와 다른점은 무엇이기에 MLOPS 스타트업들이 활성화 되고 잇는것일까?

ML OPS는 머신러닝 시스템을 지속적으로 유지하면서 발생하는 각종 문제들을 해결하는것에 있다 [3]. 기존의 DevOPS가 존재함에도 불구하고 왜 MLOPS 라는 새로운 영역이 생겨난 것일까? 현대사회의 소프트웨어 개발은 객체 지향 방법론을 통한 모듈화, 디자인 패턴 등으로 추상화를 수행하고 이를 통한 유지 보수 가능한 코드를 만드는것에 있다. 하지만 머신러닝 시스템은 끊임 없이 업데이트 되는 데이터와 이를 통한 모델의 개선이 이루어 져야 하며, 동시에 해당 코드가 배포가 되었을때 어떻게 작동될지 정확한 예측을 할수가 없다는것이 문제이다. 때문에 머신러닝 시스템은 강력한 알고리즘의 힘으로 문제를 빠르게 풀수 있는것 같지만, 동시에 다양한 유지보수 문제를 일으킨다[3].

Untitled

Figure 1. 머신러닝 시스템에 필요한 요소들 머신러닝의 모델링 코드 이외에 다양한 요소가 필요하다.[3]

Figure 1 에서 본것처럼 ML 시스템에는 단순히 ML 모델 이외에도, 다양한 요소들이 큰 비중을 차지하고 있다. 그리고 이번 글에서는, 크게 3가지 요소, 데이터 품질, ML 시스템의 재현성, ML 시스템의 확장성에 힘쓰는 스타트업 및 기업들의 현황에 대해서 알아본다.

Untitled

Figure 2. 데이터 품질, 재현성, 확장성은 각 단계에서 영향을 미친다. MLOPS는 결국 모든 단계가 끊임 없이 수행 해야 된다.

2. 데이터의 품질


  1. 데이터 품질

유명한 AI 대가중 하나인 Andrew NG 교수는 이 머신러닝 시스템을 공식으로 표현하자면 다음과 같다고 말한다. ML system = code + data

특히 합리적 모델의 사용 이후 머신러닝 시스템을 개선하기 위해서는 데이터의 퀄리티를 증가 해야 한다고 한다. 특히 80% 의 일이 Data 이며 20%가 모델과 관련된 일이라 표현한다. 하지만 연구의 트렌드는 99%가 모델링 1%의 연구가 데이터에 대한 이야기를 한다. 이에 대해 Andrew NG 교수는 모델 중심적 사고 방식이 연구를 진행해왔고 이게 연구를 발전시켜 왔다. 하지만 산업계에 적용하기 위해서는 데이터 중심적 관섬에서 시스템을 설계 해야 된다 라고 표현한다. 그렇다면 데이터의 어떠한 점이 중요할까? 구글 클라우드 플랫폼의 엔지니어[4]들은 4가지 요소가 중요하다고 한다. 데이터의 정확성, 데이터의 완전성, 데이터의 일관성, 데이터의 적시성이다.

데이터의 정확성:

정확한 정답셋 구축은 AI 학습에 중요하다. 예를들어 분류 문제에서 20% 정도의 정답이 잘못 매겨져 잇으면 네트워크 및 알고리즘은 잘못된 것을 학습하게 된다.

데이터의 완전성:

통계적 관점에서 우리는 모집된 데이터가 세상을 잘 대표한다고 표현한다. 데이터의 완전성은 과연 구축한 데이터셋이 서비스에서 들어올 데이터들과 비교했을 때 대표성을 가질 수 있는가 라는 측면이다. 데이터 셋을 구성한다는 의미는 비즈니스의 범위를 정한다는 의미와 같다. 예를들어 우리는 철판 공장에서 철판이 잘 만들었는지 체크를 하고자 한다. 하지만 이 철판이

데이터의 일관성:

Andrew NG 교수의 MLOPS 에 대한 동영상에서 이러한 이야기를 한다. 라벨러(데이터의 정답셋을 만드는 직업)들이 데이터의 정답을 그릴 때 혹은 체크할때 사람의 성실성 과는 별개로 서로 다른 방식으로 답을 그린다. 때문에 정답셋을 일부 그리고 나서 서로 크로스 체크를 하며 데이터 사이언 티스트와 피드백이 있어야 한다.

데이터의 적시성:

이부분은 다양한 관점에서 볼수 있지만 가장 중요한 개념은 시간이 흐름에 따라 우리의 환경은 바뀌고 이에 따라 데이터의 경향 또한 바뀐다는 것이다. 이러한 현상을 데이터 드리프트라고 표현을 한다. 또한 데이터의 적시성은 데이터가 얼마나 빠르게 DB에 저장될수 잇는가 그리고 학습에 사용되는가에 따른 관점에서도볼수 있다.

이러한 데이터 퀄리티 증가를 하기 위한 산업에는 어떤것이 있을까? 데이터 퀄리티는 데이터 어노테이터와의 협업을 통해서 증가하게 된다. 실제로 많은 어노테이션 지원 회사가 존재한다.

Annotation-ai

Annotation-ai 의 경우 데이터 중심의 MLOPS 솔루션을 제공하는 국내 회사이다. 솔루션의 특징적인 부분은, 개인 정보로 문제가 될수 잇는 데이터 (사람의 얼굴, 자동차 번호판) 등의 자동 모자이크 화 기능을 제공한다. 또한 최근에 세그멘테이션을 자동으로 도와주는 서비스를 출시했다. 그 이외에도 MLOPS 전반적인 기술등을 (데이터 전처리, 어노테이션 리뷰, 모델 버전 관리 etc) 제공한다.

https://www.annotation-ai.com/

Anno_wiz_introduction.png

Figure 3. Annotation-ai 사의 홍보 자료, 많은 회사들과 같이 클라우드 베이스 혹은 로컬 서버 두가지 방법들 다 제공한다. A.I. 를 도입해야 하나 민감한 자료 (메디컬, 정부 기밀)를 적용 할경우 아직까지는 클라우드를 함부로 도입하지 않기 때문에 자사 서버도입을 많이 한다.

Supervisely

Supervisely 는 모델의 어노테이션, 모델 학습, 테스트 전부를 공유할수 있다. 특히 단축키를 활용한 빠른 수정이 유용하며, 서버가 아닌 로컬 컴퓨터와도 연결이 가능하다.

https://supervise.ly/

Superb-ai

슈퍼브 ai 는 컴퓨터 비전계의 데이터 옵스를 목표로 하고 있는 국내 회사이다. 해당 홈페이지에 DataOPS 에 대한 좋은 내용이 있어서 첨부한다.[4]

https://www.superb-ai.com/