본문으로 건너뛰기
튜토리얼 시리즈 | Kubeflow 기본 워크플로우

Kubeflow Pipelines을 통한 예측 모델 학습

파이프라인 실습 예제를 통해 실험 그리고 실행을 생성하고, 예측 모델을 학습합니다.

기본 정보
  • 예상 소요 시간: 10분
  • 권장 운영 체제: macOS, Ubuntu
  • 사전 준비 사항
  • 참고 사항
    • Private 네트워크 환경에서는 학습 파일 다운로드가 원활하지 않을 수 있습니다.

시나리오 소개​

이 시나리오는 Kubeflow Pipelines의 핵심 개념과 기능을 학습 데이터와 실습 예제를 통해 자세히 설명합니다. 사용자는 파이프라인을 구성하는 컴포넌트 작성과 조합 방법을 이해하고, 데이터 처리 및 모델 학습 워크플로우를 자동화하는 과정을 직접 실습할 수 있습니다. 특히, Kubeflow Pipelines를 활용하여 머신러닝 모델 학습 프로세스를 단계적으로 자동화하는 방법을 안내하며, 이를 통해 효율적인 워크플로우 설계 및 운영 기술을 습득할 수 있도록 지원합니다.

주요 내용은 다음과 같습니다.

  • Kubeflow Pipelines의 기본 개념과 컴포넌트 이해
  • 파이프라인 생성 및 실행
  • 'Experiment(실험)'과 'Run(실행)'을 통한 모델 학습 과정 관리

지원 도구​

도구버전설명
KF Pipelines2.5.0- 머신러닝 워크플로우를 구축, 배포 및 관리하기 위한 Kubeflow의 핵심 구성 요소 중 하나입니다.
- 간소화된 인터페이스로 신속한 실험 및 반복 가능한 기계 학습 워크플로우를 지원합니다.
- 파라미터 튜닝, 실험 관리, 모델 버전 관리 등 다양한 기능을 제공합니다.
안내

KF Pipelines에 대한 자세한 설명은 Kubeflow > KF Pipelines 공식 문서를 확인해 주세요.

주요 개념​

  • 컴포넌트: 재사용 가능한 작업 단위로, 다양한 언어와 라이브러리를 지원합니다. 여러 컴포넌트를 결합해 실험을 구성할 수 있습니다.
  • Experiment(실험): 컴포넌트를 연결해 전체 워크플로우를 구성합니다. 다양한 파라미터와 데이터 조합을 테스트할 수 있습니다.
  • Run(실행): Experiment를 실행하고, 각 단계의 결과를 추적 및 관리합니다. 실패한 작업을 다시 실행하거나, 이전 실행 결과를 재사용할 수 있습니다.

파이프라인 관리​

  • 파이프라인 컴포넌트는 DAG(Directed Acyclic Graph) 형태로 시각화됩니다.
  • 모든 파이프라인은 SDK 또는 수동 압축 파일 업로드를 통해 코드로 관리됩니다.

파이프라인 이미지​

카카오클라우드에서 지원하는 Kubeflow 파이프라인 이미지는 TensorFlow, Pytorch 등 다양한 머신러닝 프레임워크를 포함합니다. 필요에 따라 사용자 정의 도커 이미지를 활용할 수 있습니다.

안내

이미지 레지스트리 엔드포인트는 mlops.kr-central-2.kcr.dev/kc-kubeflow-registry/(이미지명)입니다. 예를 들어, kmlp-tensorflow:1.0.0.py36.cpu 이미지의 Pull을 원하실 경우 mlops.kr-central-2.kcr.dev/kc-kubeflow-registry/kmlp-tensorflow:v1.0.0.py36.cpu로 PULL을 받으시면 됩니다.

지원 파이프라인 정보​
이미지명프레임워크버전GPU 지원
kmlp-tensorflow:v1.8.0.py38.cpu.1atensorflow2.13.1X
kmlp-tensorflow:v1.8.0.py38.cuda.1atensorflow2.13.1O
kmlp-tensorflow:v1.8.0.py311.cpu.1atensorflow2.15.1X
kmlp-tensorflow:v1.8.0.py311.cuda.1atensorflow2.15.1O
kmlp-pytorch:v1.8.0.py38.cpu.1apytorch2.3.0X
kmlp-pytorch:v1.8.0.py38.cuda.1apytorch2.3.0O
kmlp-pytorch:v1.8.0.py311.cpu.1apytorch2.3.0X
kmlp-pytorch:v1.8.0.py311.cuda.1apytorch2.3.0O
kmlp-pyspark-tensorflow:v1.8.0.py38.cpu.1atensorflow2.13.1X
kmlp-pyspark-tensorflow:v1.8.0.py38.cuda.1atensorflow2.13.1O
kmlp-pyspark-tensorflow:v1.8.0.py311.cpu.1atensorflow2.15.1X
kmlp-pyspark-tensorflow:v1.8.0.py311.cuda.1atensorflow2.15.1O
kmlp-pyspark-pytorch:v1.8.0.py38.cpu.1apytorch2.3.0X
kmlp-pyspark-pytorch:v1.8.0.py38.cuda.1apytorch2.3.0O
kmlp-pyspark-pytorch:v1.8.0.py311.cpu.1apytorch2.3.0X
kmlp-pyspark-pytorch:v1.8.0.py311.cuda.1apytorch2.3.0O

시작하기 전에​

1. 학습 데이터세트 준비​

이 튜토리얼은 New York City에서 공개된 TLC Trip Record Data와 예제로 제공하는 파이프라인 메니페스트 파일을 활용하여 간단한 전처리 및 학습 파이프라인을 실습합니다.

항목설명
목표택시 요금 예측 모델 구현
데이터 정보NYC 택시 및 리무진 위원회에서 제공하는 2009~2015년의 Yellow 택시 요금
- 택시의 승하차 시간 및 위치, 여행 거리, 요금, 결제 유형, 승객 수 등

원본 데이터세트 정보

2. Kubeflow 환경 준비​

이 튜토리얼은 GPU 노드 풀 환경을 사용합니다.

Kubeflow 서비스나 적절한 환경이 준비되지 않았다면, Kubeflow 생성 및 관리 문서를 참고하여 Kubeflow를 생성합니다.

시작하기​

Kubeflow 환경에서 'Experiment(실험)'와 'Run(실행)'을 만들고, 학습 파이프라인을 구축하는 구체적인 실습 단계는 다음과 같습니다.

Step 1. 파이프라인 생성​

실습 메니페스트 파일로 파이프라인을 생성하는 방법을 안내합니다.

  1. Kubeflow 대시보드에 접속한 후, Pipelines 탭에서 [Upload pipeline] 버튼을 클릭합니다.

  2. Upload a file 옵션을 선택하고 Step 1. 사전안내에서 다운로드받은 실습 파일(.yaml)을 업로드합니다.

안내

파이프라인 생성에 대한 자세한 설명은 Kubeflow > Kubeflow Pipeline > Quick Start 문서를 확인해 주세요.

Step 2. Experiment(실험) 생성​

Kubeflow 대시보드의 Experiments (KFP) 탭 혹은 Pipelines 탭의 특정 파이프라인 상세 페이지에서 Experiment(실험)을 생성합니다.

  1. Kubeflow 대시보드에 접속한 후, Pipelines 탭에서 Experiment를 생성하고자 하는 파이프라인을 선택합니다.

  2. 파이프라인 상세 화면에서 [Create experiment] 버튼을 클릭합니다.

  3. Experiment name(실험 이름)을 입력하고 [Next] 버튼을 클릭합니다.

Step 3. Run(실행) 생성 및 관리​

Experiment 생성 후 자연스럽게 Run 생성 단계로 넘어갑니다.

참고

만일 차후에 Run을 생성하고자 하는 경우, 아래 세 가지의 방법으로 진행할 수 있습니다.

  • Runs 탭에서 [Create run] 버튼을 클릭합니다.
  • Pipelines 탭에서 파이프라인 상세 화면에 접근하여 [Create run] 버튼을 클릭합니다.
  • Experiments (KFP) 탭에서 실험 상세 화면에 접근하여 [Create run] 버튼을 클릭하여 만들 수 있습니다.
  1. Start a run(실행 생성하기) 화면에서 필요한 정보를 입력하고 [Start] 버튼을 클릭합니다.

    • 실습에서는 Step2.에서 실습 파일(.yaml)을 업로드하였으므로 아래 화면에서의 모든 값이 자동 입력됩니다.
  2. Runs 탭으로 이동하여 생성한 Run을 선택하여 상세 화면으로 이동합니다. 상세 화면에서 Run에 대한 상세 정보를 확인할 수 있습니다.

Step 4. Run(실행) 결과 관리​

  1. Kubeflow 대시보드에 접속하여 Runs 탭을 클릭한 후, 목록에서 보관할 실행을 선택하고 [Archive] 버튼을 클릭합니다.

  2. 보관한 실행은 Runs 탭 목록화면의 Archived 항목에서 확인할 수 있으며, Run을 선택하고 [Restore] 버튼을 클릭하면 원래대로 복구할 수 있습니다.

Step 5. Run(실행) 삭제​

실습 완료나 서비스 미사용 시, 아래와 같이 리소스를 삭제하는 것이 좋습니다.

  1. Kubeflow 대시보드에 접속하여 Runs 탭을 클릭한 후, 목록에서 삭제할 실행을 선택하고 [Archive] 버튼을 클릭합니다.

  2. 보관한 실행은 Runs 탭 목록화면의 Archived 항목에서 확인할 수 있으며, 실행을 선택하고 [Delete] 버튼을 클릭하면 실행을 삭제할 수 있습니다.

  3. 실행 삭제 시, 파드까지 삭제된걸 확인할 수 있습니다.

Step 6. Experiment(실험) 보관​

  1. Kubeflow 대시보드에 접속하여 Experiments (KFP) 탭을 클릭한 후, 목록에서 보관할 Experiments를 선택합니다.

  2. Experiments 상세 화면에서 우측 상단의 [Archive] 버튼을 클릭합니다.

  3. 보관한 실험은 Experiments 탭 목록화면의 Archived 항목에서 확인할 수 있으며, Experiments를 선택하고 [Restore] 버튼을 클릭하면 원래대로 복구할 수 있습니다.

Step 7. 파이프라인 삭제​

실습 완료나 서비스 미사용 시, 아래와 같이 파이프라인을 삭제하는 것이 좋습니다.

  1. Kubeflow 대시보드에 접속하여 Pipelines 탭을 선택합니다.

  2. 목록화면에서 삭제할 파이프라인을 선택한 후 우측 상단의 [Delete] 버튼을 클릭하여 삭제합니다.

안내

KF Pipelines에 대한 자세한 설명은 Kubeflow 공식 사이트의 Kubeflow Pipelines 문서를 확인해 주세요.