I seguenti suggerimenti si applicano a set di dati e/o modelli di grandi dimensioni.
Addestramento singolo rispetto ad addestramento distribuito
Se crei un'applicazione di addestramento TensorFlow o un contenuto personalizzato, puoi eseguire addestramento distribuito su AI Platform Training.
Se esegui l'addestramento con un container PyTorch predefinito, puoi eseguire l'addestramento distribuito di PyTorch.
È possibile eseguire l'addestramento distribuito per XGBoost solo utilizzando algoritmo XGBoost distribuito.
AI Platform Training non supporta l'addestramento distribuito per scikit-learn. Se le tue applicazioni di addestramento utilizzano questo framework, utilizza solo le configurazioni di livello di scalabilità o di tipo di macchina personalizzata che corrispondono a una singola istanza di worker.
Set di dati di grandi dimensioni
Quando si gestiscono grandi set di dati, è possibile che il download dell'intero
il set di dati nella VM worker di addestramento e caricarlo in Pandas non scala.
In questi casi, ti consigliamo di utilizzare l'stream-read/file_io
API di TensorFlow (questa API è preinstallata sulla 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()
Modelli di grandi dimensioni
È possibile richiedere VM di worker di addestramento con esigenze di memoria più elevate impostandoscale-tier
su CUSTOM
e impostando masterType
tramite un file di configurazione aggiuntivo. Per ulteriori dettagli, fai riferimento alla
di questo livello.
Per farlo:
Crea
config.yaml
in locale con i seguenti contenuti:trainingInput: masterType: large_model
Invia il tuo 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