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:
- 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
Ve a la página Trabajos de AI Platform Training en la consola de Google Cloud:
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.
En la página Crear un trabajo de entrenamiento nuevo, selecciona NCF y haz clic en Siguiente.
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
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.
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 \
Supervisa el estado de tu trabajo de entrenamiento mediante la vista de los registros con
gcloud
. Consultagcloud ai-platform jobs describe
ygcloud 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
- Más información sobre Cloud TPU.
- Obtén más información acerca de Model Garden de TensorFlow.