Book

[북 리뷰] 쿠브플로 운영 가이드

mokpolar 2022. 2. 12. 14:40
반응형

책을 고른 이유

데이터 사이언티스트들이 모델을 만들고 거기서 만들어진 모델을 서빙하는 플랫폼을 개발하는 일을 하면서 쿠브플로우를 사용해왔다.(아니 정확히는 모델 서빙용 구성요소인 KFServing만을 사용해왔다.)

다큐멘트를 뒤적거려서, 깃허브 이슈들을 뒤적거리면서 문제들을 해결하면서 버텨왔지만 항상 그렇듯이 내가 이해한 바가 맞는지, 이상적인 방식이 있는지는 궁금했다.

그래서 쿠브플로우 운영 가이드라는 책 제목을 봤을 때 선택하기 까지는 불과 몇초가 걸리지 않았다.

쿠브플로우에 대해서

머신러닝 모델링, 성능 좋은 모델 이후에 뭔가가 더 필요하다는 사실은 이제 모두가 알게 되었고 그래서 MLOps라는 단어가 화두가 되어가고 있는 것 같다.

쿠브플로우는 그 중에서도 화제가 되고 있는,

“확장 가능하고, 포터블한 머신러닝 작업 워크로드를 개발, 오케스트레이션, 배포, 운영하기 위한 오픈소스 쿠버네티스 네이티브 플랫폼" 이다.

사실 이 문장만으로는 쿠브플로우가 뭘 할 수 있는지 바로 이해가 가지는 않는다.

아래는 회사에서 AI플랫폼을 개발하기 시작하던 시점에 여러 보고서에서 자주 보던 그림인데 이 책에도 들어있다. 왜 쿠브플로우가 필요하게 되었는지를 단적으로 보여주는 것 같은 그림이다.

 

그러니까 쿠브플로우는 이럴 때 사용한다.

  • 머신러닝 모델을 다른 환경(로컬, 온프레미스, 클라우드 등)에서 트레인하고 서빙하고 싶은 경우
  • 머신러닝 트레이닝 잡(텐서플로 잡 이외에도) 주피터 노트북을 이용해 관리하는 경우
  • 개인 컴퓨터에서 접근이 불가능한 추가 CPU, GPU 같은 리소스를 이용해 트레이닝 잡을 시작하는 경우
  • 머신러닝 코드를 다른 라이브러리로부터 합치려고 하는 경우

결국 바라는 것은 쿠브플로우를 통해 아래와 같은 머신러닝 워크플로우를 만드는 것이다.

 

쿠브플로우를 제대로 사용한다면 이런 효과가 있을 것이다.

“데이터 사이언티스트가 모델을 개발, 트레이닝, 테스팅, 배포하는 것에 집중할 수 있도록 지원할 수 있다.”

어떤 경우에는 쿠브플로우가 과한 이유

“쿠버네티스"가 전제가 된다. 쿠버네티스가 전제가 된다는 사실에 많은 함의가 있다. 쿠버네티스가 갖고 있는 많은 특성들을 그대로 가진다. 이건 장점이고 쿠브플로우를 사용하는 이유가 될 것이다.

쿠브플로우에 관심을 갖고 조사하는 사람들은 그런 상황에서 쿠브플로우가 필요했을 것이라는 생각이 든다. 아마 쿠버네티스를 다룰 수 있는 인력들도 있을 것이다.

그리고 반대로 이런 요소들이 필요하지 않은 사람들에게는 쿠브플로우가 과할지도 모른다는 생각도 든다.

책의 장점

어려운 개념을 최대한 이해하기 쉽게 설명하려고 함

그 동안 쿠브플로우에 대해서 자세하게 이해하고 싶었던 사람들은 이 책을 통해서 필요한 정보를 모두 얻을 수 있을 것이라는 생각이 든다.

먼저 쿠버네티스 위에서 돌아가는 만큼 이해해야 할 구성요소도 많고 복잡한데 이해를 쉽게 시켜주기 위한 노력이 아주 돋보인다.

아래는 책에 쓰인 상위단계 아키텍쳐 도식이다.

쿠브플로는 서비스메시로서 이스티오를 사용한다. 물론 쿠버네티스 + 서비스메시를 이해해야하기 때문에 이 내용도 어렵다.

다음 그림은 (지금은 KServe라고 부르지만) KFServing에서 이스티오 트래픽 전달 관리가 어떻게 이루어지는지 아주 쉽게 이해할 수 있도록 해준다.

3대 CSP 및 온프레미스에서 다루는 법을 다 취급하고 있음

AWS, GCP, Azure, 온프레미스에서 쿠브플로우를 설치하는 법을 다 다루고 있다. 혹자는 얕은데 종류만 많다고 할 수도 있을지 모르겠지만, 정보가 부족한 상황에서는 이것도 가뭄에 단비같을 수 있을 지 모른다.

추가 정보를 얻을 수 있도록 가이드를 항상 제시해주고 있음

사실 쿠브플로우를 이해하기 위해 알아야 하는 내용은 더 방대하다. 너무 많다. 하지만 이 책에서는 책 내용을 이해하기 위해서, 쿠브플로우를 실제로 쓰기 위해서 알아야 하는 내용들을 구석구석에서 제시해주고 있다.

이 부분은 추가적인 이해가 필요하니 필요하다면 이 내용을 찾아봐라라고 링크를 제시해주는 식이다.

사실 이런 방식이 더 맞다고 본다.

다른 기술서적들은 모르겠지만 쿠브플로우는 아직 초기 단계이고, 빠르게 변하고 있다. 이렇게 전반적인 이해의 가이드라인을 제시하고 추가적인 자료를 볼 수 있도록 만드는 방식이 맞다는 생각이 든다.

KFServing만 해도 지금 시점의 이름은 KServe이다.

책의 내용 구성

1, 2, 3장 : 쿠브플로우 핵심 기능과 아키텍쳐 이해

4, 5, 6, 7장 : 온프레미스 방식과 3대 CSP 에서 쿠브플로 설치하는 법. 각 플랫폼에서 배포하기 위해 필요한 단계 설명

8장 : KFServing을 이용해서 인퍼런스를 위해 모델을 프로덕션에 배포하는 방법

부록 : 인프라스트럭쳐 핵심개념, 이스티오 등

 

— “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."—

반응형