Top

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 실험을 구성하고 모델을 배치하는 방법에 대해 설명한다.

저자/역자 소개

지은이의 말

MLFlow의 장점을 이용해 기존 프로젝트에 MLOps 원리를 쉽게 통합할 수 있는 방법을 독자에게 전달하는 것이 이 책의 목표다. 그리고 많은 사람이 모델을 호스팅하는 클라우드 서버에 연결할 수 있는 한 클라우드 구현 방법에 대해 더 잘 알고 있기를 바란다.
MLFlow는 작업 공간을 구성하는 도구로서도 머신러닝 실험의 관리를 대폭 개선하고 프로젝트의 전체 모델 기록을 추적할 수 있다. 더 많은 사람이 MLFlow를 채택해 워크플로우에 통합하기를 바란다.
연구자들은 MLFlow를 사용하면 원하는 사용자 정의 메트릭 위에 그림을 기록할 수 있어서 실험을 수행할 때 유용하다고 생각할 수 있다. 이제 개념 증명(proof-ofconcept)으로 완벽하게 작동한 모델을 추적하고 언제든지 동일한 가중치로 되돌리면서 하이퍼파라미터를 조정할 수 있으므로 프로토타이핑이 훨씬 쉬워졌다. 하이퍼파라미터 튜닝은 훨씬 간단하고 체계화돼 여러 다양한 하이퍼파라미터를 한 번에 검색하고 MLFlow를 사용해 모든 결과를 기록하는 복잡한 스크립트를 실행할 수 있다.
MLFlow의 모든 혜택과 그에 상응하는 MLOps 원칙이 모든 영역에서의 머신러닝 매니아들에게 제공되므로, 현재 작업 환경에 통합하는 데 큰 단점이 없다. 이를 바탕으로 책을 잘 활용하기 바란다!

지은이 소개

스리다르 알라(Sridhar Alla)

SAS 코드를 Python으로 자동 변환하는 것에 초점을 맞춘 제품 Sas2Py(www.sas2py.com)의 벤더인 Bluewhale.one의 설립자이자 CTO이다. 블루웨일(Bluewhale)은 지능적인 이메일 대화 추적부터 소매업계에 영향을 미치는 문제 등에 이르기까지 AI를 활용해 핵심 문제를 해결하는 데도 주력하고 있다. 또한 퍼블릭 클라우드와 사내 인프라 모두에서 AI기반 빅데이터 분석 실무 구축에 관한 깊은 전문 지식을 보유하고 있다. 그는 저자이자 수많은 Strata, Hadoop World, Spark Summit 및 기타 콘퍼런스에서 열정적인 발표자로 활동하고 있을 뿐만 아니라 대규모 컴퓨팅 및 분산 시스템에 대해 미국 PTO에 출원한 여러 특허를 보유하고 있다.

수만 칼리안 아다리(Suman Kalyan Adari)

컴퓨터 비전, 적대적 머신러닝, 자연어 처리(대화형 AI) 이상 탐지(anomaly detection) 등 다양한 분야에서 실용성을 발휘하는 딥러닝을 전문으로 하는 플로리다대학교 수석연구원이다. 2019년 6월 미국 오리건주 포틀랜드에서 열린 신뢰할 수 있고 안전한 머신러닝에 관한 IEEE에서 연사로 참여했다. 또한 그는 이상 탐지에 있어 딥러닝의 활용에 초점을 맞춘 책을 출간한 작가이기도 하다.

옮긴이의 말

‘원시 데이터 수집과 초기 분석 학습을 위한 전처리, 모델 구축, 학습 및 테스트, 평가 및 검증/튜닝, 모델 배포 및 예측 등으로 진행되는 일련의 머신러닝 프로세스를 얼마나 효율적이고 효과적으로 신속하게 제공할 수 있을까?’에 대한 아쉬움이 항상 존재한다. 이 상황에서 MLOps는 머신러닝에 데브옵스의 철학을 채택해 고성능 머신러닝 모델의 지속적인 전달을 보장한다. MLOps를 실현하고 자동화하려면 MLFlow와 같은 머신러닝 라이프사이클 관리 API가 필수적으로 필요하다. MLFlow를 활용해 클라우드 환경에 모델을 배포하고 배포된 모델을 대상으로 엔드포인트를 생성해 실제 서비스에 활용할 수 있도록 구성하는 것이 구체적으로 머신러닝의 효과성을 입증할 수 있는 중요한 포인트다. 이에 대한 내용들을 다루는 것이 이 도서의 가치이다. 실제 현장에서 머신러닝을 서비스에 어떻게 활용할 것인지를 고민하는 독자들에게 조금이나마 도움이 되길 기대한다.

옮긴이 소개

정이현

SI업계에서 주로 금융 차세대 Application Architect 및 Mobile Commerce/Payment 관련 글로벌 프로젝트에서 Solution Architect 역할을 수행해오다가 2017년부터 본격적으로 클라우드 및 데이터 플랫폼 관련 업무를 해오고 있다. AWS, Azure, GCP 등 주요 CSP 내 Managed Kubernetes Cluster를 기반으로 한 Cloud Native Transformation 및 AI/Data 관련 플랫폼 서비스 구축 등을 담당하고 있다. Kubernetes, DevOps, SRE, MLOps, Auto-ML, 클라우드 보안 등에 대한 관심이 높고 PaaS, SaaS, OSS, Cloud Native 서비스 기반에서 다양한 시도를 하는 것을 좋아한다.

목차

목차
  • 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.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

수정 사항은 여기에서 내려받으세요.

[p.65 : 아래에서 6행]
y축은 참 레이블로 구성되고 x축은 예측 레이블로 구성된다.
->
y축은 실제값 레이블로 구성되고 x축은 예측값 레이블로 구성된다.