저자소개
Chip Huyen
클레이폿 AI의 공동 창립자이자 CEO로서 실시간 머신러닝을 위한 인프라를 개발하고 있다. 이전에는 엔비디아, 스노클 AI, 넷플릭스에 재직하며 머신러닝 시스템을 개발하고 배포하는 일을 도왔으며, 스탠퍼드 학부생일 때는 ‘딥러닝 연구를 위한 텐서플로’라는 강의를 만들어 직접 학생들을 가르쳤다. 현재 스탠퍼드에서 이 책의 토대가 된 ‘CS 329S: 머신러닝 시스템 설계(Machine Learning Systems Design)’를 강의하고 있다. 전문 분야는 소프트웨어 엔지니어링과 머신러닝에 걸쳐 있으며, 링크드인 탑 보이스(Top Voices) 소프트웨어 개발 부문(2019)과 데이터 과학 및 머신러닝 부문(2020)에 이름을 올렸다.
목차
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 정리