MLOps, 나는 어디인가

앞서 MLOps란 무엇이고 어떤 단계가 존재하는지 살펴봤다. 그러면 현재 나는 어느 수준에 위치하고 있는가?

MLOps Level 0이다.

MLOps level 0 의 문제점

MLOps level 0 수준이 무엇인지 다시 한 번 간단히 살펴보면, 수동 프로세스인 상태이다. 데이터 과학자와 ML 연구원은 있지만 모델을 빌드하고 배포하는 과정은 완전히 수동으로 이루어진다. 또한 배포가 자주 있지 않고, 모델을 만드는 데이터 과학자와 서비스로 배포하는 엔지니어가 분리되어 있다.

MLOps 0 단계에서 발생하는 문제점은 모델이 배포되면 실제 환경에서 손상되는 경우가 많다. 또한 모델은 동적인 변화나 데이터의 변화에 대응하기 어렵다.

현장의 모델 성능을 실시간으로 모니터링 하는 것이 가능한가

그러면 개선의 여지는 있는가? 병원 데이터의 경우 상당히 보안상 이슈가 있기 때문에 외부에서 접근하기는 어려운 것으로 알고 있다. 그러면 모델의 성능을 실시간으로 모니터링 하는 것을 사실상 불가능하다. 그러면 조금 더 빨리 대응할 수 있는 방법은 없을까? 데이터를 가져올 수 있는 동의를 얻었다고 해보자. AI 시스템은 병원의 내부망에 통합되어 있는 형태라고 보면, AI 시스템과 독립적인 디바이스를 연결해서 데이터 팀은 디바이스와 원격으로 통신을 하여 모니터링 하는 것이 방법이 될 수 있을 것이다. 이것도 여전히 AI 시스템이 병원 시스템과 연결되어 있기 때문에 AI시스템과 연결된 디바이스도 문제가 될 수도 있겠지만, 선택적으로 디바이스 업데이트 시간을 정해두고 그 시간에는 병원 시스템과 AI 시스템 간에 네트워크 연결을 해제하고 작업을 할 수도 있다. 물론 이것이 가능한 지는 모르겠다.

모니터링이 됐을 때, 대응이 가능한가, 어떤 이점이 있나

대응이라는 의미를 구분해서 살펴보자.

  • 추가 데이터를 학습하여 업데이트 된 모델을 서빙 한다.
  • 예상치 못한 바운딩 박스 퀄리티를 수정한다.
  • 명백한 abnormal을 감지하지 못하는 경우를 감지하여 왜 그런지 원인을 찾는다.

먼저 첫 번째, 데이터를 추가하여 더나은 성능을 가지는 모델을 제공하는 것인데, 사실상 불가능하다고 볼 수 있다. 왜냐하면 현재 지도학습을 통해 모델을 학습하고 있고, 영상전문의에게 주석을 의뢰하고 데이터를 받는데 까지 시간이 걸린다. 또한 더 큰 문제는 비용이 들기 때문에 계속해서 주석을 의뢰할 수가 없다. 그래서 배포한 시점으로부터 6개월? 정도는 데이터로써는 개선의 여지가 없다고 봐야할 것이다. 다만, Semi-supervised learning으로 이 문제를 해결할 수도 있을 것 같다.

두 번째, 바운딩 박스 퀄리티인데, 바운딩 박스는 모델의 예측 이후에 후처리를 통해서 그 품질을 빠르게 개선할 수가 있다. 쉽게 말해서 쓸데 없이 크거나 판독에 영향을 미치지 않는 작은 미미한 바운딩박스와 같은 것들을 조정해 줄 수 있다.

세 번째, 명백한 abnormal을 놓치는 경우인데, 그 원인을 찾는 것은 상당히 중요할 수 있다. 이러한 것들은 빨리 감지하여 주석을 의뢰하고 학습데이터에 추가 반영해줄 수도 있고, 데이터가 쌓이지 않더라도 빠른 주석을 통해 그 상황을 인지하고, 고객응대를 할 수 있으므로 훨씬 더 커뮤니케이션에서 용이할 것이다. (상황을 알고 있는 것과 모르는 것은 천지차이라고 생각한다..)

세 가지 측면을 살펴본 바로는 확실히 현장 모니터링이 됐을 때, 빠르게 대응할 수 있다는 것은 분명해 보인다.

MLOps level 0 의 핵심

결국 0단계 개선의 핵심은 모니터링을 통해 지속적인 학습이 가능하도록 하는 것이다. 만약 모니터링이 불가능하더라도, 지속적인 학습을 자동화할 수 있고 모델의 정보를 추적할 수 있도록 한다면 많은 부분이 개선될 것이다.

현재 상황 진단

MLOps 관점에서 배포까지 얘기하지 않더라도 많은 부분이 수동으로, 데이터 과학자별로 업무가 이루어지고 있고, 그로인해 중복적인 일들이 많이 발생하고 있다.

  • 실험결과 공유가 많은 작업량을 수반한다.

  • 실험결과를 비교하는 것 또한 많은 작업량을 수반한다.

  • 시간이 지나면 학습 된 모델의 히스토리를 정확하게 알기어렵다. (메모도 한계가 있음) - 하이퍼파라미터, 데이트증강 리스트, 저장된 디렉토리 등..

  • 시간이 지난 실험결과를 찾기도 어렵다.

현재 상황의 요약하면 결국 수동적인 작업트래킹, 대시보드와 같은 비주얼라이제이션을 편리하게 해주는 툴의 부재이다. 학습의 자동화가 이루어짐과 동시에 학습결과를 쉽게 확인할 수 있어야 한다.

Next Step

  • 작업 명령을 내려줄 수 있는 오케스트레이션 툴
  • 하이퍼파라미터를 자동으로 찾아주는 툴
  • 실험결과를 대시보드를 통해 쉽게 비주얼라이제이션 할 수 있는 툴
  • 배포의 자동화 툴

Categories:

Updated: