이번 글에서는 MLOps란 무엇인지 알아보고 발생할 수 있는 문제를 살펴보겠습니다.


MLOps란 무엇일까?


DevOps 라는 단어를 들어본 적이 있는가? DevOps란 소프트웨어 개발과 운영의 합성어이다. 회사는 개발 뿐만 아니라 프로젝트를 빌드하고 배포하고 테스트하는 운영 업무도 같이 해야 한다. 그런데 하나의 서비스를 개발팀, 운영팀 이렇게 두개의 팀에서 관리하다보면 비효율적인 부분이 생긴다. 그래서 등장한 개념이 DevOps다.

DevOps와 마찬가지로 AI를 인공지능을 도입한 기업은 위와 비슷한 문제가 생긴다. 인공지능 산업에서는 데이터 관리 및 머신러닝 시스템 개발뿐만 아니라 서비스 운영을 통해 안정적으로 서비스를 제공해야된다. 이 또한 두개의 팀으로 운영 되면 비효율적인 문제가 발생되기 때문에 MLOps라는 개념이 탄생한 것이다.


flow


DevOps와 MLOps는 비슷해 보이지만 크게 다른 부분이 있다. 바로 데이터이다. DevOps와 다르게 MLOps에는 Model training이 더해져 ML infrastructure test, model tests, Data tests, skew tests, data monitoring, system monitoring이 추가된다. 또한 머신러닝은 서비스 배포에서 끝나는 것이 아니라 실제 프로덕션에서 새로운 데이터에 대한 지속적인 학습이 필요하다. DevOps에는 없는 역할이 MLOps에서 추가 된 것이다.


MLOps의 상세 개념


MLOps의 핵심은 머신러닝 학습 주기 관리의 표준화 및 간소화이다. 왜 이런 역할이 필요할까? 과거에는 AI가 굉장히 낯선 개념이고 AI를 도입한 기업이 얼마 되지 않았다. 도입해봤자 소규모로 관리할 수 있는 수준 이었다. 하지만 현재는 대규모 데이터를 다루는 AI 시스템이 많고, 자동화에 초점이 맞춰져 있기 때문에 모델 관리가 더더욱 중요해진다.



그러나 대규모 ML을 관리하는 건 쉽지 않은 일이다. 그 이유는 아래와 같다.

  • 많은 장애물이 존재한다. 데이터는 끊임없이 변화하고, 비즈니스 요구도 계속 변한다.
  • 의사소통에 어려움을 겪을 수 있다. 데이터 사이언티스트, 머신러닝 엔지니어, LOB 등 각자의 언어가 다르다.
  • 데이터 사이언티스트는 프로그래머가 아니다. 대부분 데이터를 다루는 사람은 모델 구축 및 평가에 특화되어 있다.


리스크 관리를 위한 MLOps



AI 이루다, 스캐터랩 제공


리스크 평가

머신러닝 모델에서 발생 할 수 있는 리스크는 매우 다양하다. 스캐터랩에서 이루다 챗봇 서비스 배포 후 다양한 문제가 발생한 사례를 예로 들 수 있다. 스캐터랩은 연애의 과학 이용자들의 카톡 데이터를 부적절하게 수집하고 보호하지 못해서 실명, 주소 등 개인정보가 고스란히 노출되는 사고가 있었다. 출시 이후에도 모니터링을 통해 즉시 필터링을 거쳤다. 하지만 개인정보, 차별적 대화 등 다양한 문제가 발생되어서 결국 서비스를 중단하게 되었다. 이처럼 MLOps 에서는 발생할 수 있는 문제를 미리 파악하고 완화하는 방법을 고려해야된다. 대표적인 리스크 평가 방법은 다음과 같다.

  • 주어진 기간 동안 모델을 사용할 수 없는 리스크
  • 모델이 주어진 샘플에 대해 잘못된 예측을 반환 할 리스크
  • 시간이 지남에 따라 모델 정확도 또는 공정성이 감소 할 리스크
  • 모델을 유지하는 데 필요한 기술이 손실 될 리스크

리스크를 관리하기 위해 가능성영향도라는 두 가지 평가 지표가 존재한다. 그리고 이 두 가지 지표를 활용하여 주기적으로 평가를 해야된다. 자칫 머신러닝 모델이 예측하지 못한 방향으로 흘러갈 수 있기 때문이다.

리스크 완화

머신러닝은 문제를 해결하는데 매우 좋은 도구이다. ML 서비스를 운영한다는 것은 지속적인 관리와 노력이 필요하다. 단지 모델을 프로덕션으로 배포하는 것이 끝이 아니다. 이루다 서비스의 예시와 같이 사용자의 반응을 살피고 문제가 발생하면 즉각적으로 해결하려는 노력이 필요하다. 이런 리스크 완화에 실패하게 되면 결국 서비스를 중단하는 지경에 이른다. 서비스의 사후관리는 선택이 아닌 필수적인 요소로 자리잡았다.

머신러닝 모델은 사용중인 소프트웨어 및 운영 체제 버전, 프로덕션 환경에 매우 민감하다. 머신러닝 모델도 소프트웨어이기 때문에 고질적인 버그가 존재한다. 이 버그는 테스트 환경과 실제 환경이 달라서 생기는 문제일 수도 있고, 또 다른 이유가 있을 수도 있다. 그렇기에 주기적으로 잠재적인 리스크를 체크하며 완화할 필요가 있다.


책임있는 AI를위한 MLOps



지향성

모델이 목적에 맞게 설계되고 동작하는지 확인해야된다. 데이터가 한쪽으로 편향되어 있지는 않은지, 혹은 모델의 편향을 점검해야 된다. 그리고 모델이 어떠한 결과를 도출 했을 때 그 결과를 설명 할 수 있어야 한다.


책임감

책임이란 어떤 팀이 어떤 데이터, 방법, 모델을 사용하고 있는지 파악하는 것으로 부터 시작합니다. 또한 데이터가 신뢰할 수 있고 규정에 따라 수집되고 있는지 검증해야 됩니다. 스캐터랩의 경우 사용자의 허락 없이 카톡 데이터를 사용 하였기 때문에 논란이 발생했다. 이런 문제는 해당 서비스에 대한 신뢰도를 급격하게 떨어트릴 수 있다.

기계 학습 모델의 도입에 따라 책임감은 더욱 중요한 사항이 되어졌다. 즉, 이 전에는 사람이 결정했던 부분을 현재는 모델에 의해 결정되고 있다. 해당 모델의 결정을 담당하는 사람은 데이터 팀 혹은 임원일 가능성이 높다. 그렇기 때문에 Responsible AI는 점점 중요해진다.


Introducing MLOps (저자:Mark Treveil) 의 책을 읽고 MLOps에 대해 정리한 글이다. 더 자세한 내용을 알고 싶다면 MLOps 책 소개를 보길 바란다.