MLFlow를 활용한 MLOps [AWS, Azure, GCP에서 MLOps 시작하기]
- 원서명Beginning MLOps with MLFlow: Deploy Models in AWS SageMaker, Google Cloud, and Microsoft Azure (ISBN 9781484265482)
- 지은이스리다르 알라(Sridhar Alla), 수만 칼리안 아다리(Suman Kalyan Adari)
- 옮긴이정이현
- ISBN : 9791161756134
- 30,000원
- 2022년 02월 28일 펴냄
- 페이퍼백 | 304쪽 | 188*235mm
- 시리즈 : 데이터 과학
책 소개
이 책의 1장과 2장에 필요한 코드 파일은 아래 깃허브 페이지에서 내려받으실 수 있습니다.
(https://github.com/AcornPublishing/mlops-mlflow)
요약
머신러닝 솔루션 구축을 위한 프로세스는 1.문제의 식별, 2.데이터 수집, 3.데이터 분석, 4.피처 엔지니어링 및 데이터 정규화, 5.모델 구축, 6.학습, 평가 및 검증, 7.예측 등의 과정이다. MLOps는 데브옵스(DevOps)에서 채택돼 머신러닝에 적용되는 원칙 및 관행으로, 파이프라인의 지속적인 통합과 전달을 보장해 전체 자동화 설정을 완료한다. MLFlow는 기존 코드 베이스에 MLOps 원칙을 통합해 널리 사용되는 다양한 프레임워크를 지원하는 API이다. MLFlow를 사용해서 지표, 파라미터, 그래프 및 모델 자체를 로깅한다. 또한 기록된 모델을 적재하고, 기능을 활용할 수 있다.
프레임워크는 scikit-learn, TensorFlow 2.0/ Keras, PyTorch 및 PySpark의 실험에 MLFlow를 적용하는 방법과 이러한 모델 중 하나를 로컬에 배포하고 모델을 사용해 예측하는 방법을 실행해 본다. 해당 모델을 AWS, Azure, GCP에 배포하고 구성해서 서빙되는 구체적인 방법을 다룬다.
이 책에서 다루는 내용
◆ 기본 데이터 분석 수행 및 scikit-learn 및 PySpark 모델 구축
◆ 모델 학습, 테스트 및 검증(하이퍼파라미터 튜닝)
◆ MLOps의 정의와 이상적인 MLOps 구축
◆ 기존 또는 향후 프로젝트에 MLFlow를 쉽게 통합
◆ 클라우드에 모델을 배포하고 예측 수행
이 책의 대상 독자
이 책은 머신러닝 초보자부터 고급 머신러닝 엔지니어, 실험의 더 나은 구성법을 배우고자 하는 머신러닝 연구원까지 머신러닝에 관심 있는 모든 독자를 대상으로 한다.
이 책의 구성
1, 2장은 신용카드 데이터셋에 기반한 이상 검출기 모델에 MLOps 원리를 통합하는 방법을 다룬다.
3장에서는 MLOps가 무엇인지, 작동 방식 및 어떻게 유용할 수 있는지에 관한 이유에 대해 소개한다.
4장에서는 기존 프로젝트에서 MLFlow를 구현하고 활용해 몇 줄의 코드만으로 MLOps의 이점을 누릴 수 있는 방법에 대해 자세히 설명한다.
5장, 6장, 7장에서는 모델을 운영해 AWS, Microsoft Azure 및 Google Cloud에 각각 구축할 수 있는 방법을 다룬다.
7장에서는 가상 머신에서 모델을 호스팅하고 외부 소스에서 서버에 연결해 예측을 수행하는 방법을 설명한다. 따라서 설명서에 설명된 MLFlow 기능이 오래되면 언제든지 이 방식을 사용해 클라우드상의 일부 클러스터에서 모델을 서비스할 수 있다.
마지막 장인 부록에서는 MLFlow를 만든 Databricks를 활용해 MLFlow 실험을 구성하고 모델을 배치하는 방법에 대해 설명한다.
목차
목차
- Chapter 1. 시작하기: 데이터 분석
- 소개 및 전제
- 신용카드 데이터세트
- 데이터세트 적재
- 정상 데이터 및 부정 데이터
- 플로팅
- 요약
- Chapter 2. 모델 구축
- 소개
- scikit-learn
- 데이터 프로세싱
- 모델 학습
- 모델 평가
- 모델 검증
- PySpark
- 데이터 처리
- 모델 학습
- 모델 평가
- 요약
- Chapter 3. MLOps는 무엇인가?
- 소개
- MLOps 구축
- 수동 구현
- 지속적인 모델 전달
- 파이프라인의 지속적인 통합/지속적인 전달
- 구축에 대한 회고
- 파이프라인 및 자동화
- 파이프라인 진행 여정
- 모델 선택
- 데이터 전처리
- 학습 프로세스
- 모델 평가
- 모델 검증
- 모델 요약
- MLOps 구현 방법
- 요약
- Chapter 4. MLFlow 소개
- 소개
- 사이킷런(Scikit-Learn)을 활용한 MLFlow
- 데이터 처리
- MLFlow를 통한 학습 및 평가
- MLFlow 실행 로깅 및 확인
- 로깅된 모델 적재
- MLFlow를 사용한 모델 검증(파라미터 튜닝)
- 파라미터 튜닝 - Guided Search
- MLFlow 및 기타 프레임워크 TensorFlow 2.0을 사용한 MLFlow(Keras)
- 데이터 처리
- MLFlow 실행 - 학습 및 평가
- MLFlow 모델 적재
- PyTorch를 사용한 MLFlow
- 데이터 처리
- MLFlow 실행 - 학습 및 평가
- MLFlow UI - 실행 체크
- MLFlow 모델 적재
- PySpark 을 사용하는 MLFlow
- 데이터 처리
- MLFlow 실행 - 학습, UI 및 MLFlow 모델 적재
- 로컬 모델 서빙 모델 배포
- 모델 쿼리
- 스케일링 없는 쿼리
- 스케일링을 사용한 쿼리
- 배치 쿼리
- 요약
- Chapter 5. AWS에 배포
- 소개
- AWS 구성
- AWS SageMaker에 모델 배포
- 예측하기
- 모델 전환
- 배포된 모델 제거
- 요약
- Chapter 6. Azure에 배포
- 소개
- Azure 구성
- Azure에 배포(개발 단계)
- 예측하기
- 운영 환경에 배포
- 예측하기
- 자원 정리하기
- 요약
- Chapter 7. Google에 배포
- 소개
- Google 구성
- 버킷 스토리지
- 가상 머신 구성
- 방화벽 구성
- 모델 배포 및 쿼리
- 배포 업데이트 및 제거
- 자원 정리하기
- 요약
- Appendix. Databricks
- 소개
- Databricks에서 실험 실행
- Azure에 배포
- 워크스페이스에 연결
- 모델 쿼리
- MLFlow 모델 레지스트리
도서 오류 신고
정오표
정오표
수정 사항은 여기에서 내려받으세요.
[p.65 : 아래에서 6행]
y축은 참 레이블로 구성되고 x축은 예측 레이블로 구성된다.
->
y축은 실제값 레이블로 구성되고 x축은 예측값 레이블로 구성된다.