1. MLOps 시스템의 요소 (1)에 이어서 배포 후에 이루어지는 요소를 정리할 것이다. 배포 후에는 크게 모니터링, 반복 및 Life Cycle, 거버넌스가 있다. 앞선 게시물을 보지 않았다면 먼저 3. MLOps 시스템의 요소 (1)를 보고 오길 바란다.


모니터링


실제 프로덕션 환경에서는 DevOps 팀, 데이터 과학자 팀, 혹은 비즈니스 팀 별로 좋은 성능을 내고 있다는 기준이 다를 수 있다. 그래서 각 팀이 중요하게 생각하는 지표를 살펴보고자 한다.


DevOps의 관점

DevOps 팀은 모델의 성능 보단 주어진 리소스에서 모델이 원할하게 돌아가는 지를 더 중요하게 여긴다. 딥러닝 모델은 단순한 의사결정트리 모델 보다 더 많은 리소스를 필요로 한다. 그렇기 때문에 리소스 모니터링 및 관리를 위한 DevOps 팀의 요구 사항이 생긴다.


  • 모델이 해당 작업을 신속하게 처리하고 있는가?
  • 적절한 양의 메모리와 처리 시간을 사용하고 있는가?


데이터 과학자의 관점

데이터 과학자, 즉 실제로 모델을 생성한 팀은 ML 모니터링에서 더 까다로운 조건을 요구한다. 왜냐하면 ML 모델은 학습된 데이터에만 초점을 맞추고 있기 때문이다. 실제 프로덕션 환경으로 가면 학습된 데이터와 다른 데이터가 들어 올 수도 있다. 가령 똑같은 밝기에서 찍은 데이터로만 학습했다면, 어둡거나 밝은 곳에서 찍은 사진에는 성능이 저하될 수도 있을 것이다. 그렇다면 데이터 과학자가 어떻게 성능을 평가 할 수 있을까?


  • Ground Truth 정보 활용: 모델의 예측에 대한 실제 정답을 알고 있다면 모델이 정상적으로 수행되는 지 알 수 있다. 하지만 전화 사기 등 특수한 경우에 적용 될 수 없다는 단점이 존재한다.

  • Input Drift 활용: 모델이 Drift(표류) 하는 지 확인해야된다. 예를 들어 코로나 기간 동안 구매 패턴은 극적으로 변했는데 코로나 이전의 데이터를 활용한다면 모델의 성능은 급격히 떨어질 것이다. 이때 데이터를 적절하게 업데이트 하여 모델의 민첩성을 높여햐한다.


비즈니스적 관점

기업의 가장 큰 목적은 이윤을 추구하는 것이다. 그렇기 때문에 과연 이 모델이 기업에 얼마만큼의 이익을 가져다 주는 지 정량적으로 평가할 필요가 있다. 정확한 기준이 없다면 비즈니스 KPI를 적용하여 효과적으로 모니터링 하는 것이 우선이다. KPI에는 다음과 같은 질문이 포함 될 수 있다.


  • 모델이 기업에 가치를 제공하는가?
  • 모델의 이점이 개발 및 배포 비용보다 큰가?

반복 및 Life Cycle


모델을 개선하는 것은 MLOps life-cycle에서 중요한 부분을 차지한다. 그러나 개선된 새로운 모델을 개발하는 데는 어려움이 따른다. 그 중 하나는 앞서 설명한 대로 모델 Drift로 인한 성능 저하이다. 개선 하는 방법에는 비즈니스 목표와 KPI를 개선하여 반영하는 경우도 있고, 데이터 과학자가 더 좋은 모델을 설계하는 경우가 있다.


반복

빠르게 변화하는 비즈니스 환경에서는 매일 새로운 학습 데이터를 사용할 수 있다. 모델을 재학습, 재배치 하여 가능한 한 최신 트랜드를 반영하도록 해야한다. 최신 데이터로 학습하는 것은 가장 간단하다. 하지만 여전히 많은 어려움이 존재한다.


  • 새로운 데이터가 예상한 대로 인가? 사전 정의 된 평가를 통해 새 데이터의 검증은 필수적이다.
  • 데이터가 충분하고 일관성이 있는가?
  • 데이터의 분포가 이전의 학습 데이터의분포와 유사한 경향을 보이는가? 우리의 목표는 모델을 근본적으로 변경하는 것이 아닌 개선하는 것임을 기억해야된다.


피드백 루프

이 단계에서 일반적으로 사용하는 방법은 A/B 테스트이다. A/B 테스트는 웹페이지나 어플의 두 버전을 서로 비교해서 어떤 버전이 효과적인지 판단하는 방법이다. 이때 통계적으로 의미있는 결론을 도출하기 위해서는 평가 방식을 신중하게 골라야한다. 예를 들어 사용자의 관심이 시작 버튼의 디자인에 결정된다고 가정하면, 다른 요소는 동일하게 유지하고 시작 버튼의 디자인을 바꾸며 테스트하는 방법이다.


거버넌스


거버넌스란 쉽게 정의하자면 ‘의사결정이 이루어지는 과정’ 이라고 할 수 있다. 한 사람이 모든 의사결정을 해나갈 수 없음으로 모든 이해 관계자와 함께 의사결정을 해나가는 과정이다. 올바른 의사결정을 위해서는 합법성, 보안, 데이터 최소화 등 중요한 원칙을 지키는 것이 중요하다.


데이터 거버넌스

데이터 거버넌스는 기업에서 사용하는 데이터의 가용성, 유용성, 통합성, 보안성을 관리하기 위한 정책과 프로세스를 다루며 프라이버시, 보안성, 데이터품질, 관리규정 준수를 강조한다. - 위키백과

데이터 거버넌스를 위해서 다음과 같은 요구 사항을 충족해야된다.


  • 데이터의 출처는 무엇인가?
  • 원본 데이터는 어떻게 수집되었으며 사용 조건은 무엇인가?
  • 정확하며 최신의 데이터인가?
  • 사용해서는 안되는 개인식별정보(PII) 또는 기타 형태의 민감한 데이터를 포함하는가?


프로세스 거버넌스

프로세스 거버넌스는 생성, 변경, 소멸까지의 관리 체계에 중점을 두고 있다. 일반적으로 이런 작업들은 검토, 승인 및 문서와 같은 자료가 있다. 프로세스 거버넌스의 목표는 두가지이다.


  • 모든 거버넌스의 고려 사항이 정확한 시간에 이루어지고 올바르게 실행 되도록 한다. 예를 들어 모든 유효성 검사가 통과 되기 전까지는 모델을 프로덕션에 배포하면 안된다.
  • 엄격한 MLOps 프로세스 외부의 자원을 활용한다. 감사자, 위험 관리자, 준법 감시인 및 비즈니스 전체는 진행 상황을 추적하고 이후 단계에서 결정을 검토 할 수 있어야한다.


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