매직코드
article thumbnail
Published 2022. 1. 5. 12:05
2. MLOps 핵심 기능들 MLOps

2021년 5월 구글에서 발표한 자료를 통해 MLOps을 공부할 수 있다.

Practitioners guide to MLOps: A framework for continuous delivery and automation of machine learning

 

1. Experimentation (실험)

실험 기능을 통해 데이터 사이언티스트와 머신러닝 연구원이 공동으로 데이터탐색, 프로토 타입 모델 생성, 학습 기능 구현을 수행할 수 있다. ML 환경은 버전이 컨트롤되는 모듈식, 재사용 가능하고 테스트 가능한 소스코드 작성이 가능하다. 실험의 주요 기능은 다음과 같다.

  • 깃(git)과 같은 버전 컨트롤 도구와 통합된 노트북(jupyter notebook) 환경 제공
  • 사용한 데이터, 하이퍼 파라미터, 평가 지표를 포함한 실험 추적 기능 제공
  • 데이터와 모델에 대한 분석 및 시각화 기능 제공
  • 데이터 세트 분석, 실험 탐색, 구현 피드백 지원
  • 개인 플랫폼에서 다른 데이터 서비스와 ML 서비스 통합 제공

 

 

2. Data Processing (데이터 처리)

데이터처리는 머신러닝 모델 개발 단계, 지속적인 학습 단계, API 배포단계에서 많은 양의 데이터를 사용할 수 있게 해주는 기능을 제공한다. 주요 기능은 다음과 같다.

  • 다양한 데이터 소스와 서비스에 호환되는 데이터 커넥터 기능 제공
  • 다양한 형태의 데이터와 호환되는 데이터 인코더, 디코더 기능 제공
  • 다양한 형태의 데이터에 대한 데이터 변환과 피처 엔지니어링 기능 제공
  • 학습과 서빙을 위한 확장 간으한 배치, 그트림 데이터 처리 기능 제공

 

3. Model Training (모델 학습)

모델학습을 위한 알고리즘을 효율적으로 실행시켜주는 기능을 제공한다. 모델학습은 학습에 사용되는 모델과 데이터세트에 동일한 사이즈로 스케일이 가능해야한다.

  • ML 프레임워크 실행을 위한 환경 제공
  • 다수의 GPU 및 분산 학습을 위한 환경 제공
  • 하이퍼 파라미터 튜닝과 최적화 기능 제공

 

4. Model Evaluation (모델 평가)

개발 환경과 실행 환경에서 동작하는 모델의 성능을 확인하는 기능을 제공한다.

  • 평가 데이터에 대한 모델 성능 평가 기능
  • 서로 다른 지속 학습 실행 결과에 대한 예측 성능 추적
  • 서로 다른 모델의 성능 비교와 시각화
  • 해석할 수 있는 AI 기술을 이용한 모델 출력 해석 기능 제공

 

5. Model Serving (모델 서빙)

실행 환경에 모델을 배포하고 서빙하기 위한 기능을 제공한다.

  • 저지연 추론과 고가용성 추론 기능 제공
  • 다양한 ML 모델 서빙 프레임워크 지원 (Tensorflow Serving, TorchServe, NVIDIA Triton, Scikit-learn, XGGoost etc...)
  • 복잡한 형태의 추론 루틴 기능 제공 (전처리, 후처리 기능 및 최종 결과를 위해 다수의 모델이 사용되는 경우)
  • 순간적으로 치솟는 추론 요청을 처리하기 위한 auto scaling 기능 제공
  • 추론 요청과 추론 결과에 대한 로깅 기능 제공

 

6. Online Experimentation (온라인 실험)

새 모델을 출시하기 전에 현재 모델과 비교하거나, 이 모델을 배포하면 어느 정도의 성능을 보이는기 검증하는 기능을 제공한다. 이 기능은 모델과 연동하기 위해 모델 저장와 연동되어야 한다.

  • 카나리(canary) & 섀도우(shadow) 배포 기능 제공
  • A/B 테스트 기능 제공
  • 멀티 암드 밴딧 (MAB; mulit-armed bandit) 테스트 기능 제공

 

 

7. Model Monitoring (모델 모니터링)

모델 모니터링은 실제 환경에 배포된 모델이 정상적으로 동작하고 있는지 모니터링 하는 기능을 제공한다. 이를 통해 예측 품질과 비즈니스의 연속성을 보장한다.

  • 지연시간, 제공 리소스 사용률과 같은 모델 효율성 메트릭스 측정
  • 스키마 이상, 데이터, 개념 이동, 드리프트를 포함한 데이터 왜곡 감지
  • 정답 레이블을 사용할 수 있는 배포된 모델 지속적 평가

 

8. ML Pipeline (머신러닝 파이프라인)

머신러닝 파이프라인은 실제 환경에서 복잡한 ML 학습과 추론 작업을 구성, 제어하고 자동화하기 위한 기능을 제공한다.

  • 다양항 이벤트에 대해 소스를 통한 파이프라인 실행 가능
  • 파이프라인 파라미터와 생성되는 산출물 관리를 위한 머신러닝 메타데이터 추적과 연동 기능 제공
  • 일반적인 머신러닝 작업을 위한 내장 컴포넌트 지원과 사용자가 직접 구현한 컴포넌트에 대한 지원 기능 제공
  • 서로 다른 실행 환경 제공

 

9. Model Registry (모델 저장소)

모델 저장소는 머신러닝 모델의 생명주기를 중앙 저장소에서 관리하는 기능을 제공한다.

  • 학습된 모델 및 배포된 모델에 대한 등록, 추적, 버저닝 기능 제공
  • 배포를 위해 필요한 데이터와 런타임 패지키에 대한 정보 저장

 

10. Dataset and Feature Repository (데이터세트와 피처 저장소)

데이터세트와 피처 저장소를 사용하면 ML 데이터 자산의 정의와 스토리지를 통합할 수 있다. 이를통해 상당한 시간을 차지하는 데이터 준비 및 피처 엔지니어링 시간을 절약하도록 다음과 같은 기능을 제공한다.

  • 데이터에 대한 공유, 검색, 재사용, 버전관리 기능 제공
  • 이벤트 스트리밍 및 온라인 추론 작업에 대한 실시한 처리 및 저지연서빙 기능 제공
  • 사진, 텍스트, 테이블 형태의 데이터와 같은 다양한 형태의 데이터 지원

 

11. ML Metadata and Artifact Tracking (ML 메타데이터 및 아티팩트 추적)

MLOps의 각 단계에서 발생하는 다양한 형태의 산출물들에 대한 정보를 메타데이터라고 한다. ML 메타데이터와 산출물의 위치, 타입, 속성, 관련된 실험에 대한 정보를 관리하기 위해 다음과 같은 기능을 제공한다.

  • ML 산출물에 대한 히스토리 관리 기능 제공
  • 실험과 파이프라인 파라미터 설정에 대한 추적, 공유 기능 제공
  • ML 산출물에 대한 저장, 접근, 시각화, 다운로드 기능 제공
  • 다른 MLOps 기능과 통합할 수 있는 서비스 제공

 

 

 

 

profile

매직코드

@개발법사

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!