7장. 프로덕션 등급MLOps 프로젝트 구축하기(A부터 Z까지)
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이 장에서는 프로덕션 배포에 필요한 모든 구성 요소와 MLOps 속성이 포함된 ML 프로젝트의 예를 제공합니다. 3장에 제시된 사례를 따릅니다. 예제 애플리케이션은 사용자 및 거래 특징을 계산하고 이를 분류기 모델에 입력하여 거래가 합법적인 거래인지 여부를 판단함으로써 신용 거래 사기를 예측하고 방지합니다.
이 장에 제시된 모든 코드 예제는 Git에 저장되어 있습니다.
프로젝트 구현은 다음 단계로 구성됩니다:
-
데이터 탐색 및 분석(EDA)
-
데이터 수집 및 준비 파이프라인 구축
-
모델 훈련 및 검증 파이프라인 구축
-
애플리케이션 서비스 파이프라인 개발(요청 가로채기, 데이터 처리, 추론 등)
-
데이터 및 모델 모니터링(드리프트 등)
-
지속적인 운영 및 CI/CD 해결
데이터 준비 단계는 표준 Python 패키지를 사용하는 방법과 기능 저장소를 사용하는 방법 두 가지로 구현됩니다.
사기 방지는 실시간으로 원시 거래와 이벤트를 처리하고 거래가 발생하기 전에 신속하게 대응하여 거래를 차단할 수 있어야 하므로 어려운 과제입니다. 평균 거래 금액을 평가하고자 하는 경우를 생각해 보겠습니다. 모델을 학습시킬 때는 데이터 프레임을 가져와 평균을 계산하는 것이 일반적입니다. 그러나 실시간/온라인 시나리오에서는 평균 계산이 누적(증분) 방식으로 이루어집니다. 따라서 두 개의 데이터 처리 파이프라인을 구축해야 하는데, 하나는 학습용이고 다른 하나는 실시간 제공용입니다. 또는 배치 및 실시간 데이터 파이프라인을 모두 구축하여 확장 가능하고 탄력적인인프라를 통해 자동으로 배포하는 기능 저장소(데모에서 설명할 것)를 사용할 수도 있습니다.
이 예는 세 가지 데이터 세트가 포함된 공개 신용카드 거래 데이터를 기반으로 합니다:
- 거래
-
자금 이체를 위한 두 당사자 간의 금전적 활동
- 이벤트
-
로그인 또는 비밀번호 변경과 같이 당사자가 수행한 활동
- 레이블
-
사기 거래의 징후(과거 거래에서 파생됨)
그림 7-1은 데이터 수집, 자동화된 모델 학습 및 검증, 애플리케이션 및 모델 제공, 모델 모니터링, 데이터 허브로서의 기능 저장소를 가운데에 배치한 전체 프로젝트 구조를 보여줍니다.
그림 7-1. 사기 탐지 프로젝트 아키텍처
탐색적 데이터 분석
데이터 처리나 모델링을 실행하기 전에 먼저 작업 중인 데이터를 파악하는 것부터 시작해야 합니다. 1-exploratory-data-analysis.ipynb 노트북은 사기 예시 데이터 세트에 대한 기본적인 설명 데이터 분석(EDA)을 제공합니다.
첫 번째 단계( 예 7-1)는 샘플 데이터 집합을 로드하고 데이터 모양, 유형, 통계적 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access