현업에서필요했던‘진짜’머신러닝이야기
머신러닝이라고하면보통모델개발과알고리즘을떠올리지만실제로프로덕션환경에서머신러닝을운영할때는그외에도고려할것이많습니다.머신러닝시스템을이루고있는데이터,피처,모델개발·평가·배포,모니터링,인프라등을전체적인관점에서고려해야합니다.프로덕션용머신러닝은대부분비즈니스를중심으로하는만큼비즈니스문제에따른요구사항과이해관계자또한중요합니다.
이책은떠오르는MLOps분야의대표강의인스탠퍼드‘CS329S:머신러닝시스템설계(MachineLearningSystemsDesign)’를기반으로합니다.저자인칩후옌은넷플릭스부터스타트업까지다양한기업에서머신러닝을배포하고운영한경험을바탕으로,여러분이그동안궁금했지만답을찾기어려웠을법한질문에대해여러가지접근법을제시합니다.특정도구사용법보다는각머신러닝기법의개념및장단점과트레이드오프에집중하며,더필요한정보는바로찾아볼수있도록풍부한참고자료링크를제공합니다.
대상독자
머신러닝관련실무자:머신러닝엔지니어,데이터과학자,머신러닝플랫폼엔지니어,엔지니어링관리자등
도구개발자:머신러닝프로덕션에서서비스가부족한영역을찾아내생태계에맞는도구를만들어넣을방안을파악하려는경우
구직자및학생:머신러닝관련직무로취업하려는경우
기술및비즈니스리더:제품및비즈니스프로세스를개선하기위해머신러닝솔루션채택을고려하는경우
장별주요내용
[1장머신러닝시스템개요]
다양한머신러닝유스케이스를살펴보면서머신러닝을적용하기에적합한경우와그렇지않은경우를논의합니다.프로덕션용머신러닝을연구용머신러닝및전통적인소프트웨어와비교해봅니다.
[2장머신러닝시스템설계소개]
비즈니스목적에따라시스템요구사항을정하고,이를만족하는머신러닝시스템을설계하기위한반복프로세스를살펴봅니다.머신러닝문제를구조화하는방법을논의합니다.
[3장데이터엔지니어링기초]
머신러닝프로젝트에서사용하는다양한데이터의소스와데이터를저장하는포맷을살펴봅니다.데이터스토리지엔진과주요처리유형,프로세스간에데이터를전달하는다양한모드를알아봅니다.
[4장훈련데이터]
양질의훈련데이터를얻는기술을살펴봅니다.다양한샘플링기술을알아본뒤레이블다중성과클래스불균형을비롯해훈련데이터를생성할때흔히맞닥뜨리는문제를논의합니다.
[5장피처엔지니어링]
피처엔지니어링기법과주요고려사항을살펴봅니다.데이터누수를감지하고방지하는방법을알아보고좋은피처를설계하는방법을논의합니다.
[6장모델개발과오프라인평가]
작업에가장적합한알고리즘을선택할때유용한팁을살펴본뒤디버깅,실험추적과버전관리,분산학습,오토ML등모델개발의다양한측면을알아봅니다.
[7장모델배포와예측서비스]
머신러닝배포를둘러싼통념을살펴봅니다.온라인예측과배치예측을알아본뒤다양한모델압축기술을살펴봅니다.에지디바이스와클라우드에서모델을배포하는방법을논의합니다.
[8장데이터분포시프트와모니터링]
프로덕션에배포한머신러닝모델이실패하는이유를논의합니다.연구와실무양쪽에서많은논의가이루어지고있는데이터분포시프트문제를살펴봅니다.
[9장연속학습과프로덕션테스트]
데이터분포시프트에적응하기위해머신러닝모델을업데이트하는방법을살펴봅니다.연속학습이무엇이며어떤어려움이있는지알아보고,모델재훈련빈도와프로덕션테스트를논의합니다.
[10장MLOps를위한인프라와도구]
프로덕션규모와상황에따라머신러닝시스템에적합한인프라를설정하는방법을알아봅니다.인프라를구성하는네가지레이어인스토리지와컴퓨팅,자원관리도구,머신러닝플랫폼,개발환경을논의합니다.
[11장머신러닝의인간적측면]
머신러닝모델의확률론적특성에따라사용자경험이어떻게영향받는지논의합니다.한시스템을개발하는구성원들이효과적으로협업하기위한조직구조를알아보고,머신러닝시스템이사회전체에미치는영향을들여다봅니다.
추천사
요구사항에잘들어맞는머신러닝시스템을만들기위해서는단계마다다양한고민과적절한의사결정이필요합니다.이책은그동안소프트웨어개발자,데이터과학자및엔지니어가가려워했을법한바로이부분을긁어줍니다.저자인칩후옌은학계와산업계를아우르는폭넓으면서도깊이있는활동을통해머신러닝시스템도입의민주화에크게기여하고있습니다.이책은저자가그동안쌓은경험과지식을기반으로작성한것으로,처음이라면누구나고민할법한부분과나중에야깨닫게될법한세부사항을시행착오없이습득할수있도록해줍니다.
-박찬성(MLGDE및허깅페이스펠로)
이책을한마디로소개한다면‘MLOps에서가장중요한요소를다루는실용적인책’이라고말하고싶습니다.장점은머신러닝시스템을만들때고려해야하는모든요소를다룬다는점입니다.머신러닝시스템이무엇인지,전통적인소프트웨어개발과어떻게다른지부터시작해비즈니스와머신러닝의목적을다룹니다.그동안비즈니스영역을다루는책은거의없었는데,독자들이머신러닝을비즈니스관점으로생각해볼수있게한점이매우인상깊습니다.머신러닝모델을실제비즈니스모델에적용하려는분들에게꼭추천하고싶습니다.
-변성윤(페이스북MLOpsKR운영자)
머신러닝엔지니어가되기위해알아야하는정보는무수히많지만,그중에서가장유의미한정보를찾기는어렵습니다.칩은그일을훌륭히해냈습니다.프로덕션용머신러닝을깊이고려하고있다면,머신러닝시스템을엔드-투-엔드로설계하고운영하는방법에관심이있다면이책은필수입니다.
-로런스모로니(구글AI개발지원팀리더)
칩의지침서는지금당장우리에게필요한책입니다.전체머신러닝프로젝트를원칙기반으로바라보는책으로,혼란한머신러닝생태계에서지도와나침반이되어줍니다.빅테크를비롯한회사
실무자라면반드시읽어보길추천합니다.이책은시스템을배포,관리,모니터링하기위한모범사례를찾고있는데이터리더에게도도움이됩니다.
-야코포탈리아부에(코베오AI총괄)
기업에서머신러닝모델을최대효과로구축,배포,확장하는방법을알려주는단연최고의지침서입니다.칩은능수능란한교육자이며,그지식의폭과깊이는비할데가없습니다.
-조시윌스(위브그리드소프트웨어엔지니어및전슬랙데이터엔지니어링총괄)
프로덕션용머신러닝시스템의제1원리에초점을맞추는최고의자원중하나입니다.빠르게변하는도구와플랫폼선택지를탐색할때꼭읽어야할책입니다.
-고쿠모한다스(메이드위드ML창립자)
책에서드러나듯칩은머신러닝시스템분야의세계최상급전문가이면서뛰어난저술가입니다.이책은머신러닝시스템을학습하려는분들에게환상적인자원입니다.
-안드레이쿠렌코프(스탠퍼드AI연구소박사과정)