조시 패터슨, 마이클 카체넬렌보겐, 오스틴 해리스 (지은이) / 김소형 (옮긴이) / 2022-01-31
원제: Kubeflow Operations Guide
https://www.hanbit.co.kr/store/books/look.php?p_code=B9309356194
AI기술팀의 일원으로서 MLOps는 지상과제입니다. MLOps를 구현하는 방법에는 정답이 없어도 정도 중 하나는 구글이 제안하는 길을 따르는 것입니다. 구글이 내놓은 Kubernetes는 리눅스재단에서 적극적으로 받아 들이는 등 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고 확장 가능한 오픈소스 플랫폼으로는 대세가 되었습니다. 그러한 기조를 바탕으로 DevOps에서 쿠버네티스는 필수요소가 되다시피 했고, 자연스럽게 쿠버네티스를 기반으로 한 MLOps 플랫폼인 Kubeflow가 등장했습니다.
이 책은 Kubeflow를 다루는 한국어 자료로는 참 귀중하다 할 정도로 기술배경부터 구축을 거쳐 운영과 모델 서빙까지 전부 언급하면서도 얇습니다. 얇다는 얘기는 꽤 많은 사전지식을 요한다는 의미이기도 합니다. 그렇다고 해서 불친절하지는 않습니다. 각 장마다 도움말을 남겨 보겠습니다.
CHAPTER 1 쿠브플로 소개
배경지식으로서 쿠버네티스를 기반으로 머신러닝을 수행하는 의의와 사례에 대해 설명합니다. 기본적인 구성요소도 설명하는데, 꽤 어려울 만한 인프라 용어가 나옵니다. MLOps에 관심을 갖게 된 데이터과학자가 읽기는 힘들려나 싶었으나 뒤에 부록 A, B, C에 용어 설명이 가능한 친절하게 나옵니다. IT 인프라가 낯선 독자는 부록을 먼저 읽어도 좋겠습니다. 그 설명만 가지고 모든 맥락을 파악하지는 못하겠지만 책 전반을 이해하기에는 충분하지 않을까 합니다.
CHAPTER 2 쿠브플로 아키텍처와 모범 사례
쿠브플로 개요와 사례를 다룹니다. 특히 중요한 게 주피터 노트북 아키텍처입니다. 모델 개발자(데이터과학자)에게 맞춤형 분석환경을 용도에 따라 여러 벌 만들어 줄 수 있는 유용한 인프라를 구축할 수 있습니다. 노트북 환경만 생각하면 Jupyter Notebook on K8S 같은 오픈소스 프로젝트를 써도 좋습니다. 지금 저희 팀이 이렇게도 잘 쓰고 있습니다. 다만 pipeline과 model serving도 감안하면 Kubeflow가 좀 더 손이 덜 가는 방안이 될 수 있습니다.
CHAPTER 3 쿠브플로 설치 계획
상당히 본격적인 내용입니다. 다소 폐쇄적이어도 무방한 학교, 연구소와는 달리 기업에서는 보안을 중요시해야 하는데, 이 3장에서는 보안과 더불어 GPU, Docker 컨테이너 등 이론적인 설명을 많이 합니다.
CHAPTER 4 온프레미스에 쿠브플로 설치
이제 본격적으로 실습을 하는 장입니다. 쿠버네티스를 비롯해서 쿠브플로도 서버가 넉넉하지 못하면 실습하기가 참 어렵습니다. 팀원들도 서버 몇 대만으로는 한계가 있으니 라즈베리파이까지 동원해서 연습해보더군요. 온프레미스(다시 말해, PC)에 쿠브플로를 설치하여 실습하는 데에는 한계가 많긴 합니다. 그렇다 해도 팀장 입장에서는 지원자가 이 정도만 했다고 해도 엄청나게 환영할 만한 수준이라고 봅니다. 가능하다면 AWS S3 호환 object storage 솔루션인 MinIO 서버까지 구축해서 연동하여 써보는 것도 좋겠습니다. 개인적으로 LADP이나 MS Active directory를 구축하기는 힘드니 GitLab 같이 oAuth provider를 쉽게 구현할 수 있는 수단을 적용하기도 권합니다. 이렇게 주요 구성요소를 다뤄 봤다면 금상첨화입니다. DevOps, MLOps 세상을 맞아 준비가 끝난 인재라고 해도 지나침이 없습니다.
CHAPTER 5 구글 클라우드 쿠브플로 운영
CHAPTER 6 아마존 웹 서비스 쿠브플로 운영
CHAPTER 7 애저 쿠브플로 운영
퍼블릭 클라우드의 쿠버네티스 PaaS에 쿠브플로를 설치하고 구동해보는 실습입니다. 학생이라면 호시탐탐 기회를 노려 무료 크레디트같은 걸 많이 확보하여 실습하는 게 좋겠습니다. GCP는 써본 적이 없어도 AWS EKS, MS Azure AKS는 써봤습니다. 비용이 보통 VM 쓰는 것보다 상당히 나가는 편입니다. 조심할 필요가 있습니다.
CHAPTER 8 모델 서빙과 통합
MLOps라면 응당 구현해야 할 model serving을 다룹니다. 이 책에서 설명하는 KFServing 외에 Seldon core나 BentoML도 있습니다. 제 느낌에는 셀던 코어 사례가 좀 더 많습니다. 실습하기도 보통 일이 아니니 개념 익히기까지만 해도 성공적이라고 봅니다.
Appendix A 인프라스트럭처 개념
Appendix B 쿠버네티스 개요
Appendix C 이스티오 운영과 쿠브플로
부록이 없었다면 이 책은 여러 독자들에게 극도로 불친절한 문서 묶음이었을 수도 있습니다. 인증, 보안 같은 주요 인프라 요소, 쿠버네티스 기본지식, Istio를 기반으로 한 네트워크 관리(카나리 배포에 필수)와 같은 배경지식을 다룹니다. 저는 웹 서버를 비롯해서 네트워크 관련해서는 전문가에게 맡기는 편입니다. 부록에서 다루는 개념을 다 잘 아는 사람은 드뭅니다. 어렵게 느껴진다 해도 그런가 보다 하고 완독하기를 권합니다. 실제 일이 될 때에 익숙해질 기술들입니다. 용어의 향연에 짓눌리지는 않길 바랍니다. 잘 해나갈 수 있습니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'BI > 인공지능' 카테고리의 다른 글
통계는 강력해 (0) | 2022.03.17 |
---|---|
내용이 알알이 꽉 찬 '파이토치로 배우는 자연어 처리' (0) | 2021.12.27 |
당분간 두루 잘 알아듣는 음성인식 AI는 없다 (1) | 2021.12.12 |