Vertex AI fornisce metriche di valutazione dei modelli per aiutarti a determinare le prestazioni dei tuoi modelli, ad esempio le metriche di precisione e richiamo. Vertex AI calcola le metriche di valutazione utilizzando lo strumento di test .
Come utilizzare le metriche di valutazione del modello
Le metriche di valutazione del modello forniscono misurazioni quantitative del rendimento del modello sul set di test. L'interpretazione e l'utilizzo di queste metriche dipendono dalle esigenze aziendali e dal problema che il modello è addestrato a risolvere. Ad esempio: potresti avere una tolleranza inferiore per i falsi positivi rispetto ai falsi negativi il contrario. Questo tipo di domande determina quali metriche su cui concentrarti.
Per ulteriori informazioni sull'iterazione del modello per migliorarne il rendimento, consulta Eseguire l'iterazione del modello.
Metriche di valutazione restituite da Vertex AI
Vertex AI restituisce diverse metriche di valutazione, come precisione, richiamo e soglie di confidenza. Le metriche che Vertex AI restituisce dipendono dall'obiettivo del modello. Ad esempio, Vertex AI fornisce metriche di valutazione diverse per un modello di classificazione di immagini rispetto a un modello di rilevamento di oggetti immagine.
Un file schema, scaricabile da una posizione Cloud Storage, determina le metriche di valutazione fornite da Vertex AI per ogni scopo. La il seguente file di schema descrive le metriche di valutazione per il monitoraggio di oggetti video.
Puoi visualizzare e scaricare file di schema dal seguente Cloud Storage
località:
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC: l'area sotto la curva di precisione-richiamo (PR), chiamata anche precisione mediana. Il valore va da zero a uno, dove un valore più elevato indica un modello di qualità superiore.
- Soglia IoU: un valore di soglia Intersection over Union che determina quali previsioni restituire. Un modello restituisce previsioni pari o superiori a questo valore. Più alto è il valore soglia, più i valori del riquadro di delimitazione previsti devono essere vicini alla soglia effettiva valori del riquadro di delimitazione.
- Precisione media: nota anche come precisione media. Questo valore va da zero a uno, dove un valore più alto indica un modello di qualità superiore.
- Soglia di confidenza: un punteggio di confidenza che determina quali le previsioni da restituire. Un modello restituisce previsioni uguali o superiori a questo valore. Una soglia di confidenza più alta aumenta la precisione, ma riduce il richiamo. Vertex AI restituisce le metriche di affidabilità a diversi valori di soglia per mostrare in che modo la soglia influisce sulla precisione e sul richiamo.
- Richiamo: la frazione di previsioni con questa classe che sono state previste correttamente dal modello. Chiamato anche tasso di veri positivi.
- Precisione: la frazione delle previsioni di classificazione prodotte dalla corretto.
- Punteggio F1: la media armonica di precisione e richiamo. F1 è un'informazione utile per trovare un equilibrio tra precisione e richiamo una distribuzione non uniforme delle classi.
-
Precisione media media dei riquadri di delimitazione: la metrica singola per il riquadro di delimitazione.
valutazioni: la media di
meanAveragePrecision
su tutteboundingBoxMetrics
.
Recupero delle metriche di valutazione
Puoi ottenere un insieme aggregato di metriche di valutazione per il tuo modello e, per alcuni scopi, metriche di valutazione per una determinata classe o etichetta. Le metriche di valutazione per una determinata classe o etichetta sono note anche come sezione di valutazione. I seguenti contenuti descrivono come ottenere metriche di valutazione aggregate e segmenti di valutazione utilizzando la console o l'API Google Cloud.
Console Google Cloud
Nella console Google Cloud, nella sezione Vertex AI, vai a la pagina Modelli.
Nel menu a discesa Regione, seleziona la regione in cui si trova il modello.
Nell'elenco dei modelli, fai clic sul modello per aprire la scheda Valuta.
Nella scheda Valuta puoi visualizzare la valutazione aggregata del tuo modello. come Precisione media e Richiamo.
Se lo scopo del modello ha sezioni di valutazione, la console mostra un elenco di etichette. Puoi fare clic su un'etichetta per visualizzare le metriche di valutazione relative all'etichetta, come mostrato nell'esempio seguente:
API
Le richieste API per ottenere le metriche di valutazione sono le stesse per ogni tipo di dati e scopo, ma gli output sono diversi. I seguenti esempi mostrano la stessa richiesta, ma risposte diverse.
Ottenere le metriche di valutazione del modello aggregate
Le metriche di valutazione del modello aggregate forniscono informazioni sul modello nel suo insieme. Per visualizzare informazioni su una sezione specifica, elenca le sezioni di valutazione del modello.
Per visualizzare le metriche di valutazione del modello aggregato, utilizza
projects.locations.models.evaluations.get
.
Per la metrica del riquadro di delimitazione, Vertex AI restituisce un array di metriche valori di soglia di IoU (tra 0 e 1) e di confidenza diversi valori di soglia (compreso tra 0 e 1). Ad esempio, puoi restringere la valutazione con una soglia di IoU di 0,85 e una soglia di confidenza di 0,8228. Se visualizzate, questi diversi valori di soglia consentono di capire in che modo influiscono su altre metriche, come la precisione e il richiamo.
Seleziona una scheda corrispondente alla tua lingua o al tuo ambiente:
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: regione in cui è archiviato il modello.
- PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID della risorsa modello.
- PROJECT_NUMBER: il numero del progetto generato automaticamente.
- EVALUATION_ID: ID per la valutazione del modello (viene visualizzato nella risposta).
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Elenco di tutte le sezioni di valutazione
Il metodo
projects.locations.models.evaluations.slices.list
elenca tutte le sezioni di valutazione per il modello. Devi disporre dell'ID valutazione del modello, che puoi ottenere quando visualizzi le metriche di valutazione aggregate.
Puoi utilizzare le sezioni di valutazione del modello per determinare il rendimento del modello per un'etichetta specifica. Il campo value
indica a quale etichetta si riferiscono le metriche.
Per la metrica della casella delimitante, Vertex AI restituisce un array di valori della metrica con diversi valori di soglia IoU (tra 0 e 1) e valori di soglia di confidenza (tra 0 e 1). Ad esempio, puoi restringere la valutazione con una soglia di IoU di 0,85 e una soglia di confidenza di 0,8228. Di visualizzando questi diversi valori di soglia, puoi vedere come influiscono su come precisione e richiamo.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID del modello.
- EVALUATION_ID: ID della valutazione del modello che contiene la le sezioni di valutazione da elencare.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta API Node.js Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Ottenere le metriche per un singolo segmento
Per visualizzare le metriche di valutazione per una singola sezione, utilizza la proprietà
projects.locations.models.evaluations.slices.get
. Devi avere l'ID sezione, che viene fornito quando elenchi tutte le sezioni
sezioni. Il seguente esempio si applica a tutti i tipi di dati e scopi.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il modello. Ad esempio: us-central1.
- PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID del modello.
- EVALUATION_ID: ID della valutazione modello contenente la sezione di valutazione da recuperare.
- SLICE_ID: ID di un segmento di valutazione da ottenere.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: il nome di un file schema
che definisce le metriche di valutazione da restituire, ad esempio
classification_metrics_1.0.0
.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Esegui l'iterazione sul modello
Le metriche di valutazione del modello forniscono un punto di partenza per il debug del modello quando non soddisfa le tue aspettative. Ad esempio, precisione e richiamo bassi di addestramento possono indicare che il modello ha bisogno di ulteriori dati di addestramento etichette incoerenti. Precisione e un richiamo perfetti possono indicare che i dati di test sono troppo facili da prevedere e potrebbero non essere generalizzati.
Puoi eseguire l'iterazione dei dati di addestramento e creare un nuovo modello. Dopo aver creato un nuovo modello, puoi confrontare le metriche di valutazione tra il modello esistente e il nuovo modello.
I seguenti suggerimenti possono aiutarti a migliorare i modelli che etichettano elementi, come come modelli di classificazione o di rilevamento:
- Valuta la possibilità di aggiungere altri esempi o una gamma più ampia di esempi alla tua formazione e i dati di Google Cloud. Ad esempio, per un modello di classificazione delle immagini, potresti includere immagini da angolazioni, immagini con risoluzione superiore o inferiore o diversi punti di vista. Per ulteriori indicazioni, consulta la sezione Preparazione. dati per i tuoi dati specifici tipo e obiettivo.
- Valuta la possibilità di rimuovere classi o etichette che non hanno molti esempi. Esempi insufficienti impediscono al modello di fare previsioni coerenti e sicure su queste classi o etichette.
- Le macchine non possono interpretare il nome delle classi o delle etichette e non comprendono le sfumature tra loro, ad esempio "porta" e "porta_con_maniglia". Devi fornire dati per aiutare le macchine a riconoscere queste sfumature.
- Arricchisci i tuoi dati con più esempi di veri positivi e veri negativi, soprattutto esempi vicini a un confine decisionale per mitigare la confusione del modello.
- Specifica la suddivisione dei dati (addestramento, convalida e test). Vertex AI assegna in modo casuale gli elementi a ogni insieme. Pertanto, i quasi duplicati possono essere allocati nei set di addestramento e convalida, il che potrebbe portare a un overfitting e quindi a scarse prestazioni nel set di test. Per saperne di più su come impostare la suddivisione dei dati, consulta la sezione Informazioni sulle suddivisioni di dati per i modelli AutoML.
- Se le metriche di valutazione del modello includono una matrice di confusione, puoi vedere se il modello confonde due etichette, ovvero se prevede una determinata etichetta in misura molto maggiore rispetto all'etichetta vera. Esamina i dati e assicurati che gli esempi siano etichettati correttamente.
- Se il tempo di addestramento è breve (numero massimo di ore nodo ridotto), potresti ottenere un modello di qualità superiore consentendogli di essere addestrato per un periodo di tempo più lungo (numero massimo di ore nodo maggiore).