O primeiro passo para avaliar os seus modelos ou aplicações generativas é identificar o objetivo da avaliação e definir as métricas de avaliação. Esta página oferece uma vista geral dos conceitos relacionados com a definição de métricas de avaliação para o seu exemplo de utilização.
Vista geral
Os modelos de IA generativa podem ser usados para criar aplicações para uma vasta gama de tarefas, como resumir artigos de notícias, responder a consultas de clientes ou ajudar na escrita de código. O serviço de avaliação de IA gen no Vertex AI permite-lhe avaliar qualquer modelo com métricas explicáveis.
Por exemplo, pode estar a desenvolver uma aplicação para resumir artigos. Para avaliar o desempenho da sua aplicação nessa tarefa específica, considere os critérios que quer medir e as métricas que usaria para os classificar:
Critérios: uma ou várias dimensões que quer avaliar, como
conciseness
,relevance
,correctness
ouappropriate choice of words
.Métricas: uma única pontuação que mede o resultado do modelo em comparação com os critérios.
O serviço de avaliação de IA gen. fornece dois tipos principais de métricas:
Métricas baseadas em modelos: as nossas métricas baseadas em modelos avaliam o modelo candidato em comparação com um modelo de juiz. O modelo de avaliação para a maioria dos exemplos de utilização é o Gemini, mas também pode usar modelos como o MetricX ou o COMET para exemplos de utilização de tradução.
Pode medir métricas baseadas em modelos aos pares ou pontuais:
Métricas ao nível do ponto: permitem que o modelo de juiz avalie o resultado do modelo candidato com base nos critérios de avaliação. Por exemplo, a classificação pode ser de 0 a 5, em que 0 significa que a resposta não se enquadra nos critérios, enquanto 5 significa que a resposta se enquadra bem nos critérios.
Métricas aos pares: permitem que o modelo de juiz compare as respostas de dois modelos e escolha a melhor. Isto é frequentemente usado quando se compara um modelo candidato com o modelo de base. As métricas aos pares só são suportadas com o Gemini como modelo de juiz.
Métricas baseadas em cálculos: estas métricas são calculadas através de fórmulas matemáticas para comparar o resultado do modelo com uma verdade fundamental ou uma referência. As métricas baseadas em cálculos usadas com frequência incluem ROUGE e BLEU.
Pode usar as métricas baseadas em cálculos de forma autónoma ou em conjunto com as métricas baseadas em modelos. Use a tabela seguinte para decidir quando usar métricas baseadas em modelos ou em cálculos:
Abordagem de avaliação | Dados | Custo e velocidade | |
---|---|---|---|
Métricas baseadas em modelos | Use um modelo de juiz para avaliar o desempenho com base em critérios de avaliação descritivos | Os factos observáveis são opcionais | Ligeiramente mais caro e mais lento |
Métricas baseadas em cálculos | Use fórmulas matemáticas para avaliar o desempenho | Normalmente, é necessário um facto observável | Baixo custo e rápido |
Para começar, consulte os artigos Prepare o seu conjunto de dados e Execute a avaliação.
Defina as métricas baseadas em modelos
A avaliação baseada em modelos envolve a utilização de um modelo de aprendizagem automática como modelo de avaliação para avaliar as saídas do modelo candidato.
Os modelos de juízes proprietários da Google, como o Gemini, são calibrados com classificadores humanos para garantir a respetiva qualidade. São geridos e estão disponíveis desde o primeiro momento. O processo de avaliação baseada em modelos varia consoante as métricas de avaliação que fornecer.
A avaliação baseada em modelos segue este processo:
Preparação de dados: fornece dados de avaliação sob a forma de comandos de entrada. Os modelos candidatos recebem os comandos e geram respostas correspondentes.
Avaliação: as métricas de avaliação e as respostas geradas são enviadas para o modelo de avaliação. O modelo de juiz avalia cada resposta individualmente, fornecendo uma avaliação baseada em linhas.
Agregação e explicação: o serviço de avaliação de IA gen agrega estas avaliações individuais numa classificação geral. O resultado também inclui explicações de cadeia de raciocínio para cada julgamento, descrevendo a fundamentação por detrás da seleção.
O serviço de avaliação de IA gen oferece as seguintes opções para configurar as métricas baseadas em modelos com o SDK do Vertex AI:
Opção | Descrição | Ideal para |
---|---|---|
Use um exemplo existente | Use um modelo de comando de métricas pré-criado para começar. | Exemplos de utilização comuns, poupança de tempo |
Defina métricas com a nossa interface baseada em modelos | Receba assistência orientada na definição das suas métricas. A nossa interface baseada em modelos oferece estrutura e sugestões. | Personalização com apoio técnico |
Defina métricas do zero | Ter controlo total sobre as definições das métricas. | Ideal para exemplos de utilização altamente específicos. Requer mais conhecimentos técnicos e investimento de tempo. |
Por exemplo, pode querer desenvolver uma aplicação de IA generativa que devolva respostas fluentes e divertidas. Para esta aplicação, pode definir dois critérios de avaliação através da interface baseada em modelos:
Fluidez: as frases fluem sem problemas, evitando expressões estranhas ou frases excessivamente longas. As ideias e as frases estão logicamente ligadas, usando transições de forma eficaz quando necessário.
Entretenimento: texto curto e divertido que incorpora emojis, exclamações e perguntas para transmitir uma comunicação rápida e espontânea, bem como diversão.
Para transformar esses dois critérios numa métrica, quer uma classificação geral entre -1 e 1 denominada custom_text_quality
. Pode definir uma métrica da seguinte forma:
# Define a pointwise metric with two criteria: Fluency and Entertaining.
custom_text_quality = PointwiseMetric(
metric="custom_text_quality",
metric_prompt_template=PointwiseMetricPromptTemplate(
criteria={
"fluency": (
"Sentences flow smoothly and are easy to read, avoiding awkward"
" phrasing or run-on sentences. Ideas and sentences connect"
" logically, using transitions effectively where needed."
),
"entertaining": (
"Short, amusing text that incorporates emojis, exclamations and"
" questions to convey quick and spontaneous communication and"
" diversion."
),
},
rating_rubric={
"1": "The response performs well on both criteria.",
"0": "The response is somewhat aligned with both criteria",
"-1": "The response falls short on both criteria",
},
),
)
Para ver uma lista completa de modelos de comandos de métricas, consulte o artigo Modelos de comandos de métricas para avaliação.
Avalie modelos de tradução
O serviço de avaliação de IA gen oferece as seguintes métricas de avaliação de tarefas de tradução:
A MetricX e a COMET são métricas baseadas em modelos pontuais que foram preparadas para tarefas de tradução. Pode avaliar a qualidade e a precisão dos resultados do modelo de tradução para o seu conteúdo, quer sejam resultados da NMT, do TranslationLLM ou dos modelos do Gemini.
Também pode usar o Gemini como um modelo de avaliação para avaliar a fluidez, a coerência, a verbosidade e a qualidade do texto do seu modelo em combinação com o MetricX, o COMET ou o BLEU.
A métricaX é uma métrica baseada em erros desenvolvida pela Google que prevê uma pontuação de vírgula flutuante entre 0 e 25 que representa a qualidade de uma tradução. A MetricX está disponível como um método baseado em referências e sem referências (QE). Quando usa esta métrica, uma pontuação mais baixa é melhor, porque significa que existem menos erros.
O COMET usa uma abordagem de regressão baseada em referências que fornece pontuações entre 0 e 1, em que 1 significa uma tradução perfeita.
O BLEU (Bilingual Evaluation Understudy) é uma métrica baseada em cálculos. A pontuação BLEU indica a semelhança entre o texto candidato e o texto de referência. Um valor de pontuação BLEU mais próximo de um indica que uma tradução está mais próxima do texto de referência.
Tenha em atenção que as pontuações BLEU não são recomendadas para comparação entre diferentes corpora e idiomas. Por exemplo, uma pontuação BLEU de 50 de inglês para alemão não é comparável a uma pontuação BLEU de 50 de japonês para inglês. Muitos especialistas em tradução mudaram para abordagens de métricas baseadas em modelos, que têm uma correlação mais elevada com as classificações humanas e são mais detalhadas na identificação de cenários de erro.
Para saber como executar avaliações para modelos de tradução, consulte o artigo Avalie um modelo de tradução.
Escolha entre a avaliação ponto a ponto ou aos pares
Use a tabela seguinte para decidir quando quer usar a avaliação ponto a ponto ou aos pares:
Definição | Quando usar | Exemplos de utilização | |
---|---|---|---|
Avaliação ponto a ponto | Avalie um modelo e gere classificações com base nos critérios |
|
|
Avaliação aos pares | Comparar dois modelos entre si, gerando uma preferência com base nos critérios |
|
|
Métricas baseadas em cálculos
As métricas baseadas em cálculos comparam se os resultados gerados pelo MDI/CE são consistentes com um conjunto de dados de verdade fundamental de pares de entrada e saída. As métricas usadas com frequência podem ser categorizadas nos seguintes grupos:
- Métricas baseadas em léxico: use matemática para calcular as semelhanças de strings entre os resultados gerados pelo MDG e a verdade
fundamental, como
Exact Match
eROUGE
. - Métricas baseadas na contagem: agregue o número de linhas que atingem ou não atingem determinadas etiquetas de dados reais, como
F1-score
,Accuracy
eTool Name Match
. - Métricas baseadas em incorporações: calculam a distância entre os resultados gerados pelo MDG e a verdade fundamental no espaço de incorporação, o que reflete o respetivo nível de semelhança.
Geração de texto geral
As seguintes métricas ajudam a avaliar a capacidade do modelo de garantir que as respostas são úteis, seguras e eficazes para os seus utilizadores.
Correspondência exata
A métrica exact_match
calcula se uma resposta do modelo corresponde exatamente a uma referência.
- Limite de tokens: nenhum
Critérios de avaliação
Não aplicável.
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
response |
A resposta do MDI/CE. |
reference |
A resposta do MDG ideal para referência. |
Pontuações de saída
Valor | Descrição |
---|---|
0 | Sem correspondência |
1 | Com correspondência |
BLEU
A métrica bleu
(BiLingual Evaluation Understudy) contém o resultado de um algoritmo para avaliar a qualidade da resposta, que foi traduzida de um idioma natural para outro idioma natural. A qualidade da resposta é considerada a correspondência entre um parâmetro response
e o respetivo parâmetro reference
.
- Limite de tokens: nenhum
Critérios de avaliação
Não aplicável.
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
response |
A resposta do MDI/CE. |
reference |
A resposta do MDG para a referência. |
Pontuações de saída
Valor | Descrição |
---|---|
Um valor flutuante no intervalo de [0,1] | As pontuações mais elevadas indicam melhores traduções. Uma pontuação de 1 representa uma correspondência perfeita com o reference . |
ROUGE
A métrica ROUGE
é usada para comparar o parâmetro response
fornecido com um parâmetro reference
.
Todas as métricas rouge
devolvem a pontuação de F1. rouge-l-sum
é calculado por predefinição,
mas pode especificar a rouge
variante
que quer usar.
- Limite de tokens: nenhum
Critérios de avaliação
Não aplicável
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
response |
A resposta do MDI/CE. |
reference |
A resposta do MDG para a referência. |
Pontuações de saída
Valor | Descrição |
---|---|
Um valor flutuante no intervalo de [0,1] | Uma pontuação mais próxima de 0 significa uma fraca semelhança entre response e reference . Uma pontuação mais próxima de 1 significa uma forte semelhança entre response e reference . |
Utilização de ferramentas e chamadas de funções
As seguintes métricas ajudam a avaliar a capacidade do modelo de prever uma chamada de ferramenta (função) válida.
Chamada válida
A métrica tool_call_valid
descreve a capacidade do modelo de prever uma chamada de ferramenta válida. Apenas a primeira chamada de ferramenta é inspecionada.
- Limite de tokens: nenhum
Critérios de avaliação
Critério de avaliação | Descrição |
---|---|
Validade | A saída do modelo contém uma chamada de ferramenta válida. |
Formatação | Um dicionário JSON contém os campos name e arguments . |
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
prediction |
O resultado do modelo candidato, que é uma string serializada JSON que contém as chaves content e tool_calls . O valor content é o texto
gerado pelo modelo. O valor tool_calls é uma string serializada JSON de uma lista de chamadas de ferramentas. Segue-se um exemplo:{"content": "", "tool_calls": [{"name":
"book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning
Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA",
"showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]} |
reference |
A previsão de referência de dados reais, que segue o mesmo formato que
prediction . |
Pontuações de saída
Valor | Descrição |
---|---|
0 | Chamada de ferramenta inválida |
1 | Chamada de ferramenta válida |
Correspondência de nome
A métrica tool_name_match
descreve a capacidade do modelo de prever
uma chamada de ferramenta com o nome da ferramenta correto. Apenas é inspecionada a primeira chamada de ferramenta.
- Limite de tokens: nenhum
Critérios de avaliação
Critério de avaliação | Descrição |
---|---|
Correspondência de nomes | A chamada de ferramenta prevista pelo modelo corresponde ao nome da chamada de ferramenta de referência. |
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
prediction |
O resultado do modelo candidato, que é uma string serializada JSON que contém as chaves content e tool_calls . O valor content é o texto
gerado pelo modelo. O valor tool_call é uma string serializada JSON de uma lista de chamadas de ferramentas. Segue-se um exemplo:{"content": "","tool_calls": [{"name": "book_tickets", "arguments":
{"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal
Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date":
"2024-03-30","num_tix": "2"}}]} |
reference |
A previsão de referência de dados reais, que segue o mesmo formato
que o prediction . |
Pontuações de saída
Valor | Descrição |
---|---|
0 | O nome da chamada de ferramenta não corresponde à referência. |
1 | O nome da chamada de ferramenta corresponde à referência. |
Correspondência da chave do parâmetro
A métrica tool_parameter_key_match
descreve a capacidade do modelo de prever uma chamada de ferramenta com os nomes dos parâmetros corretos.
- Limite de tokens: nenhum
Critérios de avaliação
Critério de avaliação | Descrição |
---|---|
Rácio de correspondência de parâmetros | A proporção entre o número de parâmetros previstos que correspondem aos nomes dos parâmetros da chamada de ferramenta de referência e o número total de parâmetros. |
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
prediction |
O resultado do modelo candidato, que é uma string serializada em JSON que contém as chaves content e tool_calls . O valor content é o texto
gerado pelo modelo. O valor tool_call é uma string serializada JSON de uma lista de chamadas de ferramentas. Segue-se um exemplo:{"content": "", "tool_calls": [{"name": "book_tickets", "arguments":
{"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal
Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date":
"2024-03-30","num_tix": "2"}}]} |
reference |
A previsão do modelo de referência factual, que segue o mesmo formato que prediction . |
Pontuações de saída
Valor | Descrição |
---|---|
Um valor flutuante no intervalo de [0,1] | A pontuação mais elevada de 1 significa que mais parâmetros correspondem aos nomes dos parâmetros reference . |
Correspondência de KV de parâmetros
A métrica tool_parameter_kv_match
descreve a capacidade do modelo de prever uma chamada de ferramenta com os nomes dos parâmetros e os valores-chave corretos.
- Limite de tokens: nenhum
Critérios de avaliação
Critério de avaliação | Descrição |
---|---|
Rácio de correspondência de parâmetros | A proporção entre o número de parâmetros previstos que correspondem aos nomes e valores dos parâmetros da chamada de ferramenta de referência e o número total de parâmetros. |
Parâmetros de entrada de métricas
Parâmetro de entrada | Descrição |
---|---|
prediction |
O resultado do modelo candidato, que é uma string serializada JSON que contém as chaves content e tool_calls . O valor content é o texto
gerado pelo modelo. O valor tool_call é uma string serializada JSON de uma lista de chamadas de ferramentas. Segue-se um exemplo:{"content": "", "tool_calls": [{"name": "book_tickets", "arguments":
{"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal
Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date":
"2024-03-30","num_tix": "2"}}]} |
reference |
A previsão de referência de dados reais, que segue o mesmo formato que
prediction . |
Pontuações de saída
Valor | Descrição |
---|---|
Um valor flutuante no intervalo de [0,1] | A pontuação mais elevada de 1 significa que mais parâmetros correspondem aos nomes e valores dos parâmetros reference . |
No serviço de avaliação de IA generativa, pode usar métricas baseadas em cálculos através do SDK Vertex AI para Python.
Qualidade de avaliação de base para tarefas generativas
Ao avaliar o resultado dos modelos de IA generativa, tenha em atenção que o processo de avaliação é inerentemente subjetivo e que a qualidade da avaliação pode variar consoante a tarefa específica e os critérios de avaliação. Esta subjetividade também se aplica aos avaliadores humanos. Para mais informações sobre os desafios de alcançar uma avaliação consistente para modelos de IA generativa, consulte Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena e Learning to summarize from human feedback.
O que se segue?
Encontre um modelo de métricas baseado em modelos.