Questa pagina mostra come ottenere previsioni e spiegazioni online (in tempo reale) dai modelli di classificazione tabulare o regressione 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 è necessaria un'inferenza tempestiva.
Devi eseguire il deployment di un modello su un endpoint prima che possa essere utilizzato per fornire previsioni online. Il deployment di un modello associa le risorse fisiche al modello in modo che possa fornire previsioni online con bassa latenza.
Gli argomenti trattati sono:
- Esegui il deployment di un modello su 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 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 sezione Vertex AI della console Google Cloud, vai alla 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 deployment del modello è già stato eseguito in eventuali endpoint, questi saranno elencati nella sezione Esegui il deployment del modello.
Fai clic su Deployment su endpoint.
Nella pagina Definisci l'endpoint, esegui la configurazione come segue:
Puoi scegliere di eseguire il deployment del modello su un endpoint nuovo o su uno esistente.
- Per eseguire il deployment del modello su un nuovo endpoint, seleziona Crea nuovo endpoint e specifica un nome per il nuovo endpoint.
- Per eseguire il deployment del modello su 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, nonché aggiungere un modello a più di un endpoint. Scopri di più.
Fai clic su Continua.
Nella pagina Impostazioni modello, esegui la configurazione come segue:
-
Se esegui il deployment del modello in un nuovo endpoint, accetta 100 per la suddivisione del traffico. Se esegui il deployment del modello su un endpoint esistente in cui è stato eseguito il deployment di uno o più modelli, devi aggiornare la percentuale di suddivisione del traffico per il modello di cui stai eseguendo il deployment e per i modelli già distribuiti, in modo che la somma di tutte le percentuali corrisponda al 100%.
-
Inserisci il numero minimo di nodi di computing che vuoi fornire per il modello.
Si tratta del numero di nodi sempre disponibili per il modello. Ti viene addebitato il costo dei nodi utilizzati, che sia per gestire il carico di previsione o per i nodi in standby (minimo), anche senza traffico di previsione. Consulta la pagina relativa ai prezzi.
-
Seleziona il Tipo di macchina.
Le risorse delle macchine più grandi aumenteranno le prestazioni di previsione e aumenteranno 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 monitoraggio, esegui la configurazione 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, devi completare i seguenti passaggi:
- Crea un endpoint, se necessario.
- 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, effettua 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 di queste 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 di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione 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 di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione 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, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Recupera l'ID endpoint
È necessario l'ID endpoint per eseguire il deployment del modello.
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 riportato nella colonna
ENDPOINT_ID
. Utilizza questo ID nel passaggio seguente.
REST
Prima di utilizzare i dati della richiesta, effettua 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 la scheda seguente per la tua lingua o il tuo ambiente:
gcloud
Negli esempi seguenti viene utilizzato il comando gcloud ai endpoints deploy-model
.
L'esempio seguente esegue il deployment di un oggetto Model
in un Endpoint
senza utilizzare GPU per accelerare la fornitura delle 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 utilizzi Vertex AI.
- MODEL_ID: l'ID del modello di cui eseguire il deployment.
-
DEPLOYED_MODEL_NAME: un nome per
DeployedModel
. Puoi utilizzare anche il nome visualizzato diModel
perDeployedModel
. -
MACHINE_TYPE: facoltativo. Le risorse macchina utilizzate per ogni nodo di questo deployment. La sua impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchina. -
MIN_REPLICA_COUNT: il numero minimo di nodi per questo deployment.
Il numero di nodi può essere aumentato o diminuito in base alle esigenze del 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 sarà 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 di 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à altre
risorse DeployedModel
, puoi suddividere il traffico tra la nuova
DeployedModel
e quella precedente.
Ad esempio, per inviare il 20% del traffico al nuovo DeployedModel
e l'80% a uno meno recente, esegui questo comando.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
- OLD_DEPLOYED_MODEL_ID: l'ID dell'elemento
DeployedModel
esistente.
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=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
Utilizzerai il metodo 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 utilizzi 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
DeployedModel
. Puoi utilizzare anche il nome visualizzato diModel
perDeployedModel
. -
MACHINE_TYPE: facoltativo. Le risorse macchina utilizzate per ogni nodo di questo deployment. La sua impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchina. - ACCELERATOR_TYPE: il tipo di acceleratore da collegare alla macchina. Facoltativo se ACCELERATOR_COUNT non è specificato o è pari a zero. Opzione non consigliata per i modelli AutoML o per i modelli con addestramento personalizzato che utilizzano immagini non GPU. Scopri di più.
- ACCELERATOR_COUNT: il numero di acceleratori da utilizzare per ogni replica. Facoltativo. Il valore deve essere zero o non specificato per i modelli AutoML o per i modelli addestrati personalizzati 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 alle esigenze del 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 di 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 instradare al modello di cui viene eseguito il deployment con questa operazione. Il valore predefinito è 100. La somma di tutte le percentuali di traffico deve essere pari a 100. Scopri di più sulle suddivisioni del traffico.
- DEPLOYED_MODEL_ID_N: facoltativo. Se viene eseguito il deployment di altri modelli in questo endpoint, devi aggiornare le percentuali di suddivisione del traffico in modo che la somma delle percentuali corrisponda a 100.
- TRAFFIC_SPLIT_MODEL_N: il valore percentuale di suddivisione del traffico per la chiave ID modello di cui è stato eseguito il deployment.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo 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 di queste 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 di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione 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, consulta 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 di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le 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 operazione
Alcune richieste avviano operazioni a lunga esecuzione il cui completamento richiede tempo. Queste richieste restituiscono un nome operazione, che puoi utilizzare per visualizzare lo stato dell'operazione o per annullarla. Vertex AI fornisce metodi helper per effettuare chiamate a operazioni a lunga esecuzione. Per maggiori informazioni, consulta Operazioni a lunga esecuzione.
Ottieni una previsione online utilizzando il modello di cui hai eseguito il deployment
Per eseguire una previsione online, invia uno o più elementi di test a un modello per l'analisi: il modello restituirà risultati basati sull'obiettivo del modello. Utilizza la console Google Cloud o l'API Vertex AI per richiedere una previsione online.
Console Google Cloud
Nella sezione Vertex AI della console Google Cloud, vai alla pagina Modelli.
Nell'elenco dei modelli, fai clic sul nome del modello da cui richiedere le previsioni.
Seleziona la scheda Deployment e test.
Nella sezione Testa il modello, aggiungi elementi di test per richiedere una previsione. I dati di previsione di base vengono compilati automaticamente. In alternativa, puoi inserire i tuoi dati di previsione e fare clic su Previsione.
Al termine della previsione, Vertex AI restituisce i risultati nella console.
API: Classificazione
gcloud
-
Crea un file denominato
request.json
con il seguente contenuto:{ "instances": [ { PREDICTION_DATA_ROW } ] }
Sostituisci quanto segue:
-
PREDICTION_DATA_ROW: un oggetto JSON con chiavi come nomi e valori delle funzionalità 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 la seguente:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
È necessario specificare un valore per ogni funzionalità inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Per maggiori dettagli, 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 utilizzi Vertex AI.
REST
Utilizzerai il metodo endpoints.predict per richiedere una previsione online.
Prima di utilizzare i dati della richiesta, effettua 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 chiavi come nomi e valori delle funzionalità 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 la seguente:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
È necessario specificare un valore per ogni funzionalità inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Per maggiori dettagli, consulta Formato dei dati per le previsioni.
- DEPLOYED_MODEL_ID: output con 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:
arricciatura
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
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 di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione 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 di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione 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, consulta 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 contenuti seguenti:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Sostituisci quanto segue:
-
PREDICTION_DATA_ROW: un oggetto JSON con chiavi come nomi e valori delle funzionalità 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 essere la seguente:
"age":3.6, "sq_ft":5392, "code": "90331"
È necessario specificare un valore per ogni funzionalità inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Per maggiori dettagli, 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 utilizzi Vertex AI.
REST
Utilizzerai il metodo endpoints.predict per richiedere una previsione online.
Prima di utilizzare i dati della richiesta, effettua 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 chiavi come nomi e valori delle funzionalità 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 essere la seguente:
"age":3.6, "sq_ft":5392, "code": "90331"
È necessario specificare un valore per ogni funzionalità inclusa nell'addestramento. Il formato dei dati utilizzati per la previsione deve corrispondere al formato utilizzato per l'addestramento. Per maggiori dettagli, consulta Formato dei dati per le previsioni.
- DEPLOYED_MODEL_ID: output con 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:
arricciatura
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
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": [ [ { "value": 65.14233 } ] ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione 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 di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione 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, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Interpreta i risultati delle previsioni
Classificazione
I modelli di classificazione restituiscono un punteggio di confidenza.
Il punteggio di affidabilità indica in che misura il modello associa ogni classe o etichetta a un elemento di test. Più elevato è il numero, maggiore è il livello di confidenza del modello che l'etichetta deve essere applicata a quell'elemento. Decidi tu 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 l'obiettivo di ottimizzazione è 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 i quantili, Vertex AI fornisce valori e previsioni per i quantili oltre al riduzione al minimo dell'obiettivo di ottimizzazione. I valori quantili vengono impostati durante l'addestramento del modello. Le previsioni quantili sono i valori di previsione associati ai valori dei quantili.
TabNet fornisce l'interpretabilità intrinseca del modello offrendo agli utenti informazioni sulle funzionalità utilizzate per prendere una decisione. L'algoritmo utilizza l'attenzione, che impara a migliorare selettivamente l'influenza di alcune funzionalità, diminuendo al contempo l'influenza di altre caratteristiche tramite una media ponderata. Per una determinata decisione, TabNet stabilisce in modo graduale quanta importanza attribuire a ciascuna funzionalità. Combina quindi tutti i passaggi per creare una previsione finale. L'attenzione è moltiplicativa, dove i valori più grandi indicano che la caratteristica ha svolto un ruolo più importante nella previsione, mentre un valore pari a zero indica che la caratteristica non ha avuto alcun ruolo nella decisione. Poiché TabNet utilizza più passaggi decisionali, l'attenzione posta sulle caratteristiche in tutti i passaggi viene combinata lineare dopo la scalabilità appropriata. Questa combinazione lineare in tutti i passaggi decisionali di TabNet è l'importanza totale delle caratteristiche fornita da TabNet.
Output di esempio per le previsioni
Il payload di ritorno per una previsione online con importanza delle caratteristiche da un modello di regressione è simile all'esempio seguente.
{
"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 per le previsioni online.