Kubeflow Tensorboard를 사용한 머신러닝 실험 관리
카카오클라우드 Kubeflow 환경에서 TensorBoard 컴포넌트를 활용하여, 머신러닝 실험 과정에서 생성되는 로그 데이터를 관리하고 시각화하는 방법을 안내합니다.
- 예상 소요 시간: 10분
- 사용자 환경
- 권장 운영 체제: MacOS, Ubuntu
- Region: kr-central-2
- 사전 준비 사항
- 참고 문서
- 참고 사항
- Private 네트워크 환경에서는 학습 파일 다운로드가 원활하지 않을 수 있습니다.
시나리오 소개
TensorBoard는 머신러닝 모델의 학습 과정을 직관적으로 모니터링하고 분석하는 데 필수적인 도구입니다. Kubeflow 환경에서 TensorBoard를 활용하면, 머신러닝 실험의 진행 상황을 실시간으로 모니터링하고, 다양한 실험 결과를 비교 분석할 수 있습니다. 또한, 모델의 성능을 최적화하기 위한 핵심 지표의 이해와 TensorBoard를 활용한 실험 관리 방법을 확인할 수 있습니다.
이 시나리오에서는 카카오클라우드의 Kubeflow 환경에서 TensorBoard의 설치부터 실제 학습 데이터의 로그를 시각화하고 분석하는 전 과정을 단계별로 소개합니다.
주요 내용은 다음과 같습니다.
- Kubeflow에서 TensorBoard 인스턴스 생성 및 설정
- 학습 중인 모델의 로그 데이터를 실시간으로 모니터링하고 시각화하는 방법을 학습
- TensorBoard를 활용하여 모델 학습 과정을 분석
지원 도구
도구 | 버전 | 설명 |
---|---|---|
Tensorboard | 2.1.0 | 머신러닝 실험의 시각화 도구로, 측정 항목의 추적 및 시각화, 가중치와 텐서의 히스토그램 추적 기능을 제공합니다. |
Tensorboard에 대한 자세한 설명은 Tensorboard 공식 문서를 확인해 주세요.
시작하기 전에
TensorBoard를 사용하기 위한 환경 설정 및 필수 리소스 준비 과정을 안내합니다.
1. Kubeflow 환경 준비
Kubeflow에서 TensorBoard를 사용하기 전에, 실습에 적합한 노드 풀 사양이 준비되었는지 확인합니다. 환경 설정이 필요한 경우, Kubeflow를 이용한 Jupyter Notebook 환경 구성가이드를 참조하여 적절한 사양의 Kubeflow 환경을 구성하세오.
필요 최소 사양
- 노드 풀 최소 사양: vCPU 4개 이상, 메모리 8GB 이상
- 여유 File Storage 사이즈: 10GiB 이상
2. 로그 저장을 위한 볼륨 생성
TensorBoard가 학습 로그를 저장할 영구 볼륨(Persistent Volume)을 생성합니다.
-
Kubeflow 대시보드에 접속하여 Volumes 탭으로 이동합니다.
-
상단의 [New Volume] 버튼을 클릭하여 새 볼륨을 생성합니다.
-
New Volume 화면에서 필요한 정보를 입력하고 [Create] 버튼을 클릭하여 볼륨을 생성합니다.
시작하기
TensorBoard를 활용하여 머신러닝 실험의 로그 데이터를 효율적으로 관리하고 시각화하는 구체적인 실습 단계는 다음과 같습니다.
Step 1. Tensorboard 인스턴스 생성하기
-
Tensorboards 탭을 선택한 후, [New TensorBoard] 버튼을 클릭합니다.
-
New Tensorboard 화면에서 필요한 정보를 입력하고 [Create] 버튼을 클릭하여 Tensorboard 인스턴스를 생성합니다.
항목 값 Storage 종류 PVC PVC Name Step 2에성 생성한 Volume의 이름 Mount Path 선택된 Volume에서 텐서보드 보여줄 볼륨이 저장된 경로 -
[CONNECT] 버튼을 클릭하여 생성된 Tensorboard 인스턴스를 확인합니다.
Step 2. 실습을 위한 노트북 인스턴스 생성하기
이 단계에서는 Kubeflow에서 실습을 위한 노트북 인스턴스를 생성하는 방법을 안내합니다.
-
Kubeflow 대시보드에서 Notebooks 탭을 선택합니다.
-
상단의 [New Notebook] 버튼을 클릭하여 노트북 인스턴스를 생성합니다.
-
New notebook 설정 화면에서 다음 정보를 입력합니다.
- Docker Image:
kc-kubeflow/jupyter-pyspark-pytorch:v1.8.0.py38.1a
를 선택합니다. - Workspace Volume: 기본으로 설정된 새 볼륨을 삭제하려면 휴지통 아이콘을 클릭합니다. 그 다음 [Attach existing volume] 옵션을 선택하고, Step 2에서 생성한
tensorboard 볼륨
을 선택합니다.
- Docker Image:
-
설정을 완료한 후, [LAUNCH] 버튼을 클릭하여 인스턴스를 생성합니다.
Step 3. 모델 학습 및 Tensorboard를 통합 결과 확인
이 단계에서는 모델 학습을 수행하고, 학습 결과를 Tensorboard를 통해 확인하는 방법을 안내합니다.
-
예제 프로젝트를 아래 링크에서 다운로드하고, 생성한 노트북 인스턴스에 업로드합니다.
- 예제 다운로드: Tensorboard 사용하기.ipynb
-
노트북 내에서
TENSORBOARD_URL
변수를 Step 2.에서 생성한 Tensorboard의 주소로 변경합니다. -
노트북 코드를 실행하여 모델을 학습시키고, IFrame을 통해 Tensorboard에서 변화된 학습 과정을 확인합니다.