MLOps의 자동화된 테스트

완전 자동화된 MLOps

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

소프트웨어 테스트란?

$$

소프트웨어 제품이나 애플리케이션이 기대대로 동작하는지 평가·검증하는 과정

$$

가장 흔한 소프트웨어 테스트 3가지:

  • 단위 테스트
  • 통합 테스트
  • 엔드 투 엔드 테스트

$$

$$

바닥에는 단위 테스트, 그 위에 통합 테스트, 맨 위에 엔드 투 엔드 테스트가 있는 피라미드가 보입니다.

완전 자동화된 MLOps

ML 소프트웨어의 특성은 다릅니다

ML 애플리케이션은 명시적으로 프로그래밍되지 않습니다

$$

ML 시스템의 학습 과정을 설명하는 그림.

다음에 의존합니다:

  • 데이터
  • 모델
완전 자동화된 MLOps

MLOps의 테스트는 다릅니다

전통적 소프트웨어 시스템은 단위/통합 테스트로 검증되고, ML 시스템은 데이터/모델/파이프라인 테스트로 검증됨을 비교한 그림.

1 https://research.google/pubs/pub46555/
완전 자동화된 MLOps

ML 시스템 테스트

$$

전통적 테스트에 더해:

  • 데이터 테스트
  • 모델 테스트
  • 파이프라인 테스트
완전 자동화된 MLOps

데이터 테스트

특징과 데이터 테스트에는 다음이 포함됩니다:

  • 특징에 대한 기대값
  • 데이터 특징의 가치가 비용을 정당화
  • 프라이버시 통제
  • 불법 데이터 사용 방지

$$

서로 다른 온도를 가리키는 여러 온도계가 보입니다.

완전 자동화된 MLOps

모델 테스트

모델 테스트에는 다음이 포함됩니다:

  • 비즈니스 지표와 ML 지표의 상관
  • 모든 하이퍼파라미터 튜닝 완료

  • 과적합 여부

  • 모델 노후화
  • 기준선과 비교
완전 자동화된 MLOps

ML 파이프라인 테스트

ML 파이프라인 테스트에는 다음이 포함됩니다:

  • 학습 재현 가능성
  • ML 파이프라인 통합 테스트

  • 모델 디버깅 가능성

완전 자동화된 MLOps

연습해 봅시다!

완전 자동화된 MLOps

Preparing Video For Download...