머신러닝 시스템 설계 - 프로젝트 범위 산정부터 프로덕션 배포 후 모니터링까지, MLOps 완벽 해부하기
원제: Designing Machine Learning Sytems
저자: 칩 후옌 / 번역: 김대근, 김영민 / 출간: 2023-03-14
https://www.hanbit.co.kr/store/books/look.php?p_code=B1811121220
MLOps 책은 몇 권 읽었던 터라 제목만 봤을 때에는 비슷한 내용일까 했으나, 차례를 보니 독특할 정도로 많은 주제를 다룬다는 생각이 들었습니다. 다른 책이 부족하다는 게 아니라 이 책의 다루는 주제 범위가 상당히 넓습니다. 머신러닝 개요, 머신러닝에 앞서 작업해야 하는 데이터 엔지니어링, 운영을 감안한 모델 개발의 여러 요소, 모니터링과 개선에 AI 윤리까지 정말로 머신러닝을 활용한 '서비스 전반'에 대해 다룹니다.
머신러닝 분야에서 시니어로 성장하거나, 인공지능과는 별 상관없이 일해왔더라도 아키텍트로서 성장하고프다면 이 책이 두고두고 도움이 될 겁니다. '두고두고'라는 어휘를 쓴 이유는 7~8년차 이상 경험을 쌓지 않았거나 데이터 파이프라인과 무관했던 경력이라면 낯선 이야기가 많기 때문입니다. 세부적인 기술과 도구는 바뀌더라도 이 책이 다루는 아젠다는 로드맵으로 삼을 만합니다. 이 책에서 다루는 아젠다를 섭렵하거나 최소한 실습해 본다면 저자만큼 이 분야에서 산전수전을 다 겪게 되는 셈입니다.
지난 몇 년 간 빅데이터와 AI 분야에서 굴러온 경험을 반추하게 되면서, 단중기적으로 뭘 더 해야 하겠구나 계획을 세워 보게 되었습니다. 지금 이 시점에 이 책을 만나서 참 다행입니다.
1장 머신러닝 시스템 개요
1.1 머신러닝을 사용해야 하는 경우
1.2 머신러닝 시스템 이해하기
1.3 정리
- 머신러닝은 기존 데이터로부터 복잡한 패턴을 학습하고 이러한 패턴을 사용해 본 적 없는 데이터에 대해 예측을 수행하는 접근법입니다.
- 머신러닝이 문제 전체를 해결하지는 못하더라도 문제를 더 작은 구성 요소로 나눴을 때 그 일부를 해결하는 경우가 있습니다. 예를 들어, 모든 고객 문의에 답하는 챗봇을 구축하기는 어렵더라도 특정 문의가 FAQ 중 하나와 일치하는지 예측하는 머신러닝 모델은 구축할 수 있습니다. 자주 묻는 질문 중에 일치하는 것이 있다면 해당 답변을 제시하고, 없다면 고객 서비스 쪽으로 안내하면 되겠죠.
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 정리
- 피처 엔지니어링에 대한 모범 사례
- 데이터는 무작위 분할 대신 시간 별 학습, 검증, 테스트 분할이 적절
- 오버샘플링은 분할 후에 수행
- 데이터 누수 방지를 위해 스케일링 정규화는 데이터 분할 후 수행
- 피처 스케일링, 결측값 처리: 전체 데이터 대신 훈련 분할의 통계치만 사용
- 데이터 생성, 수집, 처리 방식을 이해해야 하므로 가능한 도메인 전문가 참여
- 데이터 계보 lineage를 추적
- 모델에 대한 피처 중요도 이해
- 잘 일반화되지 않는 피처 사용
- 모델에서 더 이상 유용하지 않는 피처는 제거
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 정리
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'BI > 인공지능' 카테고리의 다른 글
LLM에게 한국어 문헌을 떠먹여줘야 합니다 (1) | 2023.06.30 |
---|---|
AI 쇼핑 어드바이저 로사와 샬롯의 흔적 (0) | 2023.04.20 |
ChatGPT의 세상에서 빅테크가 아닌 조직은 무엇을 해야 하는가? (0) | 2023.04.15 |