Entrena con el algoritmo NCF 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 integrado de NCF y cómo usarlo.

Descripción general

Este algoritmo integrado solo realiza entrenamiento:

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

Limitaciones

Las siguientes características no se admiten en el entrenamiento con el algoritmo integrado de NCF:

  • Procesamiento previo automático de datos: Esta versión de NCF requiere que los datos de entrada tengan el formato de TFRecords para el entrenamiento y los resultados. 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:

  • 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 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 NCF

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

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 de NCF.

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 NCF 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 NCF integrado para conocer 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 bucket de Cloud Storage en el que deseas que se almacenen los resultados del entrenamiento.
    • MODEL_NAME: Un nombre para tu modelo, a fin de identificar dónde se almacenan los artefactos del modelo en tu bucket 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