메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

대규모 머신러닝 시스템 디자인 패턴

14가지 패턴으로 분산 머신러닝 파이프라인 구축하기

한빛미디어

번역서

판매중

  • 저자 : 위안 탕
  • 번역 : 정민정
  • 출간 : 2024-11-29
  • 페이지 : 304 쪽
  • ISBN : 9791169213134
  • 물류코드 :11313
  • 초급 초중급 중급 중고급 고급
4.5점 (2명)
좋아요 : 3

14가지 패턴으로 대규모 머신러닝 시스템을 완성하라!


머신러닝의 급속한 발전과 함께 데이터와 트래픽이 폭발적으로 증가하면서, 단순히 성능 향상뿐 아니라 안정적이고 확장 가능한 시스템 설계가 중요해지고 있다. 이에 본 책은 대규모 머신러닝 시스템을 설계하고 운영하기 위한 14가지 실용적인 설계 패턴을 소개하고, 실무에서 빈번히 발생하는 문제와 해결책을 제시한다. 또한 텐서플로, 쿠버네티스, 쿠브플로, 아르고 워크플로 등 클라우드 기반의 최신 도구를 활용한 실무 예제를 통해 이론과 실무를 함께 학습할 수 있도록 구성했다. 특히 시스템 장애나 과부하 상황에서의 대처 방안, 효율적인 자원 관리를 상세히 다룸으로써 실무자들의 기술적 문제 해결 역량을 높이는 데 중점을 두었다. 복잡해지는 머신러닝 시스템의 난관을 뚫고 나아가려는 모든 개발자에게 이 한 권이 길잡이가 될 것이다.
 

14가지 패턴

  • 데이터 수집 패턴: 배치 처리, 샤딩, 캐싱
  • 분산 학습 패턴: 파라미터 서버, 집합 통신, 탄력성 및 내결함성
  • 모델 서빙 패턴: 레플리카 서버, 서비스 샤딩, 이벤트 기반 처리
  • 워크플로 패턴: 팬인 및 팬아웃, 동기 및 비동기, 스텝 메모이제이션
  • 운영 패턴: 스케줄링, 메타데이터

 

위안 탕 저자

위안 탕

Akuity의 창립 엔지니어로, 개발자를 위한 기업용 플랫폼을 구축하고 있다. 이전에 알리바바와 Uptake에서 데이터 과학 및 엔지니어링팀을 이끌며 AI 인프라와 AutoML 플랫폼 개발에 주력했다. 아르고(Argo)와 쿠브플로(Kubeflow)의 프로젝트 리더이자 텐서플로(TensorFlow)와 XGBoost의 메인테이너로 활동 중이며, 이 외에도 다양한 오픈 소스 프로젝트를 만들어 운영 중이다. 세 권의 머신러닝 서적을 집필하고 여러 논문을 발표했다. 다양한 콘퍼런스에서 정기적으로 다양한 발표를 정기적으로 진행하고 있으며, 여러 조직에서 기술 자문과 리더, 멘토 역할을 수행하고 있다.

정민정 역자

정민정

국내 주요 IT 기업에서 머신러닝 엔지니어로 활동하며 대규모 실시간 추론 시스템을 설계 및 운영하고 있다. 컴퓨터 비전과 자연어 처리를 중심으로 다양한 도메인의 머신러닝 모델을 실제 서비스에 적용해왔으며, 현재는 머신러닝 서비스팀을 이끌고 있다. 확장 가능하면서도 안정적인 시스템을 구축하는 데 주력하고 있으며, 실용적인 머신러닝 엔지니어링 문화를 전파하는 데 힘쓰고 있다.

[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와 데이터 과학 분야의 전문가들뿐만 아니라, 대규모 데이터 처리 및 분석을 다루는 모든 이에게 실용적인 가이드가 될 것이다.

 

주요 내용

  • 데이터 수집, 분산 학습, 모델 서빙 등 다양한 단계로 구성된 ML 파이프라인 구축
  • 쿠버네티스, 텐서플로, 쿠브플로, 아르고 워크플로를 사용해 ML 작업 자동화
  • 다양한 패턴과 접근 방식 간의 트레이드오프 평가
  • 대규모 머신러닝 작업 관리 및 모니터링

이 책은 머신러닝 웹 서비스를 어떻게 하면 효율적으로 운영할 수 있는지 설명을 하고 있는 책입니다.

실습에 관련한 내용은 적고, 현재 또는 앞으로 이와 관련한 솔루션 및 프로젝트에 대한 니즈가 있는 분이라면 이 책만한 개념 설명 도서는 없다고 생각 합니다. Kubernetes, Kuberflow 등 다양한 솔루션에 접근하기 전에 이 책으로 기본기를 탄탄하게 세운다면 많은 도움이 되어 줄 것입니다.

 

책의 구성은  머신러닝 서비스 단계별로 잘 나뉘어 있습니다.

 

chapter 02 데이터 수집 패턴
chapter 03 분산 학습 패턴
chapter 04 모델 서빙 패턴
chapter 05 워크플로 패턴
chapter 06 운영 패턴

 

저자의 설명방식이 이 책의 강점인데, 일방적으로 내용을 설명을 하고 있지 않습니다. (개요) 해당 내용 어떤 내용인지에 대하여 설명을 우선 합니다. (문제) 그리고 어떠한 내용이 필요한지 독자들의 이해를 돕기위해 문제점을 설명 합니다. (해결책) 해당 내용에 대하여 저자가 생각한 Solution 에 대하여 자세한 설명을 합니다. (고려사향) 그리고 더 낳은 해결책에 대하여 독자들과 함께 고민할 수 있도록 추가적인 대안들에 대하여 이야기를 하고 있습니다.

 

※ 본 리뷰는 IT 현업개발자가, 한빛미디어 책을 제공받아 작성한 서평입니다.

 

소개

얼마 전까지만 해도 AI & 머신러닝은 소프트웨어 개발이나 언어와는 다른 별도의 분야로 인식되고 있었으나 최근 들어서 머신러닝도 UI나 데이터베이스처럼 마치 소프트웨어 개발의 하나의 요소처럼 여겨지고 있는 것 같습니다.

이런 상황에서 개발자들은 머신러닝 모델을 안정적으로 운영할 수 있는 능력도 요구되고 있습니다.

훌륭하게 결과를 산출하는 머신러닝 모델을 개발했어도 실제로 사용자들이 이 모델을 안정적으로 사용하게 하기 위해서는 훨씬 더 다양하고 복잡한 문제들이 개발자들을 기다리고 있습니다.

더욱이 이 모델을 운영하는 시스템이 분산 환경이라면 고려해야 할 문제는 더욱더 많아집니다.

학습 데이터의 방대함, 모델의 복잡성, 실시간 트래픽 처리 등 분산 환경에서 머신러닝 시스템을 구축하는 일은 기존의 단일 서버 중심 개발과는 차원이 다른 도전이 될 것입니다.

이 책은 단순히 모델을 학습시키는 기술적 방법론에 그치지 않고, 대규모 데이터 셋과 모델을 분산 처리하고 운영하는 시스템 디자인 패턴을 체계적으로 소개합니다.

이를 통해 머신러닝 엔지니어, 데이터 사이언티스트, 소프트웨어 개발자가 시스템 전반을 설계하고 운영할 수 있는 역량을 갖출 수 있도록 돕습니다.

 

특징

책을 읽으면서 느꼈던 특징은 필요하고 핵심적인 내용만 다루고 있습니다.

군더더기 없이 깔끔한 설명과 실용적인 패턴들의 설명에 집중한다는 것입니다.

특히, 소개하는 패턴들의 장단점을 실제 사례를 통해서 명확하게 설명해 줍니다.


 

구성

총 3개의 Part로 구성되어 있으며 각 파트는 분산 머신러닝 시스템의 정의와 분산 머신러닝 시스템에서 적용 가능한 다양한 패턴들 그리고 실제 분산 머신러닝 시스템 실습을 통해서 배운 패턴들을 확인하는 순서로 이루어져 있습니다.

Part 1에서는 분산 머신러닝 시스템의 필요성과 개념, 데이터의 분산 처리, 모델 학습의 확장성과 같은 필수적인 기초 지식과 분산 머신러닝 시스템의 배경지식을 다룹니다.

Part 2는 분산 시스템의 다양한 설계 패턴에 대해서 상황별로 적용이 필요한 시점과 함께 핵심 내용을 다룹니다.

분산 환경에서 대규모 Dataset으로 학습을 하기 위해서 필요한 배치처리 패턴, 샤딩 패턴 그리고 캐싱 패턴 등을 다룹니다.

이 패턴들은 모두 대규모 Dataset을 작은 단위로 나누어서 학습을 하는 패턴들이며 각각의 장단점을 설명합니다.

학습할 Dataset이 준비가 되었으니, 다음으로 이 Dataset으로 분산 환경에서 모델을 학습하는 패턴들에 대해서 다룹니다.

파라미터 서버 패턴, 집합 통신 패턴, 탄력성 및 내결합성 패턴 등과 같은 패턴들은 여러 개의 Worker를 이용해서 빠르게 학습하는 방법들에 대한 패턴들입니다.

학습이 완료된 모델들을 실제로 사용자들에게 서빙을 하기 위해서 필요한 패턴들에 대해서도 다룹니다.

레플리카 서버 패턴, 서비스 샤딩 패턴, 이벤트 기반 처리 패턴들은 대규모 사용자들의 요청에 대해서 적절히 트래픽을 분산하여 서빙하는 방법들에 대해서 논의합니다.

다음으로는 이 전체 Workflow를 유연하고 안정적으로 흘러가도록 관리해 주는 패턴들에 대해서 알아봅니다.

팬인 팬아웃 패턴, 동기 및 비동기 패턴, 스템 메모이제이션 패턴들은 워크플로 전체를 최적화하는 데 도움을 주는 패턴들입니다.

마지막으로, 워크플로 상에서 문제 상황에 대처하는 패턴들과 공유 자원을 효과적으로 할당하는 데 도움이 되는 스케쥴링 패턴, 메타데이터 패턴들을 소개합니다.

마지막 Part 3에서는 Part 2에서 배운 다양한 패턴들을 실제로 이미지 분류 프로젝트를 기반으로 앞서 배운 패턴을 적용하고, 현실에서 발생할 수 있는 문제들을 개선해 나가는 과정이 실습을 통해 체화됩니다.

패턴을 실제 코드로 구현하며 실무에 바로 적용할 수 있는 기술력을 갖출 수 있습니다.


 

대상 독자

이 책은 머신러닝 모델의 개발 경험이 있고, 분산 환경에서 이를 운영하고자 하는 데이터 사이언티스트, 소프트웨어 엔지니어를 대상으로 합니다.

특히 Bash, Python, Docker와 같은 기술에 익숙한 독자라면 더욱 쉽게 내용을 이해하고 실습할 수 있을 것입니다.


 

마무리

분산 환경에서의 소프트웨어 개발, 특히 머신러닝 모델의 운영에 관한 책들이 많이 없는 상황에서 실제 현장에서의 경험이 녹아있는 가이드가 발간되었다는 것이 정말 반가운 일입니다.

단순히 모델 개발만 하던 개발자들에게 서비스 운영 전체를 통찰할 수 있는 안목을 기르는 것에도 큰 도움이 될 것 같아서 이런 내용들이 필요한 분들에게 추천해 드리고 싶습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
대규모 머신러닝 시스템 디자인 패턴
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
대규모 머신러닝 시스템 디자인 패턴
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
대규모 머신러닝 시스템 디자인 패턴
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1