Addestramento con l'impiego dell'algoritmo NCF integrato

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

L'addestramento con algoritmi integrati su AI Platform Training ti consente di inviare il tuo set di dati e addestrare un modello senza scrivere alcun codice di addestramento. In questa pagina viene spiegato come funziona l'algoritmo NCF integrato e come utilizzarlo.

Panoramica

Questo algoritmo integrato esegue solo l'addestramento:

  1. Addestramento: utilizzando il set di dati e i parametri del modello che hai fornito, AI Platform Training esegue l'addestramento utilizzando l'implementazione del NCF di TensorFlow.

Limitazioni

Le seguenti funzionalità non sono supportate per l'addestramento con l'algoritmo NCF integrato:

  • Pre-elaborazione automatica dei dati Questa versione del NCF richiede che i dati di input siano sotto forma di TFRecord per l'addestramento e l'output. È necessario creare un'applicazione di addestramento per gestire automaticamente gli input non formattati.

Tipi di macchine supportati

Sono supportati i seguenti livelli di scalabilità e tipi di macchina di AI Platform Training:

  • Livello di scalabilità BASIC
  • Livello di scalabilità BASIC_GPU
  • Livello di scalabilità BASIC_TPU
  • Livello di scalabilità CUSTOM con uno qualsiasi dei tipi di macchine di Compute Engine supportati da AI Platform Training.
  • Livello di scalabilità CUSTOM con uno qualsiasi dei seguenti tipi di macchina precedente:
    • 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 core)

Si consiglia di utilizzare un tipo di macchina con accesso a TPU o GPU.

Formattare i dati di input

Prima di addestrare il modello, verifica che i dati di input e valutazione siano sotto forma di TFRecord.

Verifica le autorizzazioni dei bucket Cloud Storage

Per archiviare i dati, utilizza un bucket Cloud Storage nello stesso progetto Google Cloud che stai utilizzando per eseguire i job di AI Platform Training. In caso contrario, concedi l'accesso ad AI Platform Training al bucket Cloud Storage in cui sono archiviati i tuoi dati.

Invia un job di addestramento NCF

Questa sezione spiega come inviare un job di addestramento utilizzando l'algoritmo NCF integrato.

Puoi trovare brevi spiegazioni di ogni iperparametri in Google Cloud Console e una spiegazione più completa nel riferimento per l'algoritmo NCF integrato.

Console

  1. Vai alla pagina Job AI Training di AI Platform in Google Cloud Console:

    Pagina dei job di addestramento AI Platform

  2. Fai clic sul pulsante Nuovo job di addestramento. Tra le opzioni visualizzate di seguito, fai clic su Addestramento dell'algoritmo integrato.

  3. Nella pagina Crea un nuovo job di addestramento, seleziona NCF e fai clic su Avanti.

  4. Per scoprire di più su tutti i parametri disponibili, segui i link in Google Cloud Console e consulta il riferimento NCF integrato per ulteriori dettagli.

gcloud

  1. Imposta le variabili di ambiente per il tuo job:

       # 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}"
    

    Sostituisci quanto segue:

    • BUCKET_NAME: il nome del bucket Cloud Storage in cui vuoi archiviare gli output di addestramento.
    • MODEL_NAME: un nome per il modello, per identificare dove vengono archiviati gli artefatti del modello nel bucket Cloud Storage.
  2. Invia il job di addestramento utilizzando gcloud ai-platform jobs training submit. Modifica questo esempio generico in modo che funzioni con il tuo set di dati:

       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. Monitora lo stato del tuo job di addestramento visualizzando i log con gcloud. Fai riferimento a gcloud ai-platform jobs describe e gcloud ai-platform jobs stream-logs.

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

Ulteriori risorse di apprendimento