Training mit dem integrierten BERT-Algorithmus

Wenn Sie integrierte Algorithmen für das Training in AI Platform Training verwenden, können Sie Ihr Dataset zum Trainieren eines Modells einreichen, ohne Trainingscode schreiben zu müssen. Auf dieser Seite werden die Funktionsweise und die Verwendung des integrierten BERT-Algorithmus erläutert.

Übersicht

Der integrierte Algorithmus kann sowohl das Training als auch das Modell exportieren:

  1. Training: AI Platform Training führt das Training mit der BERT-Implementierung von TensorFlow aus. Dabei werden das von Ihnen angegebene Dataset und die festgelegten Modellparameter verwendet.
  2. Export: Mit dem ersten angegebenen Prüfpunkt wird ein serialisiertes Modell im gewünschten Jobverzeichnis erzeugt. Dieses Modell kann dann in AI Platform bereitgestellt werden.

Beschränkungen

Die folgenden Features werden für das Training mit dem integrierten BERT-Algorithmus nicht unterstützt:

  • Automatisierte Datenvorverarbeitung: Bei dieser Version von BERT müssen Eingabedaten in Form von TFRecords für das Training und die Ausgabe vorliegen. Für die automatische Verarbeitung einer nicht formatierten Eingabe ist eine Trainingsanwendung erforderlich.

Unterstützte Maschinentypen

Folgende AI Platform Training-Skalierungsstufen und -Maschinentypen werden unterstützt:

  • Skalierungsstufe BASIC
  • Skalierungsstufe BASIC_TPU
  • Skalierungsstufe CUSTOM mit beliebigen von AI Platform Training unterstützten Compute Engine-Maschinentypen
  • Skalierungsstufe CUSTOM mit einem der folgenden Legacy-Maschinentypen:
    • standard
    • large_model
    • complex_model_s
    • complex_model_m
    • complex_model_l
    • standard_gpu
    • standard_p100
    • standard_v100
    • large_model_v100
    • complex_model_m_gpu
    • complex_model_l_gpu
    • complex_model_m_p100
    • complex_model_m_v100
    • complex_model_l_v100
    • TPU_V2 (8 Kerne)

Wir empfehlen die Verwendung eines Maschinentyps mit Zugriff auf TPUs.

Eingabedaten formatieren

Prüfen Sie, ob die Eingabe- und Evaluationsdaten in Form von TFRecords vorliegen, bevor Sie das Modell trainieren.

Cloud Storage-Bucket-Berechtigungen prüfen

Speichern Sie Ihre Daten in einem Cloud Storage-Bucket desselben Google Cloud-Projekts, in dem Sie AI Platform Training-Jobs ausführen. Gewähren Sie andernfalls AI Platform Training Zugriff auf den Cloud Storage-Bucket, in dem Ihre Daten gespeichert sind.

BERT-Trainingsjob senden

In diesem Abschnitt wird erläutert, wie Sie einen Trainingsjob mit dem integrierten BERT-Algorithmus senden.

Eine kurze Erläuterung der einzelnen Hyperparameter finden Sie in der Google Cloud Console. Eine ausführlichere Erläuterung finden Sie in der Referenz zum integrierten BERT-Algorithmus.

Console

  1. Rufen Sie in der Cloud Console die Seite für AI Platform Training-Jobs auf:

    Zur Seite AI Platform Training-Jobs

  2. Klicken Sie auf die Schaltfläche Neuer Trainingsjob. Klicken Sie in den darunter angezeigten Optionen auf Integriertes Algorithmustraining.

  3. Wählen Sie auf der Seite Neuen Trainingsjob erstellen BERT aus und klicken Sie auf Weiter.

  4. Weitere Informationen zu allen verfügbaren Parametern finden Sie unter den Links in der Google Cloud Console und in der Referenz zum integrierten BERT-Algorithmus.

gcloud

  1. Legen Sie Umgebungsvariablen für Ihren Job fest und geben Sie für [VALUES-IN-BRACKETS] Ihre eigenen Werte ein:

       # Specify the name of the Cloud Storage bucket where you want your
       # training outputs to be stored, and the Docker container for
       # your built-in algorithm selection.
       BUCKET_NAME='BUCKET_NAME'
       IMAGE_URI='gcr.io/cloud-ml-algos/bert:latest'
    
       DATE="$(date '+%Y%m%d_%H%M%S')"
       MODEL_NAME='MODEL_NAME'
       JOB_ID="${MODEL_NAME}_${DATE}"
    
       JOB_DIR="gs://${BUCKET_NAME}/algorithm_training/${MODEL_NAME}/${DATE}"
       BERT_BASE_DIR='gs://cloud-tpu-checkpoints/bert/keras_bert/uncased_L-24_H-1024_A-16'
       MODEL_DIR='${STORAGE_BUCKET}/bert-output'
       GLUE_DIR='gs://cloud-tpu-checkpoints/bert/classification'
       TASK='mnli'
    
  2. Senden Sie den Trainingsjob mit gcloud ai-platform jobs training submit: Passen Sie dieses allgemeine Beispiel an Ihr Dataset an:

       gcloud ai-platform jobs submit training $JOB_ID \
          --master-image-uri=$IMAGE_URI --scale-tier=BASIC_TPU --job-dir=$JOB_DIR \
          -- \
          --mode='train_and_eval' \
          --input_meta_data_path=${GLUE_DIR}/${TASK}_meta_data \
          --train_data_path=${GLUE_DIR}/${TASK}_train.tf_record \
          --eval_data_path=${GLUE_DIR}/${TASK}_eval.tf_record \
          --bert_config_file=${BERT_BASE_DIR}/bert_config.json \
          --init_checkpoint=${BERT_BASE_DIR}/bert_model.ckpt \
          --train_batch_size=32 \
          --eval_batch_size=32 \
          --learning_rate=2e-5 \
          --num_train_epochs=1 \
          --steps_per_loop=1000
    
  3. Prüfen Sie den Status Ihres Trainingsjobs. Rufen Sie dazu Logs mit gcloud auf. Weitere Informationen finden Sie unter gcloud ai-platform jobs describe und gcloud ai-platform jobs stream-logs.

       gcloud ai-platform jobs describe ${JOB_ID}
       gcloud ai-platform jobs stream-logs ${JOB_ID}
    

Weitere Lernressourcen