MLOps 개념과 필요성 : MLOps의 핵심 기능

정다영·2023년 8월 6일
0

CHAPTER 3 MLOps의 핵심 기능

MLOps의 다섯가지 핵심 기능인 개발, 배포, 모니터링, 반복, 거버넌스를 소개한다.

출처: Compunnel Digital



3.1 머신러닝 입문

머신러닝은 컴퓨터 알고리즘의 총아로서, 명시적으로 프로그래밍되기보다는 자동으로 경험으로부터 배우고 성능을 개선한다.

알고리즘을 활용하여 학습 데이터라고도 불리는 표본 데이터를 분석하고, 예측을 수행하는 소프트웨어 모델을 구축한다.



3.2 모델 개발

3.2.1 비즈니스 목표 수립

비즈니스 목표는 당연히 성능 목표, 기술 인프라 요구사항, 비용 제약을 포함한다. 

이러한 요소들은 모두 KPI로 선정할 수 있고, 상용 환경에서 모델의 비즈니스 성능 측정을 위한 모니터링 대상이 될 수 있다.

목표 설정시 변화 관리도 포함하여, 머신러닝 모델이 어떻게 구축되어야 하는지에 대한 가이드를 제공해야할 수도 있다.


3.2.2 데이터 소스 및 탐색적 데이터 분석

머신러닝 모델 구축을 위해 데이터를 찾기 위한 핵심 질문은 다음과 같다.

  • 관련 데이터 세트 중 어떤 것을 사용할 수 있는가?
  • 이 데이터는 충분히 정확하고 신뢰할 수 있는가?
  • 이해관계자들이 이 데이터레 접근할 권한이 있는가?
  • 여러 개의 데이터 소스를 조합 하여 어떤 데이터 속성 또는 특성을 만들어낼 수 있는가?
  • 이 데이터는 실시간으로 얻을 수 있는가?
  • 데이터 중 일부를 '실측 데이터'로 레이블링해야 하는가, 아니면 비지도 학습으로 충분한가? 만약 레이블링해야 한다면 시간과 자원 측면에서 비용이 얼마나 드는가?
  • 어떤 플랫폼을 사용해야 하는가?
  • 모델을 배포한 후 데이터를 어떻게 갱신할 것인가?
  • 모델을 사용하면 오히려 데이터의 대표성을 해칠 수 있는가?
  • 비즈니스 목표와 함께 정의한 KPI를 어떻게 측정할 것인가?

데이터는 머신러닝 알고리즘의 근본요소이다.


탐색점 데이터 분석(EDA) 기법을 통해 데이터에 대한 가정을 세우고, 데이터 정제 시 필요한 사항을 확인하고, 의미가 있을 것으로 추정되는 특성을 선택한다.


3.2.3 특성 엔지니어링 및 특성 선택

특성 엔지니어링은 선택한 데이터 세트들에서 원시 데이터를 취득하고 문제를 해결하는 데 더 적합한 '특성'으로 전환하는 절차다.


3.2.4 학습 및 평가

새로운 머신러닝 모델을 학습시키고 최적화하는 절차는 반복적이다.


3.2.5 재현 가능성

모델의 중요한 버전은 나중을 위해 저장해둬야 한다.

머신러닝의 목표는 모델을 개발한 환경에 대한 정보를 충분히 저장하여 동일한 결과를 보이는 모델을 처음부터 다시 만들어내는 것이다.

확실하게 재현 가능성을 확보하려면, 모든 자산과 매개변수를 버전 관리해야 하고, 모델의 학습과 검증에 사용한 데이터와 소프트웨어 환경 또한 버전 관리해야 한다.


3.2.6 책임 있는 AI

학습된 모델에 대한 문서를 자동으로 생성하는 도구를 활용하여 모델 문서 작성을 자동화할 경우 작업 부담을 줄일 수 있다.

모델의 정상 여부를 검사하거나 특성 엔지니어링을 더 잘 수행하기  위해서는 그 '어떻게'가 중요하다.

데이터의 공정성이 요구사항인 경우, 요구된 공정성을 달성했는지 확인하는 과정에서도 '어떻게'가 필요하다.



3.3 제품화 및 배포

모델의 제품화와 배포는 MLOps의 핵심 요소로서, 모델 개발과는 기술적으로 완전히 다른 과제다.


3.3.1 모델 배포 유형과 내용

Model-as-a-service 혹은 실시간-스코어링 모델(Live-scoring Model)

  • REST API endpoint를 제공하는 간단한 프레임워크에 모델을 배포하고, 실시간으로 요청에 응답한다.

임베디드 모델(Embedded Model)

  • 모델을 애플리케이션 내에 패키징하여 게시한다.

컨테이너화

  • 애플리케이션이 독립적이고 독자적인 환경에 배포되도록 하고 각 모델의 정확한 요구사항을 만족시킨다.
  • 블루-그린 배포 기법을 활용하여 새로운 모델을 원활하게 배포할 수 있다.
  • 모델을 위한 컴퓨팅 자원을 확장할 수 있다.
  • 여러 개의 컨테이너에 대한 오케스트레이션은 쿠버네티스와 같은 기술들을 활용하여 수행하는데, 클라우드와 온프레미스 양쪽 모두에서 활용 가능하다.

3.3.2 모델 배포 요구사항

모델의 최대 자원 요구 수준을 리눅스 cqroups과 같은 기술을 활용하여 안전하게 달성할 수 있는 경우에는, 완전 자동화하여 하나의 단계로 이루어진 푸시-투-프로덕션 방식이 적합하다.



3.4 모니터링

3.4.1 DevOps의 관심사

  • 모델이 작업을 충분히 빠르게 처리하는가?
  • 적절한 용량의 메모리와 CPU 처리 시간을 사용하고 있는가?

3.4.2 데이터 과학자의 관심사

현실 세계는 계속 변화한다. 6개월 전에 이상거래 탐지 모델 구축 시 사용한 학습 데이터는 최근 3개월 내에 발생하기 시작한 새로운 형태의 사기를 반영하지 않는다.

얼마나 자주 모델을 재학습시켜야 하는가는 얼마나 빨리 현실 세계가 변하고 모델은 얼마나 정확해야 하는가에 달려 있다.

실측데이터

실측 데이터는 모델이 풀어야 하는 질문에 대한 정답이다.

입력값 드리프트

학습 데이터가 현실 세계를 정확히 반영하고 있다면 모델도 정확하게 예측할 것이라는 가정을 기반으로 한다.

배포된 모델에 대한 최근 요청에 큰 변화가 있다면, 모델 성능이 크게 떨어졌을 가능성이 높다.


3.4.3 비즈니스 관심사

  • 모델이 기업에 가치가 있는가?
  • 모델로 얻을 수 있는 이점이 모델을 개발하고 배포할 때 필요한 비용을 넘어서는가? (또한 이 이점이나 비용은 어떻게 측정할 수 있는가?)

돈으로 환산할 수 있는 수단이 없다면, 가장 좋은 선택지는 비즈니스 KPI를 효과적으로 모니터링하는 것이다.



3.5 반복 및 생애주기

모델의 새 버전을 개발해야 하는 이유는 모델 드리프트로 인한 모델 성능 저하다. 때로는 재정의한 비즈니스 목표 및 KPI를 반영해야 할 수도 있다.


3.5.1 반복

최신 학습 데이터로 기존 모델을 재학습시키는 방식은 새 버전 개발을 반복하기 위한 가장 간단한 방식이다.

  • 새 학습 데이터의 모습이 기대한 대로 나타나는가? 새 데이터를 자동화된 검증 방식과 사전 정의된 지표와 검사로 확인해야 한다.
  • 데이터가 완전하고 일관성이 있는가?
  • 특성의 분포가 대체로 기존 학습 데이터 세트와 유사한가? 목표는 모델의 개선이지 뒤집어 엎는 것이 아님을 기억해야 한다.

모델의 새 버전을 구축하고 나면, 다음 단계는 현재 배포된 버전과 지표를 기반으로 비교하는 것이다. 이 과정에서 두 모델을 동일한 개발용 데이터 세트로 평가해야 한다.

새 학습 데이터로 아주 '간단한' 자동화된 재학습 시나리오를 수행하더라도, 스코어링 데이터 보정, 데이터 정리 및 검증을 거친 여러 벌의 데이터 세트, 모델의 이전 버전, 신중하게 설계한 검사들이 필요하다.


3.5.2 피드백 루프

불확실성을 경감시키기 위한 한 가지 방법으로 섀도우 테스트가 있다.

모델의 새 버전을 기존 모델과 함께 라이브 환경에 배포한다.

모든 실시간 스코어링은 기존 버전으로 처리하되, 새 버전에서 다시 처리하고 결과를 로그로 남긴다.

양쪽 버전에서 모두 충분히 스코어링하고 나면, 통계적으로 결과를 비교한다.


A/B 테스트에서는 기존 모델과 새 모델을 모두 라이브 환경에 배포한다.

입력값인 요청을 두 모델에 나눠서 전달한다.

각 요청은 기존 모델 혹은 새 모델에서 처리하고, 양쪽 모두에서 처리하지는 않는다.


멀티-암드 밴딧 테스트는 적응형이다.

입력값을 전달할 모델을 실제 결과에 따라 조정하여 결정하기 때문에 낮은 성능을 보이는 모델에는 입력값을 덜 전달하게 된다.

A/B 테스트에 비해 좀 더 복잡하지만, 성능이 떨어지는 모델로 트래픽을 전달하여 발생하는 비즈니스 비용을 절감할 수 있다.



3.6 거버넌스

비즈니스에 대한 일련의 통제이다.

모든 이해관계자에 대한 의무 사항을 수행하는 것이다.

의무 사항으로는 금융, 법률, 윤리적 의무가 있다.

MLOps에서 거버넌스 이니셔티브는 두 가지 범주 중 하나로 귀결된다.

  • 데이터 거버넌스
    • 데이터의 적절한 사용 및 관리를 보장하는 프레임워크를 의미한다.
  • 프로세스 거버넌스
    • 모든 거버넌스 고려 사항이 머신러닝 모델 생애주기 중 정확한 지점에서 다루어지도록, 완전하고 정확한 기록이 유지되도록 잘 정의된 프로세스를 의미한다.

3.6.1 데이터 거버넌스

  • 데이터의 출처가 어떻게 되는가?
  • 원본 데이터는 어떤 사용 약관에 따라 어떻게 수집했는가?
  • 데이터는 정확하고 최신인가?
  • 사용하면 안 되는 개인 식별 정보나 다른 민감한 데이터가 있는가?
  • 데이터 세트 내의 정보는 어디서 왔고, 사용 방법에 대해 무엇을 알 수 있는가?
  • 이 데이터는 어떻게 사용되고 있는가? 어떤 식으로든 수정한다면 이후 어떤 일이 일어날 것인가?

3.6.2 프로세스 거버넌스

MLOps 프로세스 내 각 단계를 공식화하고 관련 작업을 정의하는 데 중점을 둔다.

  • 모든 거버넌스 관련 고려 사항이 정확한 시점에 이루어지고 정확하게 수행되는지 확인한다. 예를 들어, 모델은 모든 유효성 검사를 통과해야만 상요 배포될 수 있다.
  • MLOps 프로세스 외부의 감독을 받을 수 있게 한다. 감리인, 리스크 관리자, 규정 준수 책임자를 비롯해 조직 전체가 현황을 추적하고 이후 단계에서 기존 의사결정들을 검토할 수 있는지에 관심을 둔다.



본 글은 데이터이쿠의 < MLOps 도입 가이드 - 기업에서 머신러닝 모델을 가장 효율적을 운영하는 방법>을 읽고 중요하다고 생각되는 부분을 정리한 것 입니다.

https://product.kyobobook.co.kr/detail/S000001810502

 MLOps 도입 가이드 | 데이터이쿠 - 교보문고 MLOps 도입 가이드 | MLOps의 개념부터 도입과 활용까지, 성공적인 머신러닝 운영화를 위한 실용 가이드!오늘날 데이터 사이언스와 AI는 IT 분야뿐 아니라 제조, 구매, 유통, 마케팅, 반도체, 자동차,product.kyobobook.co.kr

profile
My_Spielraum

1개의 댓글

comment-user-thumbnail
2023년 8월 6일

좋은 정보 감사합니다

답글 달기