본문 바로가기

도서 소개

머신러닝 시스템 구축 실전 가이드

비즈니스 시나리오로 체득하는 머신러닝 시스템 구축 노하우

 

과제 설정, 워크플로 설계, 시스템 구축과 개발 등 머신러닝 제품을 실제 비즈니스로 만들기 위해 알아야 할 모든 것을 다룬다. 머신러닝을 사용해서만 해결할 수 있는 비즈니스 과제인지 여부를 판단하고, 디자인 패턴에 따라 팀과 아키텍처를 설정한 다음, 프런트엔드, 백엔드, 인프라스트럭처, 파이프라인, BI 도구 등 워크플로에 필요한 전반적인 소프트웨어를 직접 구현해본다. 상품 수요 예측, 웹 서비스 위반 감지, 검색 시스템 개선 등 흔히 볼 수 있는 비즈니스 과제를 예로 들어 실습한다. 머신러닝 시스템을 설계하고 운용하려는 엔지니어에게 실질적인 도움이 되는 책.

 

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

출판사 제이펍
저작권사 翔泳社
원서명 機械学習システム構築実践ガイド (9784798173405)
도서명 머신러닝 시스템 구축 실전 가이드
부제 비즈니스 사례로 배우는 머신러닝 제품 설계/구축/운용
지은이 시부이 유스케
옮긴이 김모세
감수자 (없음)
시리즈 I♥A.I. 44
출판일 2024. 01. 04
페이지 368쪽
판 형 크라운판변형(170*225*18.0)
제 본 무선(soft cover)
정 가 29,000원
ISBN 979-11-92987-64-4 (93000)
키워드 비즈니스, 제품, DevOps, MLOps, 패턴, 디자인패턴, 파이프라인, 워크플로, 인공지능, AI
분 야 인공지능 / 파이썬


관련 사이트
아마존 도서 페이지
저작권사 도서 페이지

 

관련 시리즈

I♥A.I. 44

 

관련 포스트

2023.12.15 - [출간 전 책 소식] - 머신러닝 BIG PICTURE, 나는 계획이 있다

 

관련 도서

예제로 배우는 파이썬 머신러닝(제3판)

머신러닝 엔지니어링

 

관련 파일 다운로드

■ (없음)

 

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

 

미리보기(옮긴이 머리말, 베타리더 후기, 시작하며, 이 책에 대하여, 1장 일부, 2장 일부)

 

정오표 페이지
■ (등록되는 대로 링크를 걸겠습니다.)

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

도서 소개

비즈니스 사례와 디자인 패턴으로 마스터하는 머신러닝 실용화의 워크플로

 

머신러닝 모델이나 라이브러리 각론을 다룬 책은 많지만, 머신러닝을 실제로 프로덕션 시스템에 적용하는 일은 또 다른 문제다. 저자의 비유를 따르면 그런 책들은 “생선 손질 방법이나 전자레인지 사용 방법에 관해서는 설명하지만, 요리를 만드는 방법은 설명하지 않는 요리책”이다. 하지만 “요리를 만들려는 사람에게 필요한 책은 실제로 요리를 만드는 책”이다. 저자는 이러한 문제의식 아래 머신러닝 ‘실용화’를 다루는 이 책을 썼다.

 

머신러닝 실용화는 당면 비즈니스 과제가 머신러닝을 사용해서만 해결할 수 있는 과제인지 여부를 판단하는 것부터 시작된다. 머신러닝 도입 결정 후에는, 팀 크기와 역량을 고려해 저자 고유의 디자인 패턴에 따라 머신러닝 아키텍처를 설계하고 팀을 구성하는 노하우를 알려준다. 여기까지가 1장의 내용으로, 현실적인 비즈니스 상황을 가정하고 패턴별 유스케이스를 알려준다는 점이 돋보인다.

 

2장에서는 식료품 판매점의 수요 예측 시스템을 만들어보며 실습을 시작한다. 개발 팀의 구성 예시를 들고, 과제 설정, 시스템 개발, 워크플로 설계까지 전 과정을 자세히 설명한다. 모델 관련 구현에는 Hydra, MLflow, 사이킷런, LightGBM 등을 사용하고, 비즈니스 의사결정을 위한 BI 도구로는 Streamlit과 Plotly를 활용한다. 구축한 시스템과 워크플로는 MLOps 관점에서 변화하는 상황에 맞춰 개선할 수 있어야 하므로, 쿠버네티스에 배포하고 아르고 워크플로를 사용해 자동화하는 방법까지 살펴본다.

 

3장에서는 사용자가 동물 이미지를 공유하는 웹 서비스에 위반 감지 시스템을 추가하는 과정을 다룬다. 실습 편의를 위해 저자가 작성해둔 안드로이드용 앱이 제공되며, 특히 FastAPI, PostgreSQL, Redis, RabbitMQ, 일래스틱서치 등으로 구성된 백엔드의 구조를 자세히 설명한다. 이후 2장과 마찬가지로 위반 이미지 감지라는 과제 설정부터 시작해 시스템과 워크플로를 설계하고 구현해나간다. MobileNet v3 및 텐서플로를 사용해 위반을 판단하고 텐서플로 서빙과 MLflow Tracking Server으로 DB에 저장한다. 이 시스템을 프로덕션에 적용하기 위해 추론을 비동기로 실행되게 하고, 모니터링을 위해 Streamlit으로 웹 페이지를 만드는 방법도 간단히 다룬다.

 

4장에서는 3장의 서비스의 검색 기능을 개선하기 위해 검색 시스템에 머신러닝을 도입하는 과정을 실습한다. 순위 학습과 형태소 분석(일본어)을 설명하고 구현하며, 프로덕션 적용을 위해 CronWorkflow로 특징량 생성 작업을 자동화한다. 끝으로 텍스트뿐 아니라 이미지로도 검색할 수 있도록 ScaNN 인덱스 작성을 구현해 유사 이미지 검색 기능을 앱에 추가하고, 인덱스 업데이트 역시 자동화한다.

 

각각의 컴포넌트를 조합해 전체적인 파이프라인이 제대로 돌아가게 만드는 법에 초점을 맞춘 책으로서, 이론이나 개별적인 디테일에 매몰되지 않고 큰 그림을 보여준다는 점이 책의 가장 큰 미덕이다. 팀 구성, 백엔드, 인프라스트럭처, BI 도구 등 실제 서비스가 돌아가는 데 중요함에도 간과되어온 요소들까지 살펴본다는 점에서 더욱 의미 있는 실무적인 머신러닝 지침서라고 할 수 있다.

 

주요 내용

  • 머신러닝 비즈니스 과제를 선정하는 방법, 과제를 해결하기 위한 워크플로와 시스템 구축 방법, 머신러닝을 활용하는 팀 구성 노하우
  • 가공의 AI 상점에서 식료품 수요 예측을 위한 머신러닝의 활용 및 개발 워크플로
  • 가공의 동물 이미지 공유 애플리케이션에서 사용자의 위반 행동을 감지하고 제지하기 위한 워크플로, 머신러닝 시스템/평가 시스템의 구현 방법
  • 검색 시스템에 머신러닝을 활용해 검색 경험을 개선/발전시키는 방법

지은이 소개

시부이 유스케(澁井 雄介)

Launchable 소속 MLOps, 인프라, 백엔드, 안드로이드 엔지니어. 고양이 2마리와 함께 살고 있으며 집에 고양이용 해먹을 4개 가지고 있다. 본업으로 개발자 생산성을 위한 MLOps와 데이터 인프라를 개발하면서, MLOps 커뮤니티 운영도 열심히 하고 있다. SIer를 거쳐, 외국계 소프트웨어 벤더 및 스타트업에서 신규 제품 개발, 대규모 시스템 운영, 팀 관리에 종사했다. 전 직장인 메루카리에서 머신러닝을 시스템에 조합하는 디자인 패턴을 집필 및 공개했다.

 

옮긴이 소개

김모세

대학 졸업 후 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 부문에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하고 성과를 내도록 돕는 일에 보람을 느끼며, 나 자신에게 도전하고 더 나은 사람이 되기 위해 항상 노력하고 있다. 저서로 《코드 품질 시각화의 정석》(지앤선)이 있고, 옮긴 책은 《핵심만 골라 배우는 젯팩 컴포즈》(제이펍), 《모던 자바스크립트로 배우는 리액트 입문》(한빛미디어), 《애자일 소프트웨어 아키텍트의 길》(에이콘출판사) 등 다수다.

 

차례

옮긴이 머리말 viii

베타리더 후기 x

시작하며 xii

이 책에 대하여 xv

 

CHAPTER 1 과제, 팀, 시스템 1

1.1 소프트웨어 기술을 활용해 비즈니스 과제를 해결하려면 3

1.2 과제를 머신러닝으로 해결할 시나리오를 결정한다 7

1.3 팀 크기와 스킬에 맞는 개발과 운용을 고려한다 11

1.4 머신러닝 시스템의 아키텍처를 설계한다 14

1.5 새로운 머신러닝 시스템 디자인 패턴 16

__1.5.1 평가 대시보드 패턴 16 / 1.5.2 잘못된 추론 지원 패턴 22

1.6 팀 구성 패턴 27

__1.6.1 개척자 패턴 28 / 1.6.2 스몰 팀 패턴 31 / 1.6.3 믹스트 팀 패턴 35

1.7 정리 40

 

CHAPTER 2 수요 예측 시스템 만들기 41

2.1 수요 예측의 목적 43

2.2 머신러닝 팀과 소프트웨어 개발 팀 구성의 예 45

더보기

__2.2.1 사내 최초 머신러닝 프로젝트 팀인 경우 46

__2.2.2 실적이 있는 머신러닝 팀의 경우 47 / 2.2.3 매트릭스형 팀의 경우 48

2.3 머신러닝으로 수요를 예측한다 49

__2.3.1 과제 설정 49 / 2.3.2 데이터 52 / 2.3.3 개발 환경 구성 57

__2.3.4 데이터 전처리 59 / 2.3.5 학습 74 / 2.3.6 추론 활용과 평가 84

2.4 수요 예측 시스템과 업무 워크플로 99

__2.4.1 프로젝트 초기 팀, 시스템, 워크플로 (2021년 1월~2021년 6월) 99

__2.4.2 프로젝트 전개 시기의 팀, 시스템, 워크플로 (2021년 7월 이후) 103

2.5 정리 122

 

CHAPTER 3 동물 이미지 애플리케이션의 위반 감지 시스템 만들기 123

3.1 동물 이미지 애플리케이션 개요 125

__3.1.1 AIAnimals 126 / 3.1.2 동물 이미지 애플리케이션과 시스템 129

__3.1.3 AIAnimals를 기동한다 133

__3.1.4 동물 이미지 애플리케이션에 위반 감지가 필요해졌다 153

3.2 위반 감지의 목적 153

__3.2.1 머신러닝을 사용해 감지할 위반을 결정한다 156

3.3 위반 감지에 필요한 데이터를 정의한다 157

3.4 위반 감지 시스템과 워크플로 설계 163

3.5 위반 감지 모델을 개발한다 168

__3.5.1 데이터를 결정한다 169 / 3.5.2 모델을 만든다 170 / 3.5.3 작업 실행 189

3.6 위반 감지 시스템을 실용화한다 198

__3.6.1 비동기 추론 패턴으로 만드는 위반 감지 시스템 203

__3.6.2 위반 감지를 모니터링한다 225

3.7 정리 239

 

CHAPTER 4 동물 이미지 애플리케이션 검색에 머신러닝 활용하기 241

4.1 동물 이미지 애플리케이션 검색 243

__4.1.1 필터링과 배열 245

4.2 머신러닝으로 검색을 개선한다 248

4.3 유사어 사전 작성 249

__4.3.1 접근 로그와 빈번하게 검색되는 단어 251

__4.3.2 단어 벡터를 사용한 유사어 사전 작성 255

__4.3.3 유사어 사전을 검색에 활용한다 259

4.4 순위 학습을 활용한 검색 결과 정렬 266

__4.4.1 데이터를 만든다 269 / 4.4.2 순위 학습 모델을 학습한다 285

__4.4.3 순위 학습을 사용해 검색 결과를 정렬한다 294

__4.4.4 순위 학습의 워크플로 298

__4.5 A/B 테스트를 구축한다 306

__4.5.1 2가지 모델의 학습 313

4.6 이미지를 사용한 검색 317

__4.6.1 MobileNet v3를 사용한 특징량 추출과 ScaNN을 사용한 인덱스 작성 321

__4.6.2 MobileNet v3와 ScaNN 추론기 326

__4.6.3 유사 이미지 검색의 자동 업데이트 330

4.7 사용자들이 사용하는 머신러닝을 위하여 334

 

마치며 336

찾아보기 340

 

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  포스트  유튜브  인스타그램  트위터  페이스북