Pelatihan dalam skala besar

Tips berikut berlaku untuk set data besar dan/atau model besar.

Pelatihan tunggal vs. terdistribusi

Jika membuat aplikasi pelatihan TensorFlow atau container kustom, Anda dapat melakukan pelatihan terdistribusi pada Pelatihan AI Platform.

Jika berlatih dengan container PyTorch yang sudah dibangun sebelumnya, Anda dapat melakukan pelatihan PyTorch terdistribusi.

Anda hanya dapat melakukan pelatihan terdistribusi untuk XGBoost menggunakan algoritma XGBoost bawaan yang terdistribusi.

Pelatihan AI Platform tidak mendukung pelatihan terdistribusi untuk scikit-learn. Jika aplikasi pelatihan Anda menggunakan framework ini, harap hanya gunakan konfigurasi jenis mesin kustom atau tingkat skala yang sesuai dengan satu instance pekerja.

Set data besar

Saat menangani set data besar, ada kemungkinan bahwa mendownload seluruh set data ke VM pekerja pelatihan dan memuatnya ke pandas tidak akan diskalakan. Dalam kasus ini, pertimbangkan untuk menggunakan stream-read/file_io API TensorFlow (API ini sudah diinstal sebelumnya di VM).

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()

Model besar

Melatih VM pekerja dengan kebutuhan memori yang lebih tinggi dapat diminta dengan menetapkan scale-tier ke CUSTOM dan menetapkan masterType melalui file konfigurasi yang menyertainya. Untuk detail selengkapnya, lihat dokumentasi tingkat skala.

Untuk melakukan ini:

  1. Buat config.yaml secara lokal dengan konten berikut:

    trainingInput:
      masterType: large_model
    
  2. Kirim pekerjaan Anda:

    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