Kubeflow: Machine Learning on Kubernetes (AI Adventures)

Kubernetes는 사용자의 Container 관리를 위한 플랫폼이에요 머신러닝의 작업 흐름은 종종 매우 어수선해지곤 하는데 제작할 때는 더욱 그렇죠 시간의 문제라고 할 수 있어요 두 가지를 하나로 합치기 전에 말이죠 어떻게 해야 Kubernetes 상에서 추가적인 작업을 하지 않고서 머신러닝을 실행할 수 있을까요? 함께 알아보도록 하죠 예술, 과학 그리고 머신러닝을 탐험하다 AI Adventures에 오신 걸 환영하며 예술과 과학 그리고 머신러닝 도구를 탐험해보는 시간입니다 저는 위펑 구오이며 이번 에피소드에서는 Kubeflow에 대해 알아볼게요 오픈 소스 프로젝트로써 Kubernetes 클러스터에서 머신러닝 훈련과 예측을 보다 쉽게 실행할 수 있도록 도와주죠 Kubeflow 프로젝트는 Kubernetes에서 머신러닝의 작업 흐름의 배치를 간단하게 해주며 원활한 이동과 확장을 가능케 해주죠 더 자세히 말씀드리면 모든 유형의 환경에서 사용이 가능한데요 노트북에서부터 두 개의 GPU가 내장된 컴퓨터까지 코드를 쉽게 사용할 수 있도록 해주며 생산 클러스터나 Kubernetes 훈련 클러스터에서도 가능하죠 물론 요청에 따라 모든 부분을 변경하는 역할만 한다면 Kubernetes라고 할 수 없겠죠 Kubeflow는 TFX라고도 하는 Google의 TensorFlow가 내부적으로 운영되는 방식이었던 TensorFlow Extended의 오픈 소스로써 시작됐죠 초기에는 Kubernetes 상에서 TensorFlow의 작업을 구동하는 보다 간단한 방식이었지만 확장 단계를 거쳐서 모든 생태계를 아우르는 다수의 제공자와 더불어 전체 머신러닝 파이프라인을 구동하는 다중 아키텍처와 멀티 Cloud 프레임워크가 되었죠 한 가지 고백을 해야겠는데요 사실 저는 Kubernetes에 대해 그리 많이 알고 있지 않아요 지난 몇 년 간을 TensorFlow와 데이터 과학 및 머신러닝에 대해 중점을 두어왔으니까 말이죠 따라서, Kubernetes에 대한 지식은 그리 높은 수준이 아니에요 그렇기 때문에 Kubeflow가 Kubernetes 상에서 성공적으로 TensorFlow와 다른 기계적 작업을 수행할 수 있도록 해주면 좋겠군요 저 역시 Kubernetes가 정말 좋다고 들었으니까요! Kubeflow란 무엇인지에 대해 먼저 알아볼까요? Kubeflow는 Kubernetes가 할 수 있는 모든 곳에서의 구동을 목표로 하는데요 여러분의 컴퓨터에서부터 베어 메탈 서버를 포함한 모든 공개 Cloud를 의미하죠 Google Kubernetes Engine, GKE에서 어떻게 이를 구동하는지 알아볼게요 Kubeflow를 GKE에 설치하는 건 정말 간단해요 클릭만으로 사용이 가능한 사용자 인터페이스이기 때문이죠 Cloud 프로젝트의 아이디만 있으면 접속이 가능해요 배포 작업에 이름을 정하고 이를 포함시킬 공간을 정해줍니다 그러면 필요한 모든 정보가 자동적으로 구비된 거예요 이게 바로 제가 원하는 거죠 Kubeflow도 설치했고 UI도 접속이 가능하니 Kubeflow의 세계를 탐험할 모든 준비가 된 거예요 모델을 훈련시키고 TensorBoard로 시각화도 가능하며 모델의 실행과 파이프라인 제작도 가능하며 이런 작업을 관리하기 위해 JupyterHub에 접속도 할 수 있어요 대부분은 국부적으로 이용할 수 있는 똑같은 훈련 코드를 사용하고 Kubeflow의 특정 부분을 위한 구성 항목 파일을 추가하면 코드의 변경 없이 Kubeflow에서 이를 실행할 수 있어요 Kubeflow를 사용하여 Kubernetes 클러스터에서 훈련을 수행하고 내보낸 모델을 Kubernetes 클러스터의 디스크에 머물게 하거나 Google Cloud Storage 버킷에 보내면 돼요 그러면 클러스터 밖의 시스템으로 훈련된 모델을 간단히 공유하거나 실행할 수 있도록 해주죠 좋아요, 오늘은 여기까지입니다 Kubernetes의 머신러닝 파이프라인 구동에 관심이 있으시다면 Kubeflow에서 시작하는 걸 권해드려요 시작에 도움을 드리기 위해 아래의 설명 부분에 다양한 codelab과 정보가 있는 링크를 남겨두었어요 Cloud AI Adventures의 이번 에피소드를 시청해주셔서 감사드리며 재밌게 보셨다면, 좋아요 버튼을 눌러주시고 업데이트 내용에 대한 공지 알림을 받을 수 있도록 구독도 해주시길 바랍니다 우선, 아래의 설명 부분으로 가셔서 Kubernetes 클러스터 상에서 Kubeflow의 사용 방법에 대한 더 많은 정보를 얻어보세요