Addestramento su vasta scala

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:

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

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