Nesta página, mostramos como receber previsões on-line (em tempo real) de modelos tabulares de classificação ou regressão usando o Console do Google Cloud ou a API Vertex AI.
Uma predição on-line é uma solicitação síncrona, em vez de uma previsão em lote, que é uma solicitação assíncrona. Use predições on-line ao fazer solicitações em resposta à entrada do aplicativo ou em outras situações em que você precisa de inferência em tempo hábil.
Implante um modelo em um endpoint antes de ele ser usado para exibir previsões on-line. A implantação de um modelo associa recursos físicos ao modelo para que ele possa exibir previsões on-line com baixa latência.
Os temas abordados são os seguintes:
- Implantar um modelo em um endpoint
- Fazer uma previsão on-line usando o modelo implantado
Antes de começar
Antes de receber previsões on-line, primeiro você precisa treinar um modelo.
Implantar um modelo em um endpoint
É possível implantar mais de um modelo em um endpoint, além de ser possível implantar um modelo em mais de um endpoint. Para mais informações sobre opções e casos de uso de implantação de modelos, consulte Sobre a implantação de modelos.
Use um dos seguintes métodos para implantar um modelo:
Console do Google Cloud
No Console do Google Cloud, na seção "Vertex AI", acesse a página Modelos.
Clique no nome do modelo que você quer implantar para abrir a página de detalhes.
Selecione a guia Implantar e testar.
Caso seu modelo já esteja implantado em um endpoint, o endpoint estará listado na seção Implantar seu modelo.
Clique em Implantar no endpoint.
Na página Definir seu endpoint, configure o seguinte:
É possível implantar o modelo em um endpoint novo ou atual.
- Para implantar o modelo em um novo endpoint, selecione Criar novo endpoint e dê um nome a ele.
- Para implantar o modelo em um endpoint atual, selecione Adicionar a um endpoint atual e escolha o endpoint na lista suspensa.
- É possível adicionar mais de um modelo a um endpoint, além de ser possível adicionar um modelo a mais de um endpoint. Saiba mais.
Clique em Continuar.
Na página Detalhes do modelo, configure o seguinte:
-
Se você estiver implantando seu modelo em um novo endpoint, aceite 100 para a divisão de tráfego. Se você implantar o modelo em um endpoint atual que tem um ou mais modelos implantados, é necessário atualizar a porcentagem de divisão de tráfego do modelo que você está implantando, bem como a dos modelos já implantados para que todas as porcentagens totalizem 100%.
-
Insira o número mínimo de nós de computação que você quer fornecer ao modelo.
Esse é o número de nós disponíveis para este modelo em todos os momentos. Você é cobrado pelos nós usados, seja para processar a carga de previsão ou por nós de espera (mínimo), mesmo sem tráfego de previsão. Consulte a página de preços.
-
Selecione o Tipo de máquina.
Recursos maiores de máquina aumentarão o desempenho da previsão e os custos.
-
Saiba como alterar as configurações padrão para a geração de registros de previsão.
-
Clique em Continuar.
-
Na página Monitoramento de modelo, clique em Continuar.
Na página Objetivos do Monitoring, configure o seguinte:
- Insira o local dos dados de treinamento.
- Digite o nome do serviço de destino.
Clique em Implantar para implantar o modelo no endpoint.
API
Ao implantar um modelo usando a API Vertex AI, siga estas etapas:
- Crie um endpoint, se necessário.
- Receba o ID do endpoint.
- Implantar o modelo no endpoint.
Criar um endpoint
Pule a etapa abaixo se você estiver implantando um modelo em um endpoint existente.
gcloud
O exemplo a seguir usa o comando
gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
Substitua:
- LOCATION_ID: a região em que você está usando a Vertex AI.
ENDPOINT_NAME: o nome de exibição do endpoint.
A ferramenta CLI do Google Cloud pode levar alguns segundos para criar o endpoint.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: sua região.
- PROJECT_ID: o ID do projeto.
- ENDPOINT_NAME: o nome de exibição do endpoint.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corpo JSON da solicitação:
{ "display_name": "ENDPOINT_NAME" }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Recuperar o ID do endpoint
Você precisa do ID do endpoint para implantar o modelo.
gcloud
O exemplo a seguir usa o comando
gcloud ai endpoints list
:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
Substitua:
- LOCATION_ID: a região em que você está usando a Vertex AI.
ENDPOINT_NAME: o nome de exibição do endpoint.
Anote o número que aparece na coluna
ENDPOINT_ID
. Use esse ID na etapa a seguir.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: a região em que você está usando a Vertex AI.
- PROJECT_ID: o ID do projeto.
- ENDPOINT_NAME: o nome de exibição do endpoint.
Método HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" } ] }
Implantar o modelo
Selecione a guia abaixo para seu idioma ou ambiente:
gcloud
Os exemplos a seguir usam o comando gcloud ai endpoints deploy-model
.
O exemplo a seguir implanta um Model
em um Endpoint
sem usar GPUs
para acelerar a exibição da previsão e sem dividir o tráfego entre vários
recursos DeployedModel
:
Antes de usar os dados do comando abaixo, faça estas substituições:
- ENDPOINT_ID: o ID do endpoint.
- LOCATION_ID: a região em que você está usando a Vertex AI.
- MODEL_ID: o ID do modelo a ser implantado.
-
DEPLOYED_MODEL_NAME: um nome para
DeployedModel
. Também é possível usar o nome de exibição doModel
para oDeployedModel
. -
MACHINE_TYPE: opcional. Os recursos de máquina usados para cada nó
desta implantação. A configuração padrão é
n1-standard-2
. Saiba mais sobre tipos de máquinas. -
MIN_REPLICA_COUNT: o número mínimo de nós para esta implantação.
A contagem de nós pode ser aumentada ou reduzida conforme necessário pela carga de previsão,
até o número máximo de nós e nunca menos que esse número.
O valor precisa ser maior ou igual a 1. Se a sinalização
--min-replica-count
for omitida, o valor padrão será 1. -
MAX_REPLICA_COUNT: o número máximo de nós para esta implantação.
A contagem de nós pode ser aumentada ou reduzida conforme necessário pela carga de previsão,
até esse número de nós e nunca menos que o número mínimo de nós.
Se você omitir a sinalização
--max-replica-count
, o número máximo de nós será definido como o valor de--min-replica-count
.
Execute o comando gcloud ai endpoints deploy-model:
Linux, macOS ou 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
Divisão de tráfego
A sinalização --traffic-split=0=100
nos exemplos anteriores envia 100% do tráfego de
previsão que Endpoint
recebe para o novo DeployedModel
, que é
representado pelo ID temporário 0
. Se a Endpoint
já tiver outros
recursos DeployedModel
, será possível dividir o tráfego entre o novo
DeployedModel
e os antigos.
Por exemplo, para enviar 20% do tráfego para o novo DeployedModel
e 80% para um mais antigo,
execute o seguinte comando.
Antes de usar os dados do comando abaixo, faça estas substituições:
- OLD_DEPLOYED_MODEL_ID: o ID do
DeployedModel
existente.
Execute o comando gcloud ai endpoints deploy-model:
Linux, macOS ou 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
Use o método endpoints.predict para solicitar uma predição on-line.
Implantar o modelo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: a região em que você está usando a Vertex AI.
- PROJECT_ID: o ID do projeto.
- ENDPOINT_ID: o ID do endpoint.
- MODEL_ID: o ID do modelo a ser implantado.
-
DEPLOYED_MODEL_NAME: um nome para
DeployedModel
. Também é possível usar o nome de exibição doModel
para oDeployedModel
. -
MACHINE_TYPE: opcional. Os recursos de máquina usados para cada nó
desta implantação. A configuração padrão é
n1-standard-2
. Saiba mais sobre tipos de máquinas. - ACCELERATOR_TYPE: o tipo de acelerador a ser anexado à máquina. Opcional se ACCELERATOR_COUNT não for especificado ou for zero. Não recomendado para modelos AutoML ou modelos treinados personalizados que usem imagens que não sejam de GPU. Saiba mais
- ACCELERATOR_COUNT: o número de aceleradores a serem usados por cada réplica. Opcional. Deve ser zero ou não especificado para modelos do AutoML ou modelos treinados personalizados que usam imagens que não sejam de GPU.
- MIN_REPLICA_COUNT: o número mínimo de nós para esta implantação. A contagem de nós pode ser aumentada ou reduzida conforme necessário pela carga de previsão, até o número máximo de nós e nunca menos que esse número. O valor precisa ser maior ou igual a 1.
- MAX_REPLICA_COUNT: o número máximo de nós para esta implantação. A contagem de nós pode ser aumentada ou reduzida conforme necessário pela carga de previsão, até esse número de nós e nunca menos que o número mínimo de nós.
- TRAFFIC_SPLIT_THIS_MODEL: a porcentagem do tráfego de previsão para esse endpoint que será roteada para o modelo que está sendo implantado com esta operação. O padrão é 100. A soma de todas as porcentagens de tráfego precisam totalizar 100. Saiba mais sobre as divisões de tráfego.
- DEPLOYED_MODEL_ID_N: opcional. Se outros modelos forem implantados nesse endpoint, será necessário atualizar as porcentagens de divisão de tráfego para que todas as porcentagens somem 100.
- TRAFFIC_SPLIT_MODEL_N: o valor da porcentagem da divisão de tráfego para a chave de ID do modelo implantado.
- PROJECT_NUMBER: o número do projeto gerado automaticamente
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
Corpo JSON da solicitação:
{ "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 }, }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Saiba como alterar as configurações padrão para a geração de registros de previsão.
Receber status da operação
Algumas solicitações iniciam operações de longa duração que exigem tempo para serem concluídas. Essas solicitações retornam um nome de operação, que pode ser usado para ver o status da operação ou cancelá-la. A Vertex AI oferece métodos auxiliares para realizar chamadas em operações de longa duração. Para mais informações, consulte Como trabalhar com operações de longa duração.
Receber uma previsão on-line usando o modelo implantado
Para fazer uma previsão on-line, envie um ou mais itens de teste para um modelo para análise, e o modelo retornará resultados baseados no objetivo do modelo. Use o Console do Google Cloud ou a API Vertex AI para solicitar uma previsão on-line.
Console do Google Cloud
No Console do Google Cloud, na seção "Vertex AI", acesse a página Modelos.
Na lista de modelos, clique no nome do modelo para solicitar previsões.
Selecione a guia Implantar e testar.
Na seção Testar o modelo, adicione itens de teste para solicitar uma predição. Os dados de previsão do valor de referência são preenchidos para você, ou insira seus próprios dados de previsão e clique em Prever.
Após a conclusão da previsão, a Vertex AI retorna os resultados no console.
API: classificação
gcloud
-
Crie um arquivo chamado
request.json
com o seguinte conteúdo:{ "instances": [ { PREDICTION_DATA_ROW } ] }
Substitua:
-
PREDICTION_DATA_ROW: um objeto JSON com chaves como os nomes e valores de recursos como os valores de recurso correspondentes. Por exemplo, para um conjunto de dados com um número, uma matriz de strings e uma categoria, a linha de dados pode ser semelhante à seguinte solicitação de exemplo:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
É necessário incluir um valor para cada recurso incluído no treinamento. O formato dos dados usados para previsão precisa corresponder ao formato usado para treinamento. Consulte Formato de dados para previsões para mais detalhes.
-
-
Execute este comando:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Substitua:
- ENDPOINT_ID: o ID do endpoint.
- LOCATION_ID: a região em que você está usando a Vertex AI.
REST
Use o método endpoints.predict para solicitar uma predição on-line.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
LOCATION_ID: região em que o endpoint está localizado. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- ENDPOINT_ID: o ID do endpoint.
-
PREDICTION_DATA_ROW: um objeto JSON com chaves como os nomes e valores de recursos como os valores de recurso correspondentes. Por exemplo, para um conjunto de dados com um número, uma matriz de strings e uma categoria, a linha de dados pode ser semelhante à seguinte solicitação de exemplo:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
É necessário incluir um valor para cada recurso incluído no treinamento. O formato dos dados usados para previsão precisa corresponder ao formato usado para treinamento. Consulte Formato de dados para previsões para mais detalhes.
- DEPLOYED_MODEL_ID: saída do método
predict
. O ID do modelo usado para gerar a previsão.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
Corpo JSON da solicitação:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "predictions": [ { "scores": [ 0.96771615743637085, 0.032283786684274673 ], "classes": [ "0", "1" ] } ] "deployedModelId": "2429510197" }
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
API: regressão
gcloud
-
Crie um arquivo chamado request.json com este conteúdo:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Substitua:
-
PREDICTION_DATA_ROW: um objeto JSON com chaves como os nomes e valores de recursos como os valores de recurso correspondentes. Por exemplo, para um conjunto de dados com um número, uma matriz de números e uma categoria, a linha de dados pode ser semelhante à seguinte solicitação de exemplo:
"age":3.6, "sq_ft":5392, "code": "90331"
É necessário incluir um valor para cada recurso incluído no treinamento. O formato dos dados usados para previsão precisa corresponder ao formato usado para treinamento. Consulte Formato de dados para previsões para mais detalhes.
-
-
Execute este comando:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Substitua:
- ENDPOINT_ID: o ID do endpoint.
- LOCATION_ID: a região em que você está usando a Vertex AI.
REST
Use o método endpoints.predict para solicitar uma predição on-line.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
LOCATION_ID: região em que o endpoint está localizado. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- ENDPOINT_ID: o ID do endpoint.
-
PREDICTION_DATA_ROW: um objeto JSON com chaves como os nomes e valores de recursos como os valores de recurso correspondentes. Por exemplo, para um conjunto de dados com um número, uma matriz de números e uma categoria, a linha de dados pode ser semelhante à seguinte solicitação de exemplo:
"age":3.6, "sq_ft":5392, "code": "90331"
É necessário incluir um valor para cada recurso incluído no treinamento. O formato dos dados usados para previsão precisa corresponder ao formato usado para treinamento. Consulte Formato de dados para previsões para mais detalhes.
- DEPLOYED_MODEL_ID: saída do método
predict
. O ID do modelo usado para gerar a previsão.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
Corpo JSON da solicitação:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "predictions": [ [ { "value": 65.14233 } ] ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Interpretar resultados de previsão
Classificação
Os modelos de classificação retornam uma pontuação de confiança.
A pontuação de confiança informa o quanto o modelo associa cada classe ou rótulo a um item de teste. Quanto maior o número, maior a confiança do modelo de que o rótulo precisa ser aplicado a esse item. Você decide o nível de confiança necessário para aceitar os resultados do modelo.
Regressão
Os modelos de regressão retornam um valor de previsão.
Se o modelo usar a inferência probabilística, o campo value
vai conter o
minimizador do objetivo de otimização. Por exemplo, se o objetivo de otimização for minimize-rmse
, o campo value
conterá o valor médio.
Se for minimize-mae
, o campo value
conterá o valor médio.
Se o modelo usa inferência probabilística com quantis, a Vertex AI fornece valores e previsões de quantis, além de minimizar o objetivo de otimização. Os valores de quantis são definidos durante o treinamento do modelo. As previsões de quantis são os valores de previsão associados aos valores de quantis.
O TabNet oferece interpretabilidade inerente do modelo, fornecendo aos usuários insights sobre quais recursos ele usou para ajudar a tomar decisões. O algoritmo utiliza a atenção, que aprende a aumentar seletivamente a influência de alguns recursos e diminuir a influência de outros por meio de uma média ponderada. Para uma decisão específica, o TabNet decide passo a passo a importância a ser atribuída em cada recurso. Em seguida, ele combina cada uma das etapas para criar uma previsão final. A atenção é multiplicativa, o que significa que valores maiores indicam que o recurso desempenhou um papel maior na previsão, e um valor zero significa que ele não desempenhou nenhum papel nessa decisão. Como o TabNet usa várias etapas de decisão, a atenção colocada nos recursos em todas as etapas é combinada de maneira linear após o dimensionamento adequado. Essa combinação linear em todas as etapas de decisão do TabNet consiste na importância total de recursos que o TabNet oferece.
Exemplo de resultado para previsões
O payload de retorno de uma previsão on-line com importância do recurso de um modelo de regressão tabular é semelhante ao exemplo JSON a seguir.
{
"predictions":[
{
"value":0.3723912537097931,
"feature_importance":{
"MSSubClass":0.12,
"MSZoning":0.33,
"LotFrontage":0.27,
"LotArea":0.06,
...
}
}
]
}
A seguir
- Saiba como exportar seu modelo.
- Saiba mais sobre preços para previsões on-line.