저자

막스펌펄라,에드워드옥스,리차드리우

저자:막스펌펄라(MaxPumperla)

독일함부르크에사는데이터과학교수이자소프트웨어엔지니어입니다.매우적극적인오픈소스기여자이며여러파이썬패키지의메인테이너로활동중입니다.현재애니스케일에서소프트웨어엔지니어로일하고있습니다.이전에는패스마인드의제품연구책임자로서레이RLlib,서브,튠을활용해대규모산업애플리케이션을위한강화학습설루션을개발했으며,스카이마인드에서DL4J의개발에중요한역할을맡았습니다.또한,케라스생태계의성장과확장을도왔으며하이퍼옵트의메인테이너입니다.



저자:에드워드옥스(EdwardOakes)

애니스케일의소프트웨어엔지니어이자레이서브개발을주도하는팀의리더이며레이오픈소스기여자입니다.애니스케일에서근무하기전에는UC버클리의EECS에서학위를수료했습니다.



저자:리차드리우(RichardLiaw)

애니스케일의소프트웨어엔지니어이며분산머신러닝을위한오픈소스도구를연구하고있습니다.UC버클리컴퓨터과학과의박사과정에서휴학중으로조셉곤잘레스와이온스토이카,켄골드버그의지도를받고있습니다.



역자:김완수

AI교육스타트업뤼이드에서근무하고있으며,하이퍼옵트의메인테이너로활동했습니다.선언적이면서멱등성을보장하고재현가능한특성을가진소프트웨어를매우선호합니다.오픈소스생태계를사랑하는마음으로주제를가리지않고다양한오픈소스프로젝트에적극적으로기여하고있습니다.최근에는특히VIM과Nix생태계에많은관심을두고지켜보고있습니다.개인개발환경의생산성향상을위해회사업무로할수없는극단적인오버엔지니어링과자동화가취미이며,여가활동으로커스텀키보드제작을즐깁니다.

목차


Chapter1레이살펴보기
1.1레이는무엇인가?
_1.1.1레이가추구하는목적
_1.1.2레이의디자인철학
_1.1.3레이의3가지계층:코어,라이브러리,생태계
1.2분산컴퓨팅프레임워크
1.3데이터과학라이브러리
_1.3.1데이터과학워크플로
_1.3.2데이터처리
_1.3.3모델학습
_1.3.4하이퍼파라미터튜닝
_1.3.5모델서빙
1.4성장하는생태계
1.5요약

Chapter2레이코어로시작하는분산컴퓨팅
2.1레이코어소개
_2.1.1레이API를활용한첫번째예시
_2.1.2레이API개요
2.2레이시스템컴포넌트
_2.2.1노드에서태스크스케줄링및실행
_2.2.2헤드노드
_2.2.3분산된스케줄링과실행
2.3레이를사용한간단한맵리듀스예시
_2.3.1매핑과셔플
_2.3.2단어수축소(리듀스단계)
2.4요약

Chapter3분산애플리케이션개발
3.1강화학습소개
3.2간단한미로문제설정
3.3시뮬레이션구현
3.4강화학습모델훈련
3.5레이분산애플리케이션구축
3.6강화학습용어요약
3.7요약

Chapter4레이RLlib을활용한강화학습
4.1RLlib개요
4.2RLlib시작하기
_4.2.1Gym환경구축
_4.2.2RLlibCLI
_4.2.3RLlib파이썬API
4.3RLlib실험구성
_4.3.1리소스구성
_4.3.2롤아웃워커구성
_4.3.3환경구성
4.4RLlib환경
_4.4.1RLlib환경개요
_4.4.2다중에이전트
_4.4.3정책서버와클라이언트작동
4.5고급개념
_4.5.1고급환경구축
_4.5.2커리큘럼학습적용
_4.5.3오프라인데이터작업
_4.5.4다른고급주제
4.6요약

Chapter5레이튠을활용한하이퍼파라미터최적화
5.1하이퍼파라미터튜닝
_5.1.1레이를사용한랜덤서치
_5.1.2HPO가어려운이유
5.2튠소개
_5.2.1튠의작동방식
_5.2.2튠의구성과실행
5.3튠을활용한머신러닝
_5.3.1튠을활용한RLlib
_5.3.2케라스모델튜닝
5.4요약

Chapter6레이데이터셋을활용한데이터분산처리
6.1레이데이터셋
_6.1.1레이데이터셋기초
_6.1.2레이데이터셋연산
_6.1.3데이터셋파이프라인
_6.1.4예시:병렬분류기복사본훈련
6.2외부라이브러리통합
6.3머신러닝파이프라인구축
6.4요약

Chapter7레이트레인을활용한분산모델훈련
7.1분산모델훈련의기초
7.2예시를통한레이트레인소개
_7.2.1뉴욕시택시승차시팁예측
_7.2.2로드,전처리,피처화
_7.2.3딥러닝모델정의
_7.2.4레이트레인을활용한모델훈련
_7.2.5분산배치추론
7.3레이트레인의트레이너
_7.3.1레이트레인으로마이그레이션
_7.3.2트레이너스케일아웃
_7.3.3레이트레인을활용한전처리
_7.3.4트레이너와레이튠의통합
_7.3.5콜백을사용한학습모니터링
7.4요약

Chapter8레이서브를활용한온라인추론
8.1온라인추론의주요특징
_8.1.1계산집약적머신러닝모델
_8.1.2고립된상태에서유용하지않은머신러닝모델
8.2레이서브소개
_8.2.1아키텍처개요
_8.2.2기본HTTP엔드포인트정의
_8.2.3확장및리소스할당
_8.2.4요청배치처리
_8.2.5멀티모델추론그래프
8.3엔드투엔드예시:자연어처리기반API구축
_8.3.1콘텐츠가져오기및전처리
_8.3.2NLP모델
_8.3.3HTTP처리및드라이버로직
_8.3.4통합
8.4요약

Chapter9레이클러스터를활용한스케일링
9.1수동으로레이클러스터생성
9.2쿠버네티스에배포
_9.2.1첫번째쿠브레이클러스터설정
_9.2.2쿠브레이클러스터와상호작용
_9.2.3쿠브레이노출
_9.2.4쿠브레이구성
_9.2.5쿠브레이로깅구성
9.3레이클러스터런처
_9.3.1레이클러스터구성
_9.3.2클러스터런처CLI
_9.3.3레이클러스터와상호작용
9.4클라우드클러스터
_9.4.1AWS
_9.4.2기타클라우드제공자
9.5오토스케일링
9.6요약

Chapter10레이AIR로구성하는데이터과학워크플로
10.1AIR를사용하는이유
10.2예시로살펴보는AIR의핵심
_10.2.1레이데이터셋과전처리기
_10.2.2트레이너
_10.2.3튜너와체크포인트
_10.2.4배치예측기
_10.2.5배포
10.3AIR에적합한워크로드
_10.3.1AIR워크로드실행
_10.3.2AIR메모리관리
_10.3.3AIR고장모델
_10.3.4AIR워크로드오토스케일링
10.4요약

Chapter11레이생태계와그너머
11.1성장하는생태계
_11.1.1데이터로드와처리
_11.1.2모델훈련
_11.1.3모델서빙
_11.1.4커스텀통합
_11.1.5레이통합개요
11.2레이외시스템
_11.2.1분산파이썬프레임워크
_11.2.2레이AIR와더넓은생태계
_11.2.3AIR를머신러닝플랫폼에통합하는방법
11.3앞으로살펴볼만한주제
11.4요약

출판사 서평

파이썬에쉽고빠른병렬화를구현하는레이를만나다.

머신러닝시스템은훈련에많은양의데이터를사용하며모델의크기는점점커지고있다.AI시스템에필요한연산의수가초당1000조회를넘어가는시점에서분산컴퓨팅은절대적으로필요하다.레이는분산컴퓨팅전용파이썬라이브러리로,간단한코드변경으로빠른병렬화와확장가능한분산처리를지원한다.소규모작업부터대규모클러스터까지다양한규모에서높은성능을제공하며,API의범위도유연해다양한상황에사용할수있다.특히텐서플로나파이토치같은라이브러리와의통합을지원해데이터과학자에게도유용하다.
이책은레이를사용해강력한분산애플리케이션과모델을구축하는방법을소개한다.독자가직접흥미로운프로젝트를구현하며,레이를구성하는각라이브러리의기능과적용분야를알수있도록구성에더복잡한상황에레이를적용할자신감을심어준다.이책을통해레이의잠재력을발견해병렬화를구현해보자.

대상독자

-데이터과학과머신러닝에레이를사용하려는데이터관련종사자
-파이썬으로분산컴퓨팅을구현하는방법이궁금한개발자

배우는내용

-하이퍼파라미터최적화를시행하는레이튠
-강화학습을수행하는레이RLlib
-분산훈련을지원하는레이트레인
-대용량데이터를처리하는레이데이터셋
-머신러닝애플리케이션을구축하는레이AIR

이책의구성

1장부터3장까지는분산파이썬프레임워크로서의레이를살펴보며실질적인예시를통해기본적인개념을배웁니다.4장부터10장까지는레이RLlib,레이튠,레이데이터셋,레이트레인등레이생태계를구성하는하이레벨라이브러리를알아보고,이를사용해애플리케이션을만드는방법을배웁니다.마지막장에서는레이의생태계에대한종합적인개요와더나아가는방법을안내합니다.

옮긴이의말

레이는소프트웨어레이어뿐아니라인프라레이어까지도빠르게통합을이루어내는가장훌륭한분산시스템추상화입니다.이책을읽으시는여러분도제가발견한레이의잠재력과가능성을만나길바라며,지금까지풀기힘들었던문제를해결하는계기가되었으면합니다.