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.
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 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 ha a che fare con set di dati di grandi dimensioni, è possibile che il download dell'intero set di dati nella VM worker di addestramento e il caricamento in pandas non sia scalabile.
In questi casi, valuta la possibilità 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, consulta la documentazione relativa ai livelli di scalabilità.
Per farlo:
Crea
config.yaml
localmente 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