Skip to main content
NetApp Solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

워크플로우 예 - Kubeflow 및 NetApp DataOps 툴킷을 사용하여 이미지 인식 모델을 학습합니다

기여자

이 섹션에서는 Kubeflow 및 NetApp DataOps 툴킷을 사용하여 이미지 인식을 위한 신경망 교육 및 배포에 관련된 단계를 설명합니다. 이 슬라이드의 목적은 NetApp 스토리지를 통합하는 교육 작업을 보여주는 예입니다.

필수 구성 요소

Kubeflow 파이프라인 내에서 기차 및 테스트 단계에 사용할 필수 구성으로 Dockerfile을 생성합니다.
다음은 Dockerfile의 예입니다.

FROM pytorch/pytorch:latest
RUN pip install torchvision numpy scikit-learn matplotlib tensorboard
WORKDIR /app
COPY . /app
COPY train_mnist.py /app/train_mnist.py
CMD ["python", "train_mnist.py"]

요구 사항에 따라 프로그램을 실행하는 데 필요한 모든 필수 라이브러리와 패키지를 설치합니다. 기계 학습 모델을 교육하기 전에 이미 작동하는 Kubeflow 배포가 있다고 가정합니다.

PyTorch 및 Kubeflow 파이프라인을 사용하여 MNIST 데이터에 대한 소규모 NN을 훈련하십시오

MNIST 데이터에 대해 훈련된 소규모 Neural Network의 예를 사용합니다. MNIST 데이터 세트는 0-9의 숫자 자필 이미지로 구성됩니다. 이미지 크기는 28x28픽셀입니다. 데이터 세트는 60,000개의 기차 이미지와 10,000개의 검증 이미지로 구분됩니다. 이 실험에 사용되는 신경망은 2계층 피드포워드 네트워크입니다. 교육은 Kubeflow 파이프라인을 사용하여 실행됩니다. 설명서를 참조하십시오 "여기" 를 참조하십시오. Kubeflow 파이프라인은 사전 요구 사항 섹션의 Docker 이미지를 통합합니다.

Kubeflow 파이프라인 '시각화'를 실행합니다

Tensorboard를 사용하여 결과를 시각화합니다

모델이 훈련되면 Tensorboard를 사용하여 결과를 시각화할 수 있습니다. "Tensorboard를 사용합니다" 은 Kubeflow Dashboard에서 기능으로 제공됩니다. 작업에 대한 사용자 정의 텐서보드를 작성할 수 있습니다. 아래 예는 과(와) 비교 트레이닝 정확도의 플롯을 보여줍니다 기 수 및 교육 손실 대 Epoch 수.

훈련 손실 및 정확성을 위한 Tensorboard 그래프

Katib를 사용하여 Hyperparameters를 실험합니다

"케이티비주식회사" 은 Kubeflow 내의 도구로서 모델 hyperparameters를 실험하는 데 사용할 수 있습니다. 실험을 생성하려면 먼저 원하는 메트릭/목표를 정의합니다. 이것은 일반적으로 테스트 정확도입니다. 메트릭이 정의되면 재생할 하이퍼파라미터(optimizer/learning_rate/layer 수)를 선택합니다. Katib는 사용자 정의 값으로 hyperparameter sweep을 수행하여 원하는 메트릭을 만족하는 최적의 매개 변수 조합을 찾습니다. UI의 각 섹션에서 이러한 매개 변수를 정의할 수 있습니다. 또는 필요한 사양으로 * YAML * 파일을 정의할 수도 있습니다. 다음은 Katib 실험의 그림입니다.

하이퍼파라미터가 포함된 Katib Experiment Dashboard

시험 확인 성공

NetApp 스냅샷을 사용하여 추적을 위해 데이터를 저장합니다

모델 훈련 중에 추적 기능을 위해 훈련 데이터 세트의 스냅샷을 저장하고자 할 수 있습니다. 이를 위해 아래와 같이 파이프라인에 스냅샷 단계를 추가할 수 있습니다. 스냅샷을 생성하기 위해 를 사용할 수 있습니다 "Kubernetes용 NetApp DataOps 툴킷".

Kubeflow에서 스냅샷 파이프라인을 구축하는 데 필요한 코드입니다

을 참조하십시오 "Kubeflow에 대한 NetApp DataOps 툴킷의 예" 를 참조하십시오.