쿠버네티스로 구현하는 머신러닝 - 에이콘 클라우드 컴퓨팅 시리즈

쿠버네티스로 구현하는 머신러닝 - 에이콘 클라우드 컴퓨팅 시리즈

$35.00
Description
머신러닝은 더 이상 일부 전문가들의 영역이 아니며, 머신러닝의 구현과 운영 모두 여러 분야에서 축적된 경험을 바탕으로 생산적으로 발전해왔다. 이 과정에서 MLOps(Machine Learning Operations)는 기존의 소프트웨어와 시스템의 통합 운영 기술을 도입하고, 머신러닝을 위한 표준 프로세스를 적용해서 최적화해왔다. 쿠버네티스를 포함한 오픈소스 도구들을 통해 이 변화를 탐험해보자.
저자

파이살마수드,로스브리골리

저자:파이살마수드(FaisalMasood)

레드햇의수석설계자다.지금까지오픈시프트와레드햇의기업용쿠버네티스서비스를활용해데이터사이언스,앱플랫폼을설계하고제작하는일을지원했다.소프트웨어제작에20년이넘는경험이있고,쿠버네티스가등장하기전부터마이크로서비스를만들었다.



저자:로스브리골리(RossBrigoli)

레드햇의책임설계자다.다양한분야에서18년이상소프트웨어를설계하고제작해왔다.데이터플랫폼과워크플로우자동화플랫폼을설계하고제작했다.레드햇에오기전에는금융서비스분야에서데이터엔지니어링팀을책임지는설계담당자로일했다.현재는오픈시프트를기반으로마이크로서비스아키텍처와머신러닝솔루션을설계,제작하는일을하고있다.



역자:최준

기계공학을전공했던학창시절에누구에게나매력덩어리였던컴퓨터로기계의데이터를처리하고동작을제어하는과정에서흥미를갖게돼정보기술분야에뛰어들었다.2001년부터마이크로소프트한국,싱가폴지사에서근무하고아시아지역200여개의글로벌기업현장에서기술지원을수행하면서다양한기업용IT솔루션의문제를이해하고,해결방안을찾는소중한경험을갖게됐다.이후에는여러프로젝트에서.NET기반의C#개발자로서상용프로그램을공급하는즐거움도누릴수있었다.현재는캐나다에IT컨설팅회사를설립하고,기업고객에게필요한소프트웨어개발과컨설팅서비스를제공하고있다.

목차


1부.머신러닝도입의문제점과MLOps의이해(정의와근거)

1장.머신러닝의도전과제
__머신러닝이해하기
__머신러닝가치의실현
__올바른접근법선택
____데이터의중요성
__머신러닝도입의도전과제
____큰그림에만집착하기
____사일로살펴보기
____빠른실패문화
__머신러닝플랫폼개요
__요약
__더알아보기

2장.MLOps이해하기
__머신러닝과기존프로그래밍의비교
__DevOps의장점알아보기
__MLOps이해하기
____머신러닝
____DevOps
____머신러닝프로젝트라이프사이클
____빠른피드백루프
____프로젝트라이프사이클에서의협업
__머신러닝프로젝트에서의OSS역할
__쿠버네티스에서머신러닝프로젝트운영
__요약
__더알아보기

3장.쿠버네티스탐험
__기술요구사항
__쿠버네티스주요구성요소살펴보기
____제어영역
____작업자노드
____앱의실행을위한쿠버네티스객체
__쿠버네티스로클라우드사용자되기
__오퍼레이터이해하기
__로컬쿠버네티스환경설정하기
____kubectl설치
____minikube설치
____OLM설치
__구글클라우드플랫폼의가상머신준비하기
__요약

2부.MLOps플랫폼의작업영역과쿠버네티스로만드는방법

4장.머신러닝플랫폼의구조
__기술요구사항
__셀프서비스플랫폼정의
__데이터엔지니어링구성요소알아보기
____데이터엔지니어워크플로
__모델개발구성요소알아보기
____데이터과학자의워크플로이해하기
__보안,모니터링과자동화
__ODH소개
____쿠버네티스에ODH오퍼레이터설치
____쿠버네티스클러스터에인그레스제어기활성화
____쿠버네티스에Keycloak설치
__요약
__더알아보기

5장.데이터엔지니어링
__기술요구사항
__인증을위한Keycloak설정
____ODH구성요소에대한Keycloak설정가져오기
____Keycloak사용자생성
__ODH구성요소설정
____ODH설치
__주피터허브의이해와활용
____주피터허브설치확인하기
____첫번째주피터노트북실행
__아파치스파크의기초이해
____아파치스파크작업실행이해하기
__ODH로아파치스파크클러스터를필요할때제공하는방법
____스파크클러스터생성
____주피터허브로스파크클러스터를생성하는방법
__주피터노트북에서스파크앱을만들어서실행하기
__요약

6장.머신러닝엔지니어링
__기술요구사항
__머신러닝엔지니어링이해
__사용자노트북이미지사용
____사용자노트북컨테이너이미지만들기
__MLflow소개
____MLflow구성요소이해
____MLflow설치확인하기
__시험추적시스템용MLflow
____시험실행에사용자데이터추가
__모델레지스트리시스템으로서MLflow
__요약

7장.모델배포와자동화
__기술요구사항
__셀돈코어를사용한모델추론의이해
____파이썬을사용한모델래핑
____모델을컨테이너로만들기
____셀돈코어컨트롤러로모델배포하기
__셀돈코어를사용한모델의패키징,실행,모니터링
__아파치Airflow소개
____DAG이해
____Airflow기능탐험
____Airflow구성요소이해
____Airflow설치확인하기
____AirflowDAG리포지터리설정
____Airflow런타임이미지설정
__Airflow에서머신러닝모델배포의자동화
____파이프라인편집기로파이프라인생성하기
__요약

3부.MLOps와새로운플랫폼을사용한전체프로젝트빌드

8장.우리의플랫폼을사용한전체머신러닝프로젝트만들기
__머신러닝플랫폼의전체그림보기
__사업적과제의이해
__데이터수집,처리,정제
____데이터소스,경로,형식의이해
____데이터처리와정제의이해
__예비데이터분석수행
____데이터샘플이해
__피처엔지니어링의이해
____데이터증강
__머신러닝모델의빌드와평가
____데이터평가기준
____모델빌드
____모델배포
__재현가능성
__요약

9장.데이터파이프라인만들기
__기술요구사항
__개발을위한스파크클러스터자동제공
__스파크데이터파이프라인작성
____실행환경준비
____데이터이해하기
____파이프라인설계와제작
____데이터파이프라인을모니터하는스파크화면사용
__Airflow를사용한데이터파이프라인제작과실행
____데이터파이프라인DAG이해
____DAG제작과실행
__요약

10장.모델의제작,배포와모니터링
__기술요구사항
__주피터허브를사용한데이터시각화와탐색
__주피터허브로모델을만들고조정하기
__모델시험추적과MLflow를사용한버전관리
____모델시험추적
____모델버전관리
__모델을서비스로배포
____모델호출하기
__모델모니터하기
____모니터링구성요소의이해
____그라파나와대시보드설정
__요약

11장.쿠버네티스기반의머신러닝
__머신러닝플랫폼사례검토
____AutoML검토하기
____상업적플랫폼
____ODH
__머신러닝운영최적화
____업무기대치설정
____지저분한실제데이터처리
____부정확한결과처리
____CD관리
____보안관리
____규정준수
____거버넌스적용
__쿠버네티스실행
____벤더의존성방지
____다른쿠버네티스플랫폼검토
__로드맵
__요약
__더알아보기

출판사 서평

이책에서다루는내용

-머신러닝프로젝트의여러단계별이해
-쿠버네티스기반의머신러닝플랫폼제작을위한오픈소스소프트웨어사용
-머신러닝플랫폼을사용한전체머신러닝프로젝트구현
-기업의머신러닝을위한향상된협업과정
-데이터엔지니어,머신러닝엔지니어또는데이터과학자역할에맞는플랫폼사용방법
-실제업무문제의해결을위한머신러닝적용방법

이책의대상독자

데이터과학자,데이터엔지니어,IT플랫폼운영자,인공지능제품서비스책임자와오픈소스구성요소로머신러닝플랫폼제작을원하는데이터설계책임자를위한책이다.파이썬(Python)과쿠버네티스에대한이해와데이터사이언스및공학에대한기본개념을갖고있다면이책이다루는주제를파악하는데큰도움이될것이다.

이책의구성

1장에서는머신러닝도입의도전과제를다룬다.기업이머신러닝을도입하면서만나게될문제점과머신러닝의도입취지를계획대로달성하지못하는이유를논의한다.또한기업이이러한문제를만나게되는몇가지이유를살펴본다.2장에서는MLOps가무엇인지이해한다.1장에서다룬머신러닝도입의문제점들에이어서머신러닝도입에어려움들을어떻게극복할수있는지논의한다.이장에서는MLOps란무엇인지정의하고,기업이MLOps도입취지를달성할수있도록돕는다.또한기업이머신러닝프로젝트를통해MLOps를어떻게도입하는지청사진을제시한다.3장에서는쿠버네티스를살펴본다.이책에서왜쿠버네티스를MLOps의플랫폼으로선택했는지설명한다.또한쿠버네티스의핵심개념을정의하고코드를테스트하기위한환경을만들수있도록도와준다.세상이빠르게변하는만큼빠른변화에대한대응도클라우드와클라우드기반솔루션의일부다.쿠버네티스기반의플랫폼을통해독자의솔루션이어디서나동작하게만드는유연함을어떻게갖추는지알아본다.

4장은머신러닝플랫폼의구조를다룬다.머신러닝플랫폼이어떤모습을갖고있는지먼발치에서살펴볼것이다.4장은기술의이론적인관점에서MLOps플랫폼구성요소를정의한다.MLOps플랫폼의핵심구성요소를기초를튼튼하게익힐것이다.5장에서는데이터엔지니어링에대해살펴본다.머신러닝프로젝트에서중요하지만가끔놓치기쉬운부분이다.상당수의머신러닝입문서가CSV파일과같이자신만의모델을만들기위한깔끔한데이터셋으로시작하지만현실은다르다.데이터는다양한모양과크기를갖고있으며,데이터규모에맞게수집,처리,준비가가능한잘정리된전략이중요하다.이장에서는성공적인머신러닝프로젝트의데이터엔지니어링역할을정의한다.데이터엔지니어링의기초가되는OSS도구들을논의할것이다.그리고이러한도구들을쿠버네티스플랫폼에설치하는방법을다룬다.6장에서는머신러닝엔지니어링에대해알아본다.이제머신러닝개발과정에서모델을제작하고배포하는작업으로논의를이어간다.6장에서는같은플랫폼에서데이터과학자들이더효율적으로데이터엔지니어링팀과동료들이협업할수있게돕는셀프서비스솔루션을논의한다.또한모델개발을위한OSS도구들을다룬다.그리고이러한도구들을어떻게쿠버네티스플랫폼에설치하는지설명한다.

7장에서는머신러닝프로젝트중에서배포단계를다룬다.직접만들어본모델은만든사람이제공한데이터를이미알고있다.하지만현실에서는데이터가변화한다.이장에서는모델의성능을모니터하기위한도구와기술을논의한다.성능데이터를사용해새로운데이터셋에대한재학습이필요한지또는주어진문제에대한새로운모델이필요한시점인지판단할것이다.8장에서는플랫폼을활용한머신러닝프로젝트완성하는방법에대해이야기한다.전형적인머신러닝프로젝트에서각각의플랫폼구성요소를프로젝트단계별로어떻게활용하는지정의한다.이러한프로젝트의산출물과요구사항도이장에서정의하고,MLOps가어떻게프로젝트를용이하게만드는지주로살펴본다.9장에서는스파크(Spark)클러스터로데이터를어떻게수집하고처리하는지보여줄것이다.또한플랫폼이어떻게어느저장소에서도원시데이터를읽을수있도록데이터엔지니어를돕는지보여준다.핵심은스파크클러스터가필요시어떻게생성되며,작업이어떻게공유된환경에서구분되는지설명하는것이다.

10장에서는주피터허브(JupyterHub)서버를활용해서어떻게모델을플랫폼을기반으로제작,학습,조정하는지보여준다.또한이러한플랫폼이데이터과학자가스스로동작하는모델을구현하는과정을어떻게지원하는지보여준다.모델을시험하고,등록하는구성요소인MLflow도10장에서소개한다.잘동작하는모델이있을때,이모델을어떻게다른팀에서활용할수있게만들까?10장에서셀돈코어(SeldonCore)구성요소로모델을RESTAPI형태로접근해개발자가아니어도사용할수있게만드는방법을보여줄것이다.또한배포한API에대해서쿠버네티스의기능을활용해자동으로용량을확장하는방법을알아본다.11장에서는쿠버네티스기반의머신러닝에대해독자가더깊이알아야할핵심적인개념을소개한다.11장에서머신러닝플랫폼과머신러닝의안정화,쿠버네티스운영에대한실제사례들을다룬다.

지은이의말

머신러닝(MachineLearning)이다시유행하고있다.각기업은머신러닝을채택하고기능을향상시켜새로운제품을만들거나고객응대능력을개선한다.이책의주제는머신러닝의갖가지장점을통해기업이나팀에서사업적가치를얻어낼수있도록돕는것이다.MLOps를쿠버네티스(Kubernates)로구현해데이터과학자와IT운영전문가그리고데이터엔지니어가협업해업무에실제로도움이되는머신러닝솔루션을만들수있을것이다.이책은머신러닝프로젝트전반에걸쳐서소프트웨어공학적인규칙을가지고팀이협업할수있도록실용적인접근을시도한다.먼저MLOps가왜중요하고,머신러닝프로젝트구성요소의차이점이무엇인지알아보는것으로시작할것이다.이책의후반부에는가장인기있는OSS(OpenSourceSoftware)구성요소를사용해실용적인머신러닝프로젝트를전체적으로설계하고제작해볼것이다.

이책을따라가면서MLOps의기본과머신러닝프로젝트가제공하는장점에더익숙해질것이고,오픈소스와쿠버네티스클러스터로구성된머신러닝플랫폼을만들어설정하고,사용해보는경험을얻을것이다.결국데이터를어떻게준비하고,모델을빠르게빌드해배포하고,일반적인플랫폼에서효율적으로머신러닝파이프라인을구성하기위한작업을자동화하는방법을배울것이다.이책의예제를통해쿠버네티스를기반으로주피터허브(JupyterHub),MLflow,Airflow등의OSS와통합하는실습을해볼것이다.이책을마치고나면직접제작한머신러닝플랫폼으로머신러닝모델을효과적으로제작해학습,배포할수있을것이다.

옮긴이의말

한두가지공부해서잘해도살아가는데별어려움이없다면,얼마나더삶이여유로울까?적어도IT분야에서20년넘게일하면서이미오래전에이질문에관한결론을봤다.20년전에알고있던여러지식과기술대부분은이제프로필에적지도않는다.그때를기억해보면,윈도우NT부터윈도우2003서버의제어를위한레지스트리키와배치스크립트가많지만,기억의저편에서사라지고있다.그리고여전히다양한기술이앞서변화하는모습을보며뒤에서따라잡고있다.지금의데브옵스(DevOps)는앱의개발,테스트,배포,운영과정을매끄럽게관리하는중요한플랫폼이고머신러닝또한코드와데이터,모델등이동작하는플랫폼에서다양한소프트웨어와데이터처리기술을활용한다.갑자기팀원누군가에게위의두가지플랫폼의운영을맡긴다면어떤표정을볼수있을까?머신러닝,앱관리,클라우드인프라,운영지식모두를배워서만들어야한다면,이책은몇배더두꺼워야하며,기꺼이배우고운영할마음도쉽게생기지않을것이다.

정신적으로그리고시간적으로도여유있는삶을아직도고민하는입장에서생각해보면결국작업의생산성을높이는것이해답에가까운것으로보인다.머신러닝분야에서는이책에등장하는MLOps가생산성을높이는운영방식으로서조금더구체적인실마리를준다.또한고맙게도이런고민에공감한수많은개발자의노력으로많은도구가심지어오픈소스로등장했다.MLOps를실현하기위한인프라는쿠버네티스에게우리가원하는인프라를특정형식으로표현해주면그인프라를쿠버네티스가구현해준다.여러소프트웨어기술이외에도생산성을높이는또하나의핵심요소는소통이다.손발이잘맞는팀들은서로에게무엇을요구해야하는지,요구사항을받으면어떤선택지를제시해야하는지잘이해하고있다.이러한조직의팀사이어딘가에존재하는애매한부분을세련된도구로채울수있다면,밝은표정으로출근할수있는날이많아질것이다.MLOps가머신러닝시스템을설계,개발또는운영하는팀,데이터과학자에게이러한존재다.시스템의완성을위해무엇을서로채워야할지이책에서제시하는내용을참고하길바란다.