14가지 패턴으로 대규모 머신러닝 시스템을 완성하라!
머신러닝의 급속한 발전과 함께 데이터와 트래픽이 폭발적으로 증가하면서, 단순히 성능 향상뿐 아니라 안정적이고 확장 가능한 시스템 설계가 중요해지고 있다. 이에 본 책은 대규모 머신러닝 시스템을 설계하고 운영하기 위한 14가지 실용적인 설계 패턴을 소개하고, 실무에서 빈번히 발생하는 문제와 해결책을 제시한다. 또한 텐서플로, 쿠버네티스, 쿠브플로, 아르고 워크플로 등 클라우드 기반의 최신 도구를 활용한 실무 예제를 통해 이론과 실무를 함께 학습할 수 있도록 구성했다. 특히 시스템 장애나 과부하 상황에서의 대처 방안, 효율적인 자원 관리를 상세히 다룸으로써 실무자들의 기술적 문제 해결 역량을 높이는 데 중점을 두었다. 복잡해지는 머신러닝 시스템의 난관을 뚫고 나아가려는 모든 개발자에게 이 한 권이 길잡이가 될 것이다.
14가지 패턴
[PART 1 분산 머신러닝 시스템의 배경지식]
CHAPTER 01 분산 머신러닝 시스템 소개
_1.1 대규모 머신러닝
_1.2 분산 시스템
_1.3 분산 머신러닝 시스템
요약
[PART 2 분산 머신러닝 시스템의 설계 패턴]
CHAPTER 02 데이터 수집 패턴
_2.1 데이터 수집이란?
_2.2 Fashion-MNIST 데이터셋
_2.3 배치 처리 패턴: 제한된 메모리로 무거운 연산 실행하기
_2.4 샤딩 패턴: 매우 큰 데이터셋을 여러 워커에 분산시키기
_2.5 캐싱 패턴: 효율적인 학습을 위해 데이터 재활용하기
요약
CHAPTER 03 분산 학습 패턴
_3.1 분산 학습이란?
_3.2 파라미터 서버 패턴: 8백만 개의 유튜브 영상에 태그 달기
_3.3 집합 통신 패턴: 파라미터 서버가 병목이 되지 않도록 개선하기
_3.4 탄력성 및 내결함성 패턴: 제한된 연산 자원으로 인한 실패 대응하기
요약
CHAPTER 04 모델 서빙 패턴
_4.1 모델 서빙이란?
_4.2 레플리카 서버 패턴: 늘어나는 요청량 처리하기
_4.3 서비스 샤딩 패턴: 고해상도 영상을 처리하는 대규모 모델 서빙 다루기
_4.4 이벤트 기반 처리 패턴: 이벤트 기반으로 모델 서빙하기
요약
CHAPTER 05 워크플로 패턴
_5.1 워크플로란?
_5.2 팬인 및 팬아웃 패턴: 복잡한 머신러닝 워크플로 체계화
_5.3 동기 및 비동기 패턴: 병렬성으로 더 빠르게 처리하기
_5.4 스텝 메모이제이션 패턴: 반복되는 작업 생략하기
요약
CHAPTER 06 운영 패턴
_6.1 머신러닝 시스템 운영하기
_6.2 스케줄링 패턴: 공유 클러스터 자원을 효과적으로 할당하기
_6.3 메타데이터 패턴: 실패를 적절히 처리하는 방법
요약
[PART 03 분산 머신러닝 시스템 구축]
CHAPTER 07 실습 프로젝트 둘러보기
_7.1 프로젝트 개요
_7.2 데이터 수집 단계
_7.3 모델 학습 단계
_7.4 모델 서빙 단계
_7.5 전체 워크플로 구조
요약
CHAPTER 08 실습 관련 기술 둘러보기
_8.1 텐서플로: 머신러닝 프레임워크
_8.2 쿠버네티스: 분산 컨테이너 관리 시스템
_8.3 쿠브플로: 쿠버네티스 머신러닝 워크로드 관리 시스템
_8.4 아르고 워크플로: 컨테이너 기반 워크플로 엔진
요약
CHAPTER 09 실습 프로젝트
_9.1 데이터 수집
_9.2 모델 학습
_9.3 모델 서빙
_9.4 전체 워크플로
요약
대규모 데이터 처리와 분석을 위한 분산 머신러닝 실무 가이드
이 책은 분산 시스템에서 머신러닝을 구현하고 최적화하는 데 필요한 14가지 핵심 패턴과 모범 사례를 소개하는 실무 지침서다. 복잡한 분산 머신러닝 개념을 쉽게 이해할 수 있도록 설명하고, 실무에서 바로 적용할 수 있는 실질적인 방법론을 제시한다. 데이터 분산 처리, 모델 학습의 병렬화, 효율적인 리소스 관리 등 분산 머신러닝의 전반적인 과정에서 발생할 수 있는 다양한 문제를 해결하기 위한 체계적인 패턴을 소개한다. 이를 통해 AI와 데이터 과학 분야의 전문가들뿐만 아니라, 대규모 데이터 처리 및 분석을 다루는 모든 이에게 실용적인 가이드가 될 것이다.
주요 내용