쿠브플로 운영 가이드 본문

Programming

쿠브플로 운영 가이드

halatha 2022. 2. 22. 19:46

쿠브플로를 쓰기위해선 쿠버네티스를 알아야하고, 그러기 위해서는 왜 쿠버네티스가 인기를 얻는지 약간 배경지식이 필요하다. 이 책을 선택하는 사람이라면 대부분 알고 있겠지만 간단히 정리해보면, 2010년대 vision 기술의 발전을 필두로, ML/DL의 부흥기가 찾아왔고, 이번에야말로 실용적으로 쓰일 수 있겠다는 기대감과 함께(특히 알파고 같은 이벤트가 합쳐지면서) 분야에 관계없이 많은 기업들이 이 시장에 참여했고, 관련 기술을 가진 사람들은 황금기를 맞았다. 그러나 기대와는 달리 AI 프로젝트는 시장에서 성공을 하는 경우는 드물었고 — AI는 아직 좌충우돌 단계…90%가 POC에서 끝나 — hype cycle의 3단계(환멸)에 진입하거나 AI의 겨울이 다시 온다는 성급한 이야기까지 나왔다.

대부분의 프로젝트가 POC에서 끝난 이유는 AI 전문가들은 AI의 전문가이지 서비스와 무관하거나 관심이 적었던 이유가 크다. 실제 서비스를 하기 위해서는 모델 성능을 계속 업데이트도 해줘야 하지만, 서비스 자체를 위한 별도의 구현도 필요하며 지속적인 운영 유지보수도 필요한데, 서비스를 구현하는 software enginner와 모델을 담당하는 AI engineer간에 같이 일해본 경험이 적다 보니, 어떤 architecture에서 어떤 flow로 일을 해야 원활한 서비스가 가능할지(테스트 환경에선 잘 동작하지만, 프로덕션에 가면 문제를 일으키는) 어긋나는 경우가 많기 때문이다.

구글은 이런 현실을 타개하기 위해 2015년에 MLOps란 개념을 선보였고, 다양한 구성요소가 인프라 수준에서 문제없이 유기적으로 잘 돌아가도록 container orchestration system이 필요했는데, 여기서 개발자들의 선택을 받은게 kubernetese였다. kubeflow는 이런 kubernetes의 ML stack을 더 쉽고, 빠르게 확장할 수 있도록 github에서 시작한 opensource project이다.

이 책은 이런 kubeflow를 이해하기 위해 여러가지 그림을 통해 개념적인 이해를 돕고, AWS, GCP, Azure와 같은 public cloud뿐만 아니라 onpremise에서 kubeflow를 설치할 수 있게 안내를 해준다. 각각 하나의 장을 할당해서 설명하기 때문에 설명도 자세하고 따라하기 좀 더 편하다(그러나 여전히 쉽지는 않다. kubernetese 자체도 워낙 복잡하기 때문에). 1~3장은 기본적인 이해를 위한 장, 4~7장이 방금 이야기한 설치 관련, 8장은 MLOps에 대한 설명으로 보면 된다. 다만 kubernetese가 그렇듯 워낙 활발하게 개발하는 프로젝트라 변화가 심한데, 예를 들어 8장에서 이야기하는 KFServing도 이미 KServe로 이름이 바뀌는 등 자체도 어려운데 변화가 많아 더 어려운게 이 분야의 단점이다(kubeflow homepage도 아직 업데이트 안 된 데가 있다).

하지만 이 책만큼 kubeflow에 대해 자세히 설명하는 책도 보기는 쉽지 않다. 일부 업데이트가 필요한 부분은 있겠지만, MLOps를 실천하려는 개발자나 조직은 필수로 구비해야 할 도서이다.

  • 한빛 미디어 “나는 리뷰어다” 활동을 위해서 책을 제공받아 작성한 서평입니다.
Comments