Die folgenden Tipps beziehen sich auf große Datasets und/oder große Modelle.
Zentrales und verteiltes Training im Vergleich
Wenn Sie eine TensorFlow-Trainingsanwendung oder einen benutzerdefinierten Container erstellen, können Sie ein verteiltes Training auf AI Platform Training durchführen.
Wenn Sie mit einem vorkonfigurierten PyTorch-Container trainieren, können Sie ein verteiltes PyTorch-Training ausführen.
Ein verteiltes Training für XGBoost können Sie nur mit dem integrierten verteilten XGBoost-Algorithmus durchführen.
AI Platform Training unterstützt kein verteiltes Training für scikit-learn. Wenn Ihre Trainingsanwendungen dieses Framework nutzen, verwenden Sie bitte nur die Skalierungsstufen- oder Maschinentypkonfigurationen, die einer einzelnen Worker-Instanz entsprechen.
Große Datasets
Wenn Sie mit großen Datasets arbeiten, ist es möglich, dass beim Herunterladen des gesamten Datasets in die Trainings-Worker-VM und anschließenden Laden in die Pandas keine Skalierung vorgenommen wird.
In diesen Fällen sollten Sie die API stream-read/file_io
von TensorFlow verwenden. Sie ist auf der VM vorinstalliert.
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()
Große Modelle
Trainings-Worker-VMs mit höherem Speicherbedarf können angefordert werden, wenn Sie scale-tier
auf CUSTOM
und masterType
über eine entsprechende Konfigurationsdatei einstellen. Weitere Informationen finden Sie in der Dokumentation zur Skalierungsstufe.
So gehen Sie dazu vor:
Erstellen Sie lokal
config.yaml
mit folgendem Inhalt:trainingInput: masterType: large_model
Senden Sie den Job:
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