머신러닝 시스템 개발은 선형이 아닌 순환 프로세스다. 모델을 개발해 배포하고 나서도 끊임없는 모니터링과 업데이트가 필요하다. 이 책은 비즈니스 관점에서 머신러닝 시스템을 설계하고 운영할 때 맞닥뜨리는 모든 단계를 다룬다. 책에서 소개하는 다양한 접근법과 사례 연구는 머신러닝 시스템을 성공으로 이끌기 위한 인사이트를 제공한다. 저자가 수많은 기업과 협업한 경험을 기반으로 제시하는 실무 중심 접근법은 시스템이 안고 있는 난제를 해결하는 데 발판이 되어줄 것이다.
Contents
1장 머신러닝 시스템 개요
1.1 머신러닝을 사용해야 하는 경우
1.2 머신러닝 시스템 이해하기
1.3 정리
2장 머신러닝 시스템 설계 소개
2.1 비즈니스와 머신러닝의 목적
2.2 머신러닝 시스템 요구 사항
2.3 반복 프로세스
2.4 머신러닝 문제 구조화하기
2.5 지성 vs. 데이터
2.6 정리
3장 데이터 엔지니어링 기초
3.1 데이터 소스
3.2 데이터 포맷
3.3 데이터 모델
3.4 데이터 스토리지 엔진 및 처리
3.5 데이터플로 모드
3.6 배치 처리 vs. 스트림 처리
3.7 정리
4장 훈련 데이터
4.1 샘플링
4.2 레이블링
4.3 클래스 불균형 문제
4.4 데이터 증강
4.5 정리
5장 피처 엔지니어링
5.1 학습된 피처 vs. 엔지니어링된 피처
5.2 피처 엔지니어링 기법
5.3 데이터 누수
5.4 좋은 피처를 설계하는 방법
5.5 정리
6장 모델 개발과 오프라인 평가
6.1 모델 개발과 훈련
6.2 모델 오프라인 평가
6.3 정리
7장 모델 배포와 예측 서비스
7.1 머신러닝 배포에 대한 통념
7.2 배치 예측 vs. 온라인 예측
7.3 모델 압축
7.4 클라우드와 에지에서의 머신러닝
7.5 정리
8장 데이터 분포 시프트와 모니터링
8.1 머신러닝 시스템 장애 원인
8.2 데이터 분포 시프트
8.3 모니터링과 관찰 가능성
8.4 정리
9장 연속 학습과 프로덕션 테스트
9.1 연속 학습
9.2 프로덕션에서 테스트하기
9.3 정리
10장 MLOps를 위한 인프라와 도구
10.1 스토리지와 컴퓨팅
10.2 개발 환경
10.3 자원 관리
10.4 머신러닝 플랫폼
10.5 구축 vs. 구매
10.6 정리
11장 머신러닝의 인간적 측면
11.1 사용자 경험
11.2 팀 구조
11.3 책임 있는 AI
11.4 정리
Author
칩 후옌,김대근,김영민
클레이폿 AI의 공동 창립자이자 CEO로서 실시간 머신러닝을 위한 인프라를 개발하고 있다. 이전에는 엔비디아, 스노클 AI, 넷플릭스에 재직하며 머신러닝 시스템을 개발하고 배포하는 일을 도왔으며, 스탠퍼드 학부생일 때는 ‘딥러닝 연구를 위한 텐서플로’라는 강의를 만들어 직접 학생들을 가르쳤다. 현재 스탠퍼드에서 이 책의 토대가 된 ‘CS 329S: 머신러닝 시스템 설계(Machine Learning Systems Design)’를 강의하고 있다. 전문 분야는 소프트웨어 엔지니어링과 머신러닝에 걸쳐 있으며, 링크드인 탑 보이스(Top Voices) 소프트웨어 개발 부문(2019)과 데이터 과학 및 머신러닝 부문(2020)에 이름을 올렸다.
클레이폿 AI의 공동 창립자이자 CEO로서 실시간 머신러닝을 위한 인프라를 개발하고 있다. 이전에는 엔비디아, 스노클 AI, 넷플릭스에 재직하며 머신러닝 시스템을 개발하고 배포하는 일을 도왔으며, 스탠퍼드 학부생일 때는 ‘딥러닝 연구를 위한 텐서플로’라는 강의를 만들어 직접 학생들을 가르쳤다. 현재 스탠퍼드에서 이 책의 토대가 된 ‘CS 329S: 머신러닝 시스템 설계(Machine Learning Systems Design)’를 강의하고 있다. 전문 분야는 소프트웨어 엔지니어링과 머신러닝에 걸쳐 있으며, 링크드인 탑 보이스(Top Voices) 소프트웨어 개발 부문(2019)과 데이터 과학 및 머신러닝 부문(2020)에 이름을 올렸다.