L'entraînement à l'aide des algorithmes intégrés d'AI Platform Training vous permet d'envoyer votre ensemble de données et d'entraîner un modèle sans avoir à écrire un code d'entraînement. Cette page explique le fonctionnement de l'algorithme NCF intégré et explique comment l'utiliser.
Présentation
Cet algorithme intégré n'est utilisable que pour l'entraînement :
- Entraînement : avec l'ensemble de données et les paramètres de modèle fournis, AI Platform Training exécute la tâche d'entraînement à l'aide de l'implémentation NCF de Tensorflow.
Limites
Les fonctionnalités suivantes ne sont pas compatibles avec l'entraînement à l'aide de l'algorithme NCF intégré :
- Prétraitement des données automatisé : cette version de NCF nécessite que les données d'entrée soient au format TFRecords pour l'entraînement et la sortie. Une application d'entraînement doit être conçue pour gérer automatiquement les entrées non-formatées.
Types de machines compatibles
Voici les niveaux d'évolutivité et types de machines d'AI Platform Training qui sont compatibles :
- Niveau d'évolutivité
BASIC
- Niveau d'évolutivité
BASIC_GPU
- Niveau d'évolutivité
BASIC_TPU
- Niveau d'évolutivité
CUSTOM
avec n'importe lequel des types de machine Compute Engine compatible avec AI Platform Training. - Niveau d'évolutivité
CUSTOM
avec n'importe lequel des anciens types de machine suivants :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 cœurs)
Il est recommandé d'utiliser un type de machine ayant accès aux TPU ou à des GPU.
Mettre en forme les données d'entrée
Avant d'entraîner le modèle, assurez-vous que les données d'entrée et d'évaluation sont au format TFRecords.
Vérifier les autorisations du bucket Cloud Storage
Pour stocker vos données, utilisez un bucket Cloud Storage dans le projet Google Cloud que vous utilisez pour exécuter les tâches AI Platform Training. Sinon, accordez à AI Platform Training l'accès au bucket Cloud Storage où vos données sont stockées.
Envoyer une tâche d'entraînement NCF
Cette section explique comment envoyer une tâche d'entraînement à l'aide de l'algorithme NCF intégré.
Vous trouverez de brèves explications sur chaque hyperparamètre dans Google Cloud Console, ainsi qu'une explication plus complète dans la documentation de référence sur l'algorithme NCF intégré.
Console
Accédez à la page "Tâches" d'AI Platform Training dans Google Cloud Console :
Cliquez sur le bouton Nouvelle tâche d'entraînement. Dans les options qui s'affichent en dessous, cliquez sur Entraînement de l'algorithme intégré.
Sur la page Créer une nouvelle tâche d'entraînement, sélectionnez NCF, puis cliquez sur Suivant.
Pour en savoir plus sur tous les paramètres disponibles, suivez les liens présents dans Google Cloud Console, et consultez la documentation de référence sur l'algorithme NCF intégré.
gcloud
Définissez des variables d'environnement pour votre tâche :
# 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}"
Remplacez l'élément suivant :
- BUCKET_NAME : nom du bucket Cloud Storage où vous souhaitez stocker les résultats d'entraînement.
- MODEL_NAME : nom du modèle, permettant d'identifier où les artefacts de modèle sont stockés dans votre bucket Cloud Storage.
Envoyez la tâche d'entraînement à l'aide de
gcloud ai-platform jobs training submit
. Ajustez cet exemple générique pour qu'il fonctionne avec votre ensemble de données :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 \
Surveillez l'état de votre tâche d'entraînement en consultant les journaux avec
gcloud
. Reportez-vous aux commandesgcloud ai-platform jobs describe
etgcloud ai-platform jobs stream-logs
.gcloud ai-platform jobs describe ${JOB_ID} gcloud ai-platform jobs stream-logs ${JOB_ID}
Autres ressources d'apprentissage
- En savoir plus sur Cloud TPU
- En savoir plus sur TensorFlow Model Garden.