scikit-learn로 규모에 맞춘 학습

다음 팁은 대규모 데이터세트나 대규모 모델에 적용됩니다.

단일 학습 및 분산 학습

TensorFlow 학습 애플리케이션 또는 커스텀 컨테이너를 만들면 AI Platform Training에서 분산 학습을 수행할 수 있습니다.

사전 빌드된 PyTorch 컨테이너로 학습하는 경우 분산 PyTorch 학습을 수행할 수 있습니다.

기본 제공 분산 XGBoost 알고리즘을 사용하여 XGBoost에 대한 분산 학습만 수행할 수 있습니다.

AI Platform Training은 scikit-learn에 분산 학습을 지원하지 않습니다. 학습 애플리케이션에서 이 프레임워크를 사용하는 경우 단일 작업자 인스턴스에 해당하는 확장 등급 또는 커스텀 머신 유형 구성만 사용하세요.

대규모 데이터 세트

대규모 데이터 세트를 처리하는 경우 전체 데이터 세트를 학습 작업자 VM으로 다운로드하여 Pandas로 로드하는 작업은 확장되지 않을 수 있습니다. 이 경우 VM에 사전 설치되어 있는 TensorFlow의 stream-read/file_io API를 사용하는 것이 좋습니다.

import pandas as pd

from pandas.compat import StringIO
from tensorflow.python.lib.io import file_io

# Access iris data from Cloud Storage
iris_data_filesteam = file_io.FileIO(os.path.join(data_dir, iris_data_filename),
                                     mode='r')
iris_data = pd.read_csv(StringIO(iris_data_filesteam.read())).values
iris_target_filesteam = file_io.FileIO(os.path.join(data_dir,
                                                    iris_target_filename),
                                       mode='r')
iris_target = pd.read_csv(StringIO(iris_target_filesteam.read())).values
iris_target = iris_target.reshape((iris_target.size,))

# Your training program goes here
...
..
.

# Close all filestreams
iris_data_filesteam.close()
iris_target_filesteam.close()

대형 모델

scale-tierCUSTOM으로 설정하고 함께 제공되는 구성 파일을 통해 masterType을 설정하여 메모리 요구량이 더 높은 학습 작업자 VM을 요청할 수 있습니다. 자세한 내용은 확장 등급 문서를 참조하세요.

방법은 다음과 같습니다.

  1. 다음 콘텐츠로 로컬에서 config.yaml을 만듭니다.

    trainingInput:
      masterType: large_model
    
  2. 작업을 제출합니다.

    CONFIG=path/to/config.yaml
    
    gcloud ai-platform jobs submit training $JOB_NAME \
      --job-dir $JOB_DIR \
      --package-path $TRAINER_PACKAGE_PATH \
      --module-name $MAIN_TRAINER_MODULE \
      --region us-central1 \
      --runtime-version=$RUNTIME_VERSION \
      --python-version=$PYTHON_VERSION \
      --scale-tier CUSTOM \
      --config $CONFIG