Entrena con el algoritmo BERT integrado

El entrenamiento mediante algoritmos integrados en AI Platform Training te permite enviar el conjunto de datos y entrenar un modelo sin escribir ningún código de entrenamiento. En esta página, se explica cómo funciona el algoritmo BERT integrado y cómo usarlo.

Descripción general

Este algoritmo integrado puede realizar el entrenamiento y la exportación de modelos:

  1. Entrenamiento: Con el conjunto de datos y los parámetros del modelo que proporcionaste, AI Platform Training ejecuta el entrenamiento con la implementación BERT de TensorFlow.
  2. Exportación: con el punto de control inicial proporcionado, genera un modelo serializado en el directorio de trabajo deseado. Luego, este modelo puede implementarse en AI Platform.

Limitaciones

Las siguientes características no son compatibles para el entrenamiento con el algoritmo integrado de BERT:

  • Procesamiento previo y automático de datos: Esta versión de BERT requiere que los datos de entrada tengan el formato de TFRecords para capacitación y salida. Se debe realizar una aplicación de entrenamiento para manejar automáticamente las entradas sin formato.

Tipos de máquina admitidos

Se admiten los siguientes niveles de escala y tipos de máquinas de AI Platform Training:

Recomendamos usar un tipo de máquina con acceso a TPU.

Establece el formato de los datos de entrada

Asegúrate de que los datos de entrada y evaluación tengan el formato de TFRecords antes de entrenar el modelo.

Verifica los permisos del bucket de Cloud Storage

A fin de almacenar tus datos, usa un bucket de Cloud Storage en el mismo proyecto de Google Cloud que usas para ejecutar trabajos de AI Platform Training. De lo contrario, otorga acceso para AI Platform Training al depósito de Cloud Storage donde se almacenan tus datos.

Envía un trabajo de entrenamiento de BERT

En esta sección, se explica cómo enviar un trabajo de entrenamiento con el algoritmo integrado de BERT.

Puedes encontrar explicaciones breves de cada hiperparámetro en la consola de Google Cloud, y una explicación más completa en la referencia del algoritmo integrado BERT.

Console

  1. Ve a la página Trabajos de AI Platform Training en la consola de Google Cloud:

    Página Trabajos de AI Platform Training

  2. Haz clic en el botón Trabajo de entrenamiento nuevo. En las opciones que se muestran a continuación, haz clic en Entrenamiento de algoritmos integrados.

  3. En la página Crear un trabajo de entrenamiento nuevo, selecciona BERT y haz clic en Siguiente.

  4. Si deseas obtener más información sobre todos los parámetros disponibles, sigue los vínculos en la consola de Google Cloud y consulta la referencia de BERT integrado para conocer más detalles.

gcloud

  1. Configura variables de entorno en tu trabajo. Para ello, rellena los campos [VALUES-IN-BRACKETS] con tus propios valores:

       # 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. Envía el trabajo de entrenamiento mediante gcloud ai-platform jobs training submit. Adapta este ejemplo genérico para trabajar con tu conjunto de datos:

       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. Supervisa el estado de tu trabajo de entrenamiento mediante la vista de los registros con gcloud. Consulta gcloud ai-platform jobs describe y gcloud ai-platform jobs stream-logs.

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

Más recursos de aprendizaje