É possível avaliar o desempenho dos modelos de base e dos modelos de IA generativa ajustados na plataforma de agentes do Gemini Enterprise. Os modelos são avaliados usando um conjunto de métricas em relação a um conjunto de dados de avaliação fornecido por você. Nesta página, explicamos como funciona a avaliação de modelos baseada em computação por meio do serviço de pipeline de avaliação, como criar e formatar o conjunto de dados de avaliação e como executar a avaliação usando o console Google Cloud , a API Agent Platform ou o SDK Agent Platform para Python.
Como funciona a avaliação de modelo baseado em computação
Para avaliar o desempenho de um modelo, primeiro você cria um conjunto de dados de avaliação que contém prompts e pares de informações empíricas. Para cada par, a entrada é a que você quer avaliar, e a informação empírica é a resposta ideal para ela. Durante a avaliação, o comando em cada par do conjunto de dados de avaliação é transmitido ao modelo para produzir uma saída. A saída gerada pelo modelo e as informações empíricas do conjunto de dados de avaliação são usadas para calcular as métricas de avaliação.
O tipo de métrica usada para avaliação depende da tarefa que você está avaliando. A tabela a seguir mostra as tarefas compatíveis e as métricas usadas para avaliar cada tarefa:
| Tarefa | Métrica |
|---|---|
| Classificação | Micro-F1, Macro-F1, por classe F1 |
| Resumo | ROUGE-L |
| Respostas a perguntas | Correspondência exata |
| Geração de texto | BLEU, ROUGE-L |
Modelos compatíveis
A avaliação de modelos é compatível com os seguintes modelos:
text-bison: versões de base e ajustadas.Gemini: todas as tarefas, exceto classificação.
Preparar conjunto de dados de avaliação
O conjunto de dados usado para avaliar o modelo inclui pares de comandos e informações empíricas que se alinham à tarefa que você quer avaliar. Seu conjunto de dados precisa incluir no mínimo um par de comandos e informações empíricas e pelo menos 10 pares para métricas significativas. Quanto mais exemplos, mais significativos serão os resultados.
Formato do conjunto de dados
O conjunto de dados de avaliação precisa estar emLinhas JSON
(JSONL), em que cada linha contém um único par de prompt e de informações empíricas
especificado no input_text e output_text respectivamente. O campo
input_text contém o comando que você quer avaliar, e o campo
output_text contém a resposta ideal para esse comando.
O tamanho máximo do token para input_text é 8.192, e o comprimento máximo do token
para output_text é 1.024.
Fazer upload do conjunto de dados de avaliação para o Cloud Storage
É possível criar um novo bucket do Cloud Storage ou usar um atual para armazenar o arquivo do conjunto de dados. O bucket precisa estar na mesma região que o gatilho.
Quando o bucket estiver pronto, faça o upload do arquivo do conjunto de dados para o bucket.
Fazer avaliação de modelo.
É possível avaliar modelos usando a API REST ou o console do Google Cloud .
REST
Para criar um job de avaliação de modelo, envie uma solicitação POST usando o método pipelineJobs.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o projeto Google Cloud que executa os componentes do pipeline.
- PIPELINEJOB_DISPLAYNAME: um nome de exibição do pipelineJob.
- LOCATION: a região para executar os componentes do pipeline.
Atualmente, somente
us-central1é aceito. - DATASET_URI: o URI do Cloud Storage do conjunto de dados de referência. É possível especificar um ou vários URIs. Esse parâmetro é compatível com caracteres curinga. Para saber mais sobre esse parâmetro, consulte InputConfig.
- OUTPUT_DIR: o URI do Cloud Storage para armazenar a saída da avaliação.
- MODEL_NAME: especifique um modelo de editor ou um recurso de modelo ajustado da seguinte maneira:
- Modelo do editor:
publishers/google/models/MODEL@MODEL_VERSIONExemplo:
publishers/google/models/text-bison@002 - Modelo ajustado:
projects/PROJECT_NUMBER/locations/LOCATION/models/ENDPOINT_IDExemplo:
projects/123456789012/locations/us-central1/models/1234567890123456789
O job de avaliação não afeta as implantações atuais do modelo ou os recursos dele.
- Modelo do editor:
- EVALUATION_TASK: a tarefa em que você quer avaliar o modelo. O job de avaliação calcula um conjunto de métricas relevantes para essa tarefa específica. Os valores aceitáveis são os seguintes:
summarizationquestion-answeringtext-generationclassification
- INSTANCES_FORMAT: o formato do conjunto de dados.
Atualmente, somente
jsonlé aceito. Para saber mais sobre esse parâmetro, consulte InputConfig. - PREDICTIONS_FORMAT: o formato da saída da avaliação. Atualmente, somente
jsonlé aceito. Para saber mais sobre esse parâmetro, consulte InputConfig. - MACHINE_TYPE: (opcional) o tipo de máquina para executar o job de avaliação. O valor padrão é
e2-highmem-16. Para uma lista de tipos de máquina compatíveis, consulte Tipos de máquina. - SERVICE_ACCOUNT: (opcional) a conta de serviço a ser usada para executar o job de avaliação. Para saber como criar uma conta de serviço personalizada, consulte Configurar uma conta de serviço com permissões granulares. Se não for especificado, será usado o agente de serviço de código personalizado da plataforma de agentes do Gemini Enterprise.
- NETWORK: (opcional) o nome totalmente qualificado da rede do Compute Engine para fazer o peering do job de avaliação. O formato do nome da rede é
projects/PROJECT_NUMBER/global/networks/NETWORK_NAME. Se você especificar esse campo, será necessário ter um peering de rede VPC para a plataforma de agentes do Gemini Enterprise. Se não for especificado, o job de avaliação não fará peering com nenhuma rede. - KEY_NAME: (opcional) o nome da chave de criptografia gerenciada pelo cliente (CMEK). Se configurados, os recursos criados
pelo job de avaliação são criptografados usando a chave de criptografia fornecida. O formato do nome da chave é
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY. A chave precisa estar na mesma região que o job de avaliação.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
Corpo JSON da solicitação:
{
"displayName": "PIPELINEJOB_DISPLAYNAME",
"runtimeConfig": {
"gcsOutputDirectory": "gs://OUTPUT_DIR",
"parameterValues": {
"project": "PROJECT_ID",
"location": "LOCATION",
"batch_predict_gcs_source_uris": ["gs://DATASET_URI"],
"batch_predict_gcs_destination_output_uri": "gs://OUTPUT_DIR",
"model_name": "MODEL_NAME",
"evaluation_task": "EVALUATION_TASK",
"batch_predict_instances_format": "INSTANCES_FORMAT",
"batch_predict_predictions_format: "PREDICTIONS_FORMAT",
"machine_type": "MACHINE_TYPE",
"service_account": "SERVICE_ACCOUNT",
"network": "NETWORK",
"encryption_spec_key_name": "KEY_NAME"
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}
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 abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs"
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-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte. Observe que pipelineSpec foi truncado para economizar espaço.
Exemplo de comando curl
PROJECT_ID=myproject
REGION=us-central1
MODEL_NAME=publishers/google/models/text-bison@002
TEST_DATASET_URI=gs://my-gcs-bucket-uri/dataset.jsonl
OUTPUT_DIR=gs://my-gcs-bucket-uri/output
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/pipelineJobs" -d \
$'{
"displayName": "evaluation-llm-text-generation-pipeline",
"runtimeConfig": {
"gcsOutputDirectory": "'${OUTPUT_DIR}'",
"parameterValues": {
"project": "'${PROJECT_ID}'",
"location": "'${REGION}'",
"batch_predict_gcs_source_uris": ["'${TEST_DATASET_URI}'"],
"batch_predict_gcs_destination_output_uri": "'${OUTPUT_DIR}'",
"model_name": "'${MODEL_NAME}'",
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}'
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.
Console
Para criar um job de avaliação de modelo usando o console Google Cloud , siga estas etapas:
- No console Google Cloud , acesse a página Registro de modelos da plataforma de agentes do Gemini Enterprise.
Acessar o Model Registry da plataforma de agentes do Gemini Enterprise
- Clique no nome do modelo que você quer avaliar.
- Na guia Avaliar, clique em Criar avaliação e configure da seguinte maneira:
- Objetivo: selecione a tarefa que você quer avaliar.
- Coluna ou campo de destino: (apenas classificação) insira a coluna
de destino para previsão. Exemplo:
ground_truth. - Caminho de origem: insira ou selecione o URI do conjunto de dados de avaliação.
- Formato de saída: insira o formato da saída da avaliação.
Atualmente, somente
jsonlé aceito. - Caminho do Cloud Storage: insira ou selecione o URI para armazenar a saída da avaliação.
- Nomes de classes: (apenas classificação) digite a lista de possíveis nomes de classes.
- Número de nós de computação: digite o número de nós de computação para executar o job de avaliação.
- Tipo de máquina: selecione um tipo de máquina a ser usado para executar o job de avaliação.
- Clique em Iniciar avaliação.
Visualizar os resultados da avaliação
Encontre os resultados da avaliação no diretório de saída do Cloud Storage
especificado ao criar o job de avaliação. O nome do arquivo é evaluation_metrics.json.
Para modelos ajustados, também é possível conferir os resultados da avaliação no console Google Cloud :
Na seção "Plataforma de agente" do console Google Cloud , acesse a página Registro de modelos da plataforma de agente do Gemini Enterprise.
Acessar o Model Registry da plataforma de agentes do Gemini Enterprise
Clique no nome do modelo para visualizar as métricas de avaliação.
Na guia Avaliar, clique no nome da execução da avaliação que você quer visualizar.
A seguir
- Saiba mais sobre avaliação de IA generativa.
- Saiba como ajustar um modelo de fundação.