본문으로 건너뛰기

"kubeflow" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

Kubeflow로 시작하는 실전 머신러닝 워크플로우

· 약 4분
Update Kubeflow

클라우드에서의 머신러닝(Machine Learning)과 AI 활용은 더 이상 특정 개발자나 연구자만의 영역이 아닌, 서비스를 기획하거나 운영하는 실무자, 혹은 AI 기술을 처음 접하는 입문자에게도 더 가까운 기술이 되고 있습니다.

카카오클라우드는 이런 흐름에 맞춰 최신 버전의 Kubeflow 서비스를 제공하고 있는데요, 이번에는 Kubeflow를 기반으로 누구나 머신러닝 파이프라인을 직접 구성해볼 수 있는 실습형 튜토리얼 시리즈 두 가지를 새롭게 제공하게 되었습니다.

이번에 공개된 튜토리얼은 LLM(대규모 언어 모델) 실습웹 서비스 트래픽 예측을 주제로 한 시리즈입니다. 단순한 코드 예제를 넘어, 모델 학습부터 서빙, 최적화, 자동화까지 실무 수준의 전 과정을 손쉽게 체험할 수 있습니다.


📘 생성형 AI, 직접 구현해보세요 — LLM 워크플로우 튜토리얼 시리즈

첫 번째 시리즈는 LLM 워크플로우 튜토리얼입니다.
이 시리즈는 대규모 언어 모델을 Kubeflow 환경에서 직접 서빙하고, 원하는 목적에 맞게 파인튜닝하며, 최종적으로 문서 기반 질의응답 시스템(RAG)을 구축하는 전 과정을 실습할 수 있도록 구성되었습니다.

특히 이 시리즈에선 Hugging Face Hub의 Meta Llama 3.2와 함께, 카카오가 자체 개발한 Kanana(카나나) 모델을 사용해 실습합니다. 실시간 추론부터 도메인 특화 학습까지 다양한 LLM 활용 시나리오를 직접 경험해볼 수 있습니다.

LLM 시리즈는 총 세 편으로 구성되어 있습니다.

  • 1편: LLM 모델 서빙 Endpoint 생성
    KServe를 이용해 사전 학습된 LLM을 클라우드 환경에 배포하고, 실시간 추론이 가능한 엔드포인트를 생성합니다.

  • 2편: LLM 모델 파인튜닝
    PEFT(LoRA 등)를 기반으로 선택한 모델을 특정 도메인 데이터로 효율적으로 재학습시키는 과정을 안내합니다. 학습 후 모델을 저장하고 재사용하는 방법도 포함됩니다.

  • 3편: 문서 기반 RAG 구현
    사용자의 텍스트 문서를 벡터 임베딩하여 FAISS에 저장하고, LangChain을 활용한 질의응답 API를 구성해 LLM 활용 사례를 완성합니다.

클라우드 환경에서 CPU/GPU를 활용해 직접 LLM을 구성해본다는 점에서, 이번 시리즈는 실제 제품화 가능성을 검토하려는 개발자와 AI 기획자에게 매우 유익한 출발점이 될 것이라는 생각입니다.

📌 Kubeflow 기반 LLM 워크플로우 시리즈 바로 가기


📈 로그에서 인사이트까지 — 트래픽 예측 모델 튜토리얼 시리즈

두 번째 시리즈는 트래픽 예측 모델을 구축하는 실습 튜토리얼입니다. 이 시리즈는 웹 서비스의 접근 로그 데이터를 수집하고, 이를 기반으로 향후 트래픽을 예측하는 시계열 머신러닝 모델을 만드는 과정을 단계별로 따라갑니다.

특히 이 튜토리얼은 분석에서 끝나지 않고, 학습된 모델을 API 형태로 서빙하고 전체 과정을 Kubeflow Pipelines로 자동화하는 것까지 다룹니다. 즉, 데이터 전처리부터 모델 개발, 하이퍼파라미터 최적화, 배포, 운영까지 엔드 투 엔드(End-to-End) 파이프라인을 한 번에 경험할 수 있습니다.

트래픽 예측 시리즈는 총 네 편으로 구성됩니다.

  • 1편: 트래픽 데이터 수집 및 전처리
    웹 서버 로그 데이터를 수집한 후, 시계열 분석에 적합한 형태로 정제합니다. 요일, 시간대 등 주기적 패턴을 반영한 피처를 생성해 머신러닝 모델 입력으로 활용할 수 있는 데이터셋을 구성합니다.

  • 2편: 모델 하이퍼파라미터 튜닝
    기본 모델 학습 결과를 바탕으로, Kubeflow Katib을 활용해 하이퍼파라미터 최적화를 수행하고 성능을 개선합니다.

  • 3편: 모델 서빙 API 생성
    학습된 모델을 KServe 기반 InferenceService로 배포하고 API 요청을 통해 예측을 수행합니다.

  • 4편: 모델 파이프라인 구성
    데이터 전처리, 모델 학습, 성능 검증, 서빙 배포까지의 전체 과정을 Kubeflow Pipelines로 자동화합니다.

이 시리즈는 운영 가능한 머신러닝 서비스 전체 흐름을 클라우드 환경에서 직접 실습할 수 있다는 점에서 MLOps 초입자 및 데이터 엔지니어에게 강력히 추천할 수 있습니다.

📌 Kubeflow 기반 트래픽 예측 모델 시리즈 바로 가기


🚀 Kubeflow로 시작하는 실전 머신러닝 워크플로우

이번에 공개한 두 시리즈는 모두 카카오클라우드의 Kubeflow 서비스를 기반으로 구성되었습니다. Kubeflow는 MLOps의 복잡한 과정을 간소화하고, 재현 가능한 머신러닝 실험을 쉽게 관리할 수 있게 도와주는 도구입니다.
GPU, 스토리지, 네트워크 설정 등 머신러닝 인프라를 카카오클라우드 콘솔에서 직관적으로 구성할 수 있고, 다양한 형태의 머신러닝 워크로드를 일관된 방식으로 배포하고 운영할 수 있는 기능을 제공합니다.

이번 튜토리얼은 단순히 따라 해보는 수준을 넘어, 실무에 적용 가능한 기술 흐름을 체득할 수 있는 실전형 학습 경로로 설계되었습니다. LLM과 같은 최신 생성형 AI 기술에서부터, 예측 모델과 파이프라인 구성까지! 복잡한 코드를 단순히 복사 실행하는 것이 아니라, 각 단계의 의미를 직접 구성해보는 방식으로 기술의 맥락을 이해하고, 활용 감각을 함께 기를 수 있습니다.

생성형 AI와 시계열 예측. 지금 주목받는 두 가지 머신러닝 분야를 카카오클라우드 환경에서 직접 실습하며 경험할 수 있습니다. Kubeflow 기반 실습 튜토리얼로 실전 머신러닝 파이프라인 구축을 시작해보세요.

📝 Machine Learning & AI 튜토리얼 모두 보기
👉 카카오클라우드 바로 시작하기

Kubeflow로 구현하는 MLOps 워크플로우

· 약 6분
Update Kubeflow


안녕하세요. 이 포스트에서는 머신러닝 운영의 핵심 플랫폼인 Kubeflow를 소개해드리려고 합니다.

Kubeflow는 머신러닝의 복잡성을 해소하고, 데이터 과학자 및 개발자가 보다 쉽게, 더 빠르게 머신러닝 모델을 개발하고 배포할 수 있도록 설계된 오픈 소스 프로젝트입니다. Kubeflow 공식 사이트에서 Kubeflow를 소개하는 첫 문장을 보면, "쿠버네티스(Kubernetes) 위에서 머신러닝을 위한 다양한 오픈 소스들을 종합적으로 관리하고 운영하는데 도움을 주는 프로젝트"라는 부분을 확인할 수 있습니다.

과거 Google이 내부적으로 사용하던 TensorFlow Extended(TFX)에서 출발한 Kubeflow는 현재 쿠버네티스 기반의 다양한 환경에서 머신러닝 워크플로우를 실행할 수 있는 가장 널리 알려진 엔드-투-엔드 솔루션으로 확장되었습니다.

Kubeflow의 가장 혁신적인 접근 방식 중 하나는 AutoML과 Kubeflow Pipelines의 통합입니다. 이를 통해 사용자는 모델의 훈련, 평가, 배포 단계를 자동화하고, 최적화할 수 있으며, 머신러닝 프로젝트의 반복 작업을 줄일 수 있습니다. 또한, Multi-tenant 지원을 강화하여, 여러 팀이 동일한 Kubeflow 인스턴스를 효과적으로 공유하며, 리소스를 격리할 수 있게 되었습니다. 카카오클라우드에서 제공하는 Kubeflow 서비스 또한 머신러닝 작업의 효율성을 극대화하고, 사용자가 쉽게 접근할 수 있도록 설계되었습니다.

이 포스팅에서는 Kubeflow의 주요 컴포넌트, 최신 기능, 그리고 카카오클라우드에서 Kubeflow를 활용하는 다양한 튜토리얼 시나리오를 소개해 드리도록 하겠습니다.

Kubeflow 특징

Kubeflow는 머신러닝 모델의 유연한 확장과 쉽고 편리한 상용 배포를 목표로 쿠버네티스 환경에서 다음과 같은 작업을 지원합니다.

  • 반복 및 이식이 가능한 쉬운 배포: Kubeflow를 통해 생성된 파이프라인은 클라우드, 온프레미스 등 여러 환경에서 배포를 용이하게 합니다.
  • 비종속적인 마이크로 서비스 배포 및 관리 체계: 마이크로서비스 아키텍처를 기반으로 한 Kubeflow는 각 컴포넌트의 독립적인 관리를 가능하게 합니다.
  • 사용자 요구에 따른 반응형 스케일링: 사용자의 요구에 따라 리소스를 자동으로 스케일링하며, 최적의 성능을 보장합니다.

Kubeflow 주요 컴포넌트

Kubeflow는 Central Dashboard, Jupyter Notebooks, Tensorboard, Pipelines 등 여러 오픈소스 컴포넌트로 구성되어 있으며, 각각은 머신러닝 워크플로우의 특정 단계를 지원합니다. 이들 컴포넌트는 사용자가 머신러닝 프로젝트를 보다 효율적으로 관리할 수 있도록 설계되어 있습니다.


출처: Kubeflow Ecosystem

Kubeflow는 쿠버네티스 기반에서 이와 같은 주요 컴포넌트를 사용하여 머신러닝 모델 개발부터 배포, 자원 관리에 이르기까지 전 과정을 효율적으로 지원하게 됩니다.

Kubeflow 주요 컴포넌트설명
Central Dashboard   여러 컴포넌트 액세스 및 모니터링을 위한 대시보드 웹 콘솔을 제공합니다.
Notebooks데이터 과학자가 클러스터 내에서 직접 코딩할 수 있는 Jupyter 노트북 환경을 제공합니다.
TensorboardTensorflow, PyTorch 등의 프레임워크에서 제공하는 모델 학습 과정 및 학습 데이터 시각화 툴 텐서보드 서버(Tensorboard Server)를 생성하고 관리합니다.
PipelinesDocker 기반의 확장 가능한 파이프라인으로 복잡한 머신러닝 워크플로우를 간소화합니다.
KatibKatib과 같은 AutoML 컴포넌트를 통해 모델 학습 하이퍼파라미터 튜닝을 자동화합니다.
Training Operator다양한 머신러닝 프레임워크를 지원하여 유연한 트레이닝 작업을 가능하게 합니다.
KServeKServe와 같은 Model Serving 부가 기능을 통해 효율적인 모델 배포 및 서빙이 가능하며 내외부로부터 실시간 API로 제공합니다.

카카오클라우드 Kubeflow

카카오클라우드는 Kubeflow 1.6 버전을 포함하여 최신 기능을 지원하며, 사용자가 머신러닝 작업을 쉽고 빠르게 수행할 수 있도록 최적화된 클라우드 환경을 제공합니다. 특히, 카카오클라우드 Kubeflow는 다음과 같은 특징을 갖습니다.

Kubeflow 1.6의 모든 기능 지원

카카오클라우드 Kubeflow는 위에서 소개한 Kubeflow 주요 컴포넌트와 애드온(Add-On)을 모두 사용할 수 있습니다. Tensorflow, PyTorch, Apache MXNet, MPI, XGBoost, Chainer, HuggingFace, OpenAI SDK 등 프레임워크 및 라이브러리도 설치하여 사용할 수 있습니다.

세분화된 액세스 관리 기능

RBAC 기능을 제공하여 사용자는 업무와 역할에 따라 네임스페이스를 할당받고, 사용자 또는 그룹 단위로 권한을 효율적으로 관리할 수 있습니다. 또한 관리자는 네임스페이스별 쿼터 기능을 부여하여 설정된 사용치만큼의 CPU, Memory, GPU Memory, Storage 리소스를 할당할 수 있습니다.

유연한 스토리지 옵션

독립적인 MinIO유형 외 카카오클라우드 Object Storage 유형의 스토리지 저장소를 지원하여 보다 유연하게 모델 결과 파일을 서빙할 수 있습니다.

Nvidia MIG 인스턴스 최적화

카카오클라우드 Kubeflow는 Nvidia A100기반의 MIG(Multi Instance GPU) 인스턴스를 최적화하여 제공합니다. MIG 인스턴스 설정으로 GPU 리소스를 분할 사용할 수 있어, 사용자는 동일한 GPU에서 여러 워크로드를 효율적으로 실행할 수 있습니다.

멀티 File Storage 지원

사용자/그룹별 독립된 File Storage를 원하는 만큼 동적으로 사용하여 작업 파이프라인, 노트북 간 파일 공유가 더욱 수월합니다.

Kubeflow를 사용한 사용 예제

카카오클라우드의 기술 문서는 Jupyter Notebook 설정부터 병렬 학습 모델 구축, 모델 서빙 API 생성에 이르기까지 머신러닝 프로젝트의 다양한 단계를 아우르는 풍부한 Kubeflow 튜토리얼을 제공합니다. 이 튜토리얼들을 참고하여 카카오클라우드 Kubeflow를 사용한 효율적인 모델 개발, 학습, 최적화, 배포 기능 등을 확인할 수 있습니다.

현재 카카오클라우드 기술 문서의 Kubeflow 관련 튜토리얼은 아래와 같습니다.

마무리하며

Kubeflow는 현재 국내외 전역에서 가장 많이 사용하고 있는 오픈소스 MLOps 플랫폼으로 그만큼 교육 콘텐츠, 경험 사례 및 예제 소스 코드가 비교적 풍부하여 처음 사용하는 데이터 과학자 및 분석가 현직자들에게도 빠른 적응을 돕고 있습니다.

카카오클라우드의 Kubeflow는 클라우드 환경의 이점을 통해 간편한 프로비저닝으로 GPU 최적화와 강력한 리소스 관리 기능을 제공합니다. 카카오클라우드 사용자에게 머신러닝의 효율성과 한층 강화된 보안성을 갖춘 MLOps 플랫폼의 이점을 온전히 누릴 수 있도록, 지속적으로 Kubeflow 서비스를 개선해 나갈 예정입니다. 머신러닝을 위한 Kubeflow 서비스 사용을 고려 중이시라면, 꼭 카카오클라우드의 서비스를 사용해 보시기 바랍니다.

감사합니다.