I seguenti suggerimenti si applicano a set di dati e/o modelli di grandi dimensioni.
Addestramento singolo e distribuito
Se crei un'applicazione di addestramento TensorFlow o un container personalizzato, puoi eseguire l'addestramento distribuito su AI Platform Training.
Se esegui l'addestramento con un container PyTorch predefinito, puoi eseguire l'addestramento PyTorch distribuito.
Puoi eseguire l'addestramento distribuito per XGBoost solo utilizzando l'algoritmo XGBoost distribuito integrato.
AI Platform Training non supporta l'addestramento distribuito per scikit-learn. Se le tue applicazioni di addestramento utilizzano questo framework, utilizza solo le configurazioni del tipo di macchina personalizzata o al livello di scalabilità che corrispondono a una singola istanza worker.
Set di dati di grandi dimensioni
Quando si gestiscono set di dati di grandi dimensioni, è possibile che il download dell'intero
set di dati nella VM di training worker e il caricamento in panda non scala.
In questi casi, puoi utilizzare l'API stream-read/file_io
di TensorFlow (che è 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
Puoi richiedere l'addestramento delle VM worker con esigenze di memoria più elevate impostando scale-tier
su CUSTOM
e impostando masterType
tramite un file di configurazione associato. Per ulteriori dettagli, consulta la documentazione relativa al livello di scalabilità.
Per farlo:
Crea
config.yaml
in locale con i seguenti contenuti:trainingInput: masterType: large_model
Invia il lavoro:
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