Realizar entrenamiento con el algoritmo NCF integrado

El entrenamiento con algoritmos integrados en AI Platform Training te permite enviar tu 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 integrado de NCF y cómo usarlo.

Descripción general

Este algoritmo integrado solo realiza entrenamientos:

  1. Entrenamiento: Con el conjunto de datos y los parámetros del modelo que suministraste, en AI Platform Training se ejecuta el entrenamiento con la implementación de NCF de TensorFlow.

Limitaciones

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

  • Procesamiento previo de datos automatizado Esta versión de NCF requiere que los datos de entrada estén en forma de TFRecords para capacitación y salida. Se debe realizar una aplicación de entrenamiento para manejar las entradas sin formato automáticamente.

Tipos de máquina admitidos

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

  • Nivel de escala BASIC
  • Nivel de escala BASIC_GPU
  • Nivel de escala BASIC_TPU
  • Nivel de escala CUSTOM con cualquiera de los tipos de máquina de Compute Engine compatibles con AI Platform Training.
  • Nivel de escala CUSTOM con cualquiera de los siguientes tipos de máquinas heredadas:
    • 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 núcleos)

Se recomienda que se use un tipo de máquina con acceso a TPU o GPU.

Establece el formato de los datos de entrada

Asegúrate de que los datos de entrada y evaluación estén en forma 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 NCF

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

Puedes encontrar explicaciones breves de cada hiperparámetro en Google Cloud Console y una explicación más completa en la referencia para el algoritmo integrado de NCF.

Console

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

    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 Crea un trabajo de entrenamiento nuevo, selecciona NF y haz clic en Siguiente.

  4. Para obtener más información sobre todos los parámetros disponibles, sigue los vínculos en Google Cloud Console y consulta la referencia del NCF integrado para obtener más detalles.

gcloud

  1. Configura las variables de entorno para tu trabajo:

       # 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/ncf:latest'
    
       # Specify the Cloud Storage path to your training input data.
       DATA_DIR='gs://$BUCKET_NAME/ncf_data'
    
       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}"
    

    Reemplaza lo siguiente:

    • BUCKET_NAME: El nombre del depósito de Cloud Storage en el que quieres que se almacenen los resultados de entrenamiento.
    • MODEL_NAME: un nombre para tu modelo a fin de identificar dónde se almacenan los artefactos de modelo en tu depósito de Cloud Storage.
  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 \
          -- \
          --train_dataset_path=${DATA_DIR}/training_cycle_*/* \
          --eval_dataset_path=${DATA_DIR}/eval_data/* \
          --input_meta_data_path=${DATA_DIR}/metadata \
          --learning_rate=3e-5 \
          --train_epochs=3 \
          --eval_batch_size=160000 \
          --learning_rate=0.00382059 \
          --beta1=0.783529 \
          --beta2=0.909003 \
          --epsilon=1.45439e-07 \
          --num_factors=64 \
          --hr_threshold=0.635 \
          --keras_use_ctl=true \
          --layers=256,256,128,64 \
    
  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