Questa pagina mostra come ottenere spiegazioni e previsioni online (in tempo reale) dai modelli di classificazione o regressione tabulari utilizzando la console Google Cloud o l'API Vertex AI.
Una previsione online è una richiesta sincrona, anziché una previsione batch, che è una richiesta asincrona. Utilizza le previsioni online quando effettui richieste in risposta all'input dell'applicazione o in altre situazioni in cui hai bisogno di un'inferenza tempestiva.
Devi eseguire il deployment di un modello in un endpoint prima di poterlo usare per fornire previsioni online. Il deployment di un modello associa risorse fisiche al modello in modo che possa fornire previsioni online con bassa latenza.
Gli argomenti trattati sono:
- Deployment di un modello in un endpoint
- Ottieni una previsione online utilizzando il modello di cui hai eseguito il deployment
Prima di iniziare
Prima di poter ottenere previsioni online, devi prima addestrare un modello.
esegui il deployment di un modello in un endpoint
Puoi eseguire il deployment di più modelli in un endpoint e puoi eseguire il deployment di un modello in più di un endpoint. Per ulteriori informazioni sulle opzioni e sui casi d'uso per il deployment dei modelli, consulta Informazioni sul deployment dei modelli.
Utilizza uno dei seguenti metodi per eseguire il deployment di un modello:
Console Google Cloud
Nella console Google Cloud, nella sezione Vertex AI, vai a la pagina Modelli.
Fai clic sul nome del modello di cui vuoi eseguire il deployment per aprire la relativa pagina dei dettagli.
Seleziona la scheda Deployment e test.
Se il modello è già stato implementato in uno o più endpoint, questi sono elencati nella sezione Esegui il deployment del modello.
Fai clic su Esegui il deployment nell'endpoint.
Nella pagina Definisci il tuo endpoint, configura come segue:
Puoi scegliere di eseguire il deployment del modello su un endpoint nuovo o esistente.
- Per eseguire il deployment del modello in un nuovo endpoint, seleziona Crea nuovo endpoint e specificare un nome per il nuovo endpoint.
- Per eseguire il deployment del modello in un endpoint esistente, seleziona Aggiungi a endpoint esistente e seleziona l'endpoint dall'elenco a discesa.
- Puoi aggiungere più di un modello a un endpoint e aggiungerne uno a più di un endpoint. Scopri di più.
Fai clic su Continua.
Nella pagina Impostazioni modello, configura come segue:
-
Se esegui il deployment del modello in un nuovo endpoint, accetta 100 per il Suddivisione traffico. Se esegui il deployment del modello in un endpoint esistente in cui sono già stati dipiazzati uno o più modelli, devi aggiornare la percentuale di Suddivisione traffico per il modello di cui stai eseguendo il deployment e per i modelli già dipiazzati in modo che tutte le percentuali sommino al 100%.
-
Inserisci il numero minimo di nodi di computing che vuoi fornire. del modello.
Questo è il numero di nodi disponibili per questo modello in qualsiasi momento. Ti vengono addebitati i nodi utilizzati, se gestire il carico della previsione o per i nodi in standby (minimo), anche senza traffico di previsione. Consulta la pagina dei prezzi.
-
Seleziona il tipo di macchina.
Risorse di macchine più grandi aumenteranno le prestazioni di previsione e i costi.
-
Scopri come modificare le impostazioni predefinite per il logging delle previsioni.
-
Fai clic su Continua.
-
Nella pagina Monitoraggio del modello, fai clic su Continua.
Nella pagina Obiettivi di Monitoring, configura come segue:
- Inserisci la località dei dati di addestramento.
- Inserisci il nome della colonna di destinazione.
Fai clic su Esegui il deployment per eseguire il deployment del modello nell'endpoint.
API
Quando esegui il deployment di un modello utilizzando l'API Vertex AI, completi seguenti passaggi:
- Se necessario, crea un endpoint.
- Recupera l'ID endpoint.
- Eseguire il deployment del modello nell'endpoint.
Creazione di un endpoint
Se esegui il deployment di un modello in un endpoint esistente, puoi saltare questo passaggio.
gcloud
Nell'esempio seguente viene utilizzato il comando gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
Sostituisci quanto segue:
- LOCATION_ID: la regione in cui utilizzi Vertex AI.
ENDPOINT_NAME: il nome visualizzato dell'endpoint.
Lo strumento Google Cloud CLI potrebbe richiedere alcuni secondi per creare l'endpoint.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo ID progetto.
- ENDPOINT_NAME: il nome visualizzato dell'endpoint.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corpo JSON della richiesta:
{ "display_name": "ENDPOINT_NAME" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
.
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 maggiori informazioni, consulta Configurare 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 API Node.js Vertex AI documentazione di riferimento.
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, vedi Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Recupera l'ID endpoint
Per eseguire il deployment del modello, devi disporre dell'ID endpoint.
gcloud
Nell'esempio seguente viene utilizzato il comando gcloud ai endpoints list
:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
Sostituisci quanto segue:
- LOCATION_ID: la regione in cui utilizzi Vertex AI.
ENDPOINT_NAME: il nome visualizzato dell'endpoint.
Prendi nota del numero visualizzato nella colonna
ENDPOINT_ID
. Usa questo ID nel campo successivo.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la regione in cui utilizzi Vertex AI.
- PROJECT_ID: il tuo ID progetto.
- ENDPOINT_NAME: il nome visualizzato dell'endpoint.
Metodo HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
Esegui il deployment del modello
Seleziona di seguito la scheda per la tua lingua o il tuo ambiente:
gcloud
Nei seguenti esempi viene utilizzato il comando gcloud ai endpoints deploy-model
.
L'esempio seguente esegue il deployment di un Model
in un Endpoint
senza utilizzare GPU per accelerare l'invio di previsioni e senza suddividere il traffico tra più risorse DeployedModel
:
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
- ENDPOINT_ID: l'ID dell'endpoint.
- LOCATION_ID: la regione in cui stai utilizzando Vertex AI.
- MODEL_ID: l'ID del modello da implementare.
-
DEPLOYED_MODEL_NAME: un nome per il
DeployedModel
. Puoi utilizzare il nome visualizzato delModel
anche perDeployedModel
. -
MACHINE_TYPE: facoltativo. Le risorse macchina utilizzate per ogni nodo
e deployment continuo. L'impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchina. -
MIN_REPLICA_COUNT: numero minimo di nodi per questo deployment.
Il numero di nodi può essere aumentato o diminuito in base al carico della previsione, fino al numero massimo di nodi e mai meno di questo numero.
Questo valore deve essere maggiore o uguale a 1. Se il flag
--min-replica-count
viene omesso, il valore predefinito è 1. -
MAX_REPLICA_COUNT: il numero massimo di nodi per questo deployment.
Il numero di nodi può essere aumentato o diminuito in base al carico della previsione, fino a questo numero di nodi e mai inferiore al numero minimo di nodi.
Se ometti il flag
--max-replica-count
: il numero massimo di nodi è impostato sul valore di--min-replica-count
.
Esegui il comando gcloud ai endpoints deploy-model :
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Suddivisione del traffico
Il flag --traffic-split=0=100
negli esempi precedenti invia il 100% del traffico di previsione ricevuto da Endpoint
al nuovo DeployedModel
, rappresentato dall'ID temporaneo 0
. Se il tuo Endpoint
ha già altri
DeployedModel
risorse, quindi puoi suddividere il traffico tra le nuove risorse
DeployedModel
e quelli precedenti.
Ad esempio, per inviare il 20% del traffico al nuovo DeployedModel
e l'80% a uno precedente,
esegui il seguente comando.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
- OLD_DEPLOYED_MODEL_ID: l'ID dell'attuale
DeployedModel
.
Esegui la gcloud ai endpoint deploy-model :
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST
Puoi utilizzare endpoints.predict per richiedere una previsione online.
Esegui il deployment del modello.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la regione in cui stai utilizzando Vertex AI.
- PROJECT_ID: il tuo ID progetto.
- ENDPOINT_ID: l'ID dell'endpoint.
- MODEL_ID: l'ID del modello di cui eseguire il deployment.
-
DEPLOYED_MODEL_NAME: un nome per il
DeployedModel
. Puoi utilizzare il nome visualizzato delModel
anche perDeployedModel
. -
MACHINE_TYPE: facoltativo. Le risorse macchina utilizzate per ogni nodo
e deployment continuo. L'impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchine. - ACCELERATOR_TYPE: il tipo di acceleratore da collegare alla macchina. Facoltativo se ACCELERATOR_COUNT non è specificato o è pari a zero. Sconsigliato per Modelli AutoML o modelli addestrati personalizzati che utilizzano immagini non GPU. Scopri di più.
- ACCELERATOR_COUNT: il numero di acceleratori da utilizzare per ogni replica. Facoltativo. Deve essere zero o non specificato per i modelli AutoML o i modelli con addestramento personalizzato che utilizzano immagini non GPU.
- MIN_REPLICA_COUNT: il numero minimo di nodi per questo deployment. Il numero di nodi può essere aumentato o diminuito in base al carico della previsione, fino al numero massimo di nodi e mai meno di questo numero. Questo valore deve essere maggiore o uguale a 1.
- MAX_REPLICA_COUNT: il numero massimo di nodi per questo deployment. Il numero di nodi può essere aumentato o diminuito in base al carico della previsione, fino a questo numero di nodi e mai inferiore al numero minimo di nodi.
- TRAFFIC_SPLIT_THIS_MODEL: la percentuale del traffico di previsione verso questo endpoint da indirizzare al modello di cui viene eseguito il deployment con questa operazione. Il valore predefinito è 100. Tutto il traffico la somma delle percentuali deve essere 100. Scopri di più sulle suddivisioni del traffico.
- DEPLOYED_MODEL_ID_N: facoltativo. Se in questo endpoint sono di cui è stato eseguito il deployment di altri modelli, devi aggiornare le relative percentuali di suddivisione del traffico in modo che tutte le percentuali sommate diano 100.
- TRAFFIC_SPLIT_MODEL_N: il valore percentuale di suddivisione del traffico per l'ID del modello di cui è stato eseguito il deployment chiave.
- PROJECT_NUMBER: il numero di progetto generato automaticamente del progetto
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
Corpo JSON della richiesta:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
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 API Java Vertex AI documentazione di riferimento.
Per autenticarti in Vertex AI, configura le 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, vedi Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
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 maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Scopri come modificare le impostazioni predefinite per il logging delle previsioni.
Ottieni stato dell'operazione
Alcune richieste avviano operazioni a lunga esecuzione che richiedono tempo per essere completate. Queste richieste restituiscono un nome dell'operazione, che puoi utilizzare per visualizzarne lo stato o annullarla. Vertex AI offre metodi helper per effettuare chiamate a operazioni a lunga esecuzione. Per ulteriori informazioni, consulta la sezione Utilizzo di modelli operazioni.
Ottieni una previsione online utilizzando il modello di cui hai eseguito il deployment
Per fare una previsione online, invia uno o più elementi di test a un modello per analizzarli e il modello restituisce risultati in base al suo scopo. Utilizza la console Google Cloud o l'API Vertex AI per richiedere un la previsione online.
Console Google Cloud
Nella console Google Cloud, nella sezione Vertex AI, vai alla pagina Modelli.
Nell'elenco dei modelli, fai clic sul nome del modello da cui richiedere le previsioni.
Seleziona la casella di controllo Deploy & scheda di test.
Nella sezione Testa il modello, aggiungi elementi di test per richiedere un la previsione. I dati di previsione di riferimento sono compilati automaticamente oppure inserire i tuoi dati di previsione e fare clic su Prevedi.
Una volta completata la previsione, Vertex AI restituisce i risultati in la console.
API: classificazione
gcloud
-
Crea un file denominato
request.json
con i seguenti contenuti:{ "instances": [ { PREDICTION_DATA_ROW } ] }
Sostituisci quanto segue:
-
PREDICTION_DATA_ROW: un oggetto JSON con le chiavi come nomi delle funzionalità e i valori come valori delle funzionalità corrispondenti. Ad esempio, per un set di dati con un numero, un array di stringhe e una categoria, la riga di dati potrebbe avere il seguente aspetto:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
È necessario fornire un valore per ogni caratteristica inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere a quello utilizzato per l'addestramento. Consulta Formato dei dati per le previsioni per maggiori dettagli.
-
-
Esegui questo comando:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Sostituisci quanto segue:
- ENDPOINT_ID: l'ID dell'endpoint.
- LOCATION_ID: la regione in cui stai utilizzando Vertex AI.
REST
Puoi utilizzare endpoints.predict per richiedere una previsione online.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
LOCATION_ID: regione in cui si trova l'endpoint. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto.
- ENDPOINT_ID: l'ID dell'endpoint.
-
PREDICTION_DATA_ROW: un oggetto JSON con le chiavi come nomi delle funzionalità e i valori come valori delle funzionalità corrispondenti. Ad esempio, per un set di dati con un numero, un array di stringhe e una categoria, la riga di dati potrebbe essere simile alla seguente richiesta di esempio:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
È necessario fornire un valore per ogni caratteristica inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Per informazioni dettagliate, consulta Formato dei dati per le previsioni.
- DEPLOYED_MODEL_ID: output tramite il metodo
predict
. L'ID del modello utilizzato per generare la previsione.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
Corpo JSON della richiesta:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "predictions": [ { "scores": [ 0.96771615743637085, 0.032283786684274673 ], "classes": [ "0", "1" ] } ] "deployedModelId": "2429510197" }
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 eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 API Node.js Vertex AI documentazione di riferimento.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per maggiori 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.
API: regressione
gcloud
-
Crea un file denominato "request.json" con i seguenti contenuti:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Sostituisci quanto segue:
-
PREDICTION_DATA_ROW: un oggetto JSON con chiavi come nomi delle funzionalità e valori come i valori delle caratteristiche corrispondenti. Ad esempio, per un set di dati con un numero, un array di numeri e una categoria, la riga di dati potrebbe avere il seguente aspetto:
"age":3.6, "sq_ft":5392, "code": "90331"
È necessario specificare un valore per ogni caratteristica inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Per informazioni dettagliate, consulta Formato dei dati per le previsioni.
-
-
Esegui questo comando:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Sostituisci quanto segue:
- ENDPOINT_ID: l'ID dell'endpoint.
- LOCATION_ID: la regione in cui stai utilizzando Vertex AI.
REST
Utilizza il metodo endpoints.predict per richiedere una previsione online.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
LOCATION_ID: regione in cui si trova l'endpoint. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto.
- ENDPOINT_ID: l'ID dell'endpoint.
-
PREDICTION_DATA_ROW: un oggetto JSON con le chiavi come nomi delle funzionalità e i valori come valori delle funzionalità corrispondenti. Ad esempio, per un set di dati con un numero, un array di numeri e una categoria, la riga di dati potrebbe avere il seguente aspetto:
"age":3.6, "sq_ft":5392, "code": "90331"
È necessario fornire un valore per ogni caratteristica inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Consulta Formato dei dati per le previsioni per maggiori dettagli.
- DEPLOYED_MODEL_ID: output tramite il metodo
predict
. L'ID del utilizzato per generare la previsione.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
Corpo JSON della richiesta:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "predictions": [ [ { "value": 65.14233 } ] ], "deployedModelId": "DEPLOYED_MODEL_ID" }
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 API Java Vertex AI documentazione di riferimento.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 API Node.js Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Python.
Interpretare i risultati delle previsioni
Classificazione
I modelli di classificazione restituiscono un punteggio di confidenza.
Il punteggio di confidenza indica il livello di associazione di ogni modello una classe o un'etichetta con un elemento di test. Più alto è il numero, più alto è il valore con la certezza che l'etichetta deve essere applicata all'elemento. Sei tu a decidere quanto deve essere alto il punteggio di affidabilità per accettare i risultati del modello.
Regressione
I modelli di regressione restituiscono un valore di previsione.
Se il modello utilizza l'inferenza probabilistica, il campo value
contiene il minimizzatore dell'obiettivo di ottimizzazione. Ad esempio, se la tua ottimizzazione
l'obiettivo è minimize-rmse
, il campo value
contiene il valore medio.
Se è minimize-mae
, il campo value
contiene il valore mediano.
Se il modello utilizza l'inferenza probabilistica con quantili, Vertex AI fornisce valori e previsioni dei quantili oltre al minimo dell'obiettivo di ottimizzazione. I valori quantili vengono impostati durante l'addestramento del modello. Le predizioni quantili sono i valori di previsione associati ai valori quantili.
TabNet offre un'interpretabilità intrinseca del modello fornendo agli utenti informazioni sulle funzionalità utilizzate per prendere la decisione. L'algoritmo utilizza attenzione, che impara a migliorare selettivamente l'influenza alcune caratteristiche, riducendo al tempo stesso l'influenza di altre attraverso un media. Per una determinata decisione, TabNet decide in modo graduale quanto attribuire di importanza a ogni caratteristica. Combina poi tutti i passaggi per creare una previsione finale. L'attenzione è moltiplicativa, dove valori più elevati indicano che l'elemento ha svolto un ruolo maggiore nella previsione e un valore pari a zero indica che l'elemento non ha svolto alcun ruolo nella decisione. Poiché TabNet utilizza più fasi decisionali, l'attenzione prestata alle funzionalità in tutte le fasi viene combinata in modo lineare dopo una scalatura appropriata. Questa combinazione lineare in tutti i passaggi decisionali di TabNet è l'importanza totale della funzionalità fornita da TabNet.
Output di esempio per le previsioni
Il payload restituito per una previsione online con importanza delle caratteristiche da un di regressione lineare è simile al seguente esempio.
{
"predictions":[
{
"value":0.3723912537097931,
"feature_importance":{
"MSSubClass":0.12,
"MSZoning":0.33,
"LotFrontage":0.27,
"LotArea":0.06,
...
}
}
]
}
Passaggi successivi
- Scopri come esportare il modello.
- Scopri di più sui prezzi delle previsioni online.