Addestramento su vasta scala

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:

  1. Crea config.yaml in locale con i seguenti contenuti:

    trainingInput:
      masterType: large_model
    
  2. 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