Gestione di modelli e job

Durante il processo di addestramento e deployment dei modelli e di generazione delle previsioni, devi gestire le risorse sulla Google Cloud Platform. Questa pagina descrive come utilizzare modelli, versioni e job.

Denominazione delle risorse di previsione di AI Platform

Devi specificare un nome per ogni job che crei. Le regole per la denominazione sono coerenti per tutti e tre i tipi di risorse. Ogni nome:

  • Può contenere solo lettere, numeri e trattini bassi.
  • Fa distinzione tra maiuscole e minuscole.
  • Deve iniziare con una lettera.
  • Non deve contenere più di 128 caratteri.
  • Deve essere univoco all'interno del relativo spazio dei nomi (il progetto per modelli e job, il modello principale per le versioni).

Devi creare nomi facili da distinguere negli elenchi di risorse, ad esempio i log dei job. Ecco alcuni suggerimenti:

  • Assegna un nome a tutti i job relativi allo stesso modello utilizzando il nome del modello e un indice del job (il timestamp al momento della creazione del job funziona correttamente).
  • Assegna un nome ai modelli in modo che siano facilmente identificabili dal set di dati che utilizzano (census_wide_deep di solito è migliore di my_new_model, ad esempio).
  • Le versioni sono migliori se facilmente leggibili. Anziché utilizzare un timestamp o un valore univoco simile, ti consigliamo di utilizzare classificatori di versioni semplici come v1.

Gestione dei modelli

Le risorse del modello in AI Platform Prediction sono container logici per le singole implementazioni del modello di machine learning. Sono le risorse più semplici con cui lavorare, perché non hanno operazioni complesse o risorse aggiuntive da allocare e gestire.

La seguente tabella riassume le operazioni del modello ed elenca le interfacce che puoi utilizzare per eseguirle:

Operazione Interfacce Note
crea projects.models.create
gcloud ai-platform models create
Crea modello nella pagina Modelli di previsione di AI Platform.
elimina projects.models.delete

L'eliminazione di un modello è un'operazione a lunga esecuzione.

Al modello non deve essere associata alcuna versione prima di poter essere eliminato.

gcloud ai-platform models delete
Elimina nell'elenco Modelli o nella pagina Dettagli modello.
get projects.models.get

Le informazioni che ricevi sono descritte nel riferimento alle risorse Model.

gcloud ai-platform models describe
Pagina Dettagli modello (inserisci un link dall'elenco Modelli).
list projects.models.list
gcloud ai-platform models list
Pagina dei modelli di previsione di AI Platform.

Gestione delle versioni

Le versioni sono iterazioni specifiche dei tuoi modelli. Il fulcro di una versione di un modello è un SavingModel di TensorFlow.

La seguente tabella riassume le operazioni sulle versioni ed elenca le interfacce che puoi utilizzare per eseguirle:

Operazione Interfacce Note
crea projects.models.versions.create

Per creare una versione è in corso il deployment di un SavingModel in AI Platform Prediction. Per saperne di più, consulta la guida al deployment dei modelli.

gcloud ai-platform versions create
Crea versione nella pagina Dettagli modello (inserisci un link dall'elenco Modelli).
elimina projects.models.versions.delete

L'eliminazione di una versione è un'operazione a lunga esecuzione.

Non puoi eliminare la versione predefinita di un modello a meno che non sia l'unica versione assegnata a quel modello.

gcloud ai-platform versions delete
Elimina nell'elenco Versioni della pagina Dettagli modello.
get projects.models.versions.get

Le informazioni che ricevi sono descritte nel riferimento alle risorse Version.

gcloud ai-platform versions describe
Pagina Dettagli versione (da un link nell'elenco Versioni della pagina Dettagli modello.
list projects.models.versions.list
gcloud ai-platform versions list
Elenco Versioni nella pagina Dettagli modello.
setDefault projects.models.versions.setDefault

Questo è l'unico modo per assegnare una nuova versione predefinita a un modello; dopo la prima versione, la creazione di una versione non rende la nuova versione predefinita.

gcloud ai-platform versions set-default
Imposta come predefinita nell'elenco Versioni della pagina Dettagli modello.

Gestione dei job

AI Platform Prediction supporta due tipi di job: addestramento e previsione batch. I dettagli di ciascun tipo sono diversi, ma l'operazione di base è la stessa.

La seguente tabella riassume le operazioni del job ed elenca le interfacce che puoi utilizzare per eseguirle:

Operazione Interfacce Note
crea projects.jobs.create

La creazione di un job è descritta in dettaglio nelle guide di addestramento e previsione batch.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Nessuna implementazione della console.
annulla projects.jobs.cancel

Annulla un job in esecuzione.

gcloud ai-platform jobs cancel

Annulla nella pagina Dettagli job.
get projects.jobs.get Le informazioni che ricevi sono descritte nel riferimento alle risorse Jobs.

gcloud ai-platform jobs describe

Pagina Dettagli job (inserisci con un link dall'elenco Job).
list projects.jobs.list Verranno visualizzati solo i job creati negli ultimi 90 giorni.

gcloud ai-platform jobs list

Elenco job.

Gestione delle operazioni asincrone

La maggior parte delle operazioni di gestione delle risorse di AI Platform Prediction torna il più rapidamente possibile e fornisce una risposta completa. Tuttavia, esistono due tipi di operazioni asincrone che è necessario comprendere: job e operazioni a lunga esecuzione.

Quando avvii un'operazione asincrona, in genere vuoi sapere quando viene completata. Il processo per ottenere lo stato è diverso per i job e le operazioni a lunga esecuzione:

Recupero dello stato di un lavoro

Puoi utilizzare projects.jobs.get per ottenere lo stato di un job. Questo metodo è fornito anche come gcloud ai-platform jobs describe e nella pagina Job della console Google Cloud. Indipendentemente da come ottieni lo stato, le informazioni si basano sui membri della risorsa Job. Saprai che il job è stato completato quando Job.state nella risposta è uguale a uno di questi valori:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Recupero dello stato di un'operazione a lunga esecuzione

AI Platform Prediction ha tre operazioni a lunga esecuzione:

  • Creazione di una versione
  • Eliminazione di un modello
  • Eliminazione di una versione

Tra le operazioni a lunga esecuzione, solo la creazione di una versione potrebbe richiedere molto tempo per il completamento. L'eliminazione di modelli e versioni viene in genere eseguita quasi in tempo reale.

Se crei una versione utilizzando Google Cloud CLI o la console Google Cloud, l'interfaccia ti informa automaticamente al termine dell'operazione. Se crei una versione con l'API, puoi monitorare autonomamente lo stato dell'operazione:

  1. Ottieni il nome dell'operazione assegnato dal servizio dall'oggetto Operation nella risposta alla chiamata a projects.models.versions.create. La chiave per il valore del nome è "name".

  2. Utilizza projects.operations.get per eseguire periodicamente il polling dello stato dell'operazione.

    1. Utilizza il nome dell'operazione del primo passaggio per formare una stringa nome del modulo:

      'projects/my_project/operations/operation_name'
      

      Il messaggio di risposta contiene un oggetto Operation.

    2. Ottieni il valore per la chiave "done". Questo è un indicatore booleano del completamento dell'operazione. È vero se l'operazione è completata.

  3. L'oggetto Operation includerà una delle due chiavi al completamento:

    • La chiave "response" è presente se l'operazione è riuscita. Il suo valore dovrebbe essere google.protobuf.Vuoto, poiché nessuna delle operazioni a lunga esecuzione di AI Platform Prediction contiene oggetti di risposta.

    • La chiave "error" è presente in caso di errore. Il suo valore è un oggetto Status.

Passaggi successivi