Para o serviço de avaliação de IA gen., o conjunto de dados de avaliação consiste normalmente na resposta do modelo que quer avaliar, nos dados de entrada usados para gerar a sua resposta e, possivelmente, na resposta de referência.
Esquema do conjunto de dados de avaliação
Para exemplos de utilização típicos de métricas baseadas em modelos, o conjunto de dados tem de fornecer as seguintes informações:
Tipo de entrada | Conteúdo do campo de entrada |
---|---|
comando | Introdução do utilizador para o modelo ou a aplicação de IA gen. É opcional em alguns casos. |
resposta | A resposta de inferência do MDG que quer avaliar. |
baseline_model_response (obrigatório para métricas aos pares) | A resposta de inferência do GML de base que é usada para comparar a resposta do GML com a avaliação aos pares |
Se usar o módulo de avaliação de IA gen do SDK Vertex AI para Python, o serviço de avaliação de IA gen pode gerar automaticamente os response
e baseline_model_response
com o modelo especificado.
Para outros exemplos de utilização de avaliação, pode ter de fornecer mais informações:
Interação múltipla ou chat
Tipo de entrada | Conteúdo do campo de entrada |
---|---|
história | O histórico da conversa entre o utilizador e o modelo antes da vez atual. |
comando | Introdução do utilizador para o modelo ou a aplicação de IA gen na interação atual. |
resposta | A sua resposta de inferência do MDL/CE a ser avaliada, que se baseia no histórico e no comando de turno atual. |
baseline_model_response (obrigatório para métricas aos pares) | A resposta de inferência do GML de base que é usada para comparar a resposta do GML com a avaliação aos pares, que se baseia no histórico e no comando de turno atual. |
Métricas baseadas em cálculos
O seu conjunto de dados tem de fornecer uma resposta do modelo de linguagem (conteúdo extenso) e uma referência para comparação.
Tipo de entrada | Conteúdo do campo de entrada |
---|---|
resposta | A resposta de inferência do MDG que quer avaliar. |
referência | O facto observável com o qual comparar a resposta do MDG. |
Métricas de tradução
O conjunto de dados tem de fornecer uma resposta do modelo. Consoante o exemplo de utilização, também tem de fornecer uma referência para comparação, uma entrada no idioma de origem ou uma combinação de ambos.
Tipo de entrada | Conteúdo do campo de entrada |
---|---|
fonte | Texto de origem no idioma original a partir do qual a previsão foi traduzida. |
resposta | A resposta de inferência do MDG que quer avaliar. |
referência | O facto observável com o qual comparar a resposta do MDG. Está no mesmo idioma que a resposta. |
Consoante os seus exemplos de utilização, também pode dividir o comando do utilizador de entrada em partes detalhadas, como instruction
e context
, e juntá-las para inferência fornecendo um modelo de comando. Também pode fornecer as informações de referência ou factuais, se necessário:
Tipo de entrada | Conteúdo do campo de entrada |
---|---|
instrução | Parte do comando do utilizador de entrada. Refere-se à instrução de inferência que é enviada para o seu MDG. Por exemplo: "Resume o seguinte texto" é uma instrução. |
contexto | Introdução do utilizador para o modelo ou a aplicação de IA gen na interação atual. |
referência | O facto observável com o qual comparar a resposta do MDG. |
As entradas necessárias para o conjunto de dados de avaliação devem ser consistentes com as suas métricas. Para mais detalhes sobre a personalização das métricas, consulte os artigos Defina as métricas de avaliação e Execute a avaliação. Para mais detalhes sobre como incluir dados de referência nas suas métricas baseadas em modelos, consulte o artigo Adapte um modelo de comando de métricas aos seus dados de entrada.
Importe o seu conjunto de dados de avaliação
Pode importar o conjunto de dados nos seguintes formatos:
Ficheiro JSONL ou CSV armazenado no Cloud Storage
tabela do BigQuery
Pandas DataFrame
Exemplos de conjuntos de dados de avaliação
Esta secção mostra exemplos de conjuntos de dados com o formato Pandas Dataframe. Tenha em atenção que apenas são apresentados vários registos de dados como exemplo e que os conjuntos de dados de avaliação têm normalmente 100 ou mais pontos de dados. Para ver as práticas recomendadas ao preparar um conjunto de dados, consulte a secção Práticas recomendadas.
Métricas baseadas em modelos ao nível do ponto
Segue-se um exemplo de resumo para demonstrar um conjunto de dados de exemplo para métricas baseadas em modelos ao nível do ponto:
prompts = [
# Example 1
(
"Summarize the text in one sentence: As part of a comprehensive"
" initiative to tackle urban congestion and foster sustainable urban"
" living, a major city has revealed ambitious plans for an extensive"
" overhaul of its public transportation system. The project aims not"
" only to improve the efficiency and reliability of public transit but"
" also to reduce the city's carbon footprint and promote eco-friendly"
" commuting options. City officials anticipate that this strategic"
" investment will enhance accessibility for residents and visitors"
" alike, ushering in a new era of efficient, environmentally conscious"
" urban transportation."
),
# Example 2
(
"Summarize the text such that a five-year-old can understand: A team of"
" archaeologists has unearthed ancient artifacts shedding light on a"
" previously unknown civilization. The findings challenge existing"
" historical narratives and provide valuable insights into human"
" history."
),
]
responses = [
# Example 1
(
"A major city is revamping its public transportation system to fight"
" congestion, reduce emissions, and make getting around greener and"
" easier."
),
# Example 2
(
"Some people who dig for old things found some very special tools and"
" objects that tell us about people who lived a long, long time ago!"
" What they found is like a new puzzle piece that helps us understand"
" how people used to live."
),
]
eval_dataset = pd.DataFrame({
"prompt": prompts,
"response": responses,
})
Métricas baseadas em modelos aos pares
O exemplo seguinte mostra um caso de resposta a perguntas com consulta de informações para demonstrar um conjunto de dados de amostra para métricas baseadas em modelos aos pares.
prompts = [
# Example 1
(
"Based on the context provided, what is the hardest material? Context:"
" Some might think that steel is the hardest material, or even"
" titanium. However, diamond is actually the hardest material."
),
# Example 2
(
"Based on the context provided, who directed The Godfather? Context:"
" Mario Puzo and Francis Ford Coppola co-wrote the screenplay for The"
" Godfather, and the latter directed it as well."
),
]
responses = [
# Example 1
"Diamond is the hardest material. It is harder than steel or titanium.",
# Example 2
"Francis Ford Coppola directed The Godfather.",
]
baseline_model_responses = [
# Example 1
"Steel is the hardest material.",
# Example 2
"John Smith.",
]
eval_dataset = pd.DataFrame(
{
"prompt": prompts,
"response": responses,
"baseline_model_response": baseline_model_responses,
}
)
Métricas baseadas em cálculos
Para métricas baseadas em cálculos, é frequentemente necessário reference
.
eval_dataset = pd.DataFrame({
"response": ["The Roman Senate was filled with exuberance due to Pompey's defeat in Asia."],
"reference": ["The Roman Senate was filled with exuberance due to successes against Catiline."],
})
Métricas de utilização de ferramentas (chamada de funções)
O exemplo seguinte mostra os dados de entrada para métricas de utilização de ferramentas baseadas em computação:
json_responses = ["""{
"content": "",
"tool_calls":[{
"name":"get_movie_info",
"arguments": {"movie":"Mission Impossible", "time": "today 7:30PM"}
}]
}"""]
json_references = ["""{
"content": "",
"tool_calls":[{
"name":"book_tickets",
"arguments":{"movie":"Mission Impossible", "time": "today 7:30PM"}
}]
}"""]
eval_dataset = pd.DataFrame({
"response": json_responses,
"reference": json_references,
})
Exemplos de utilização de tradução
O exemplo seguinte mostra dados de entrada para métricas de tradução:
source = [
"Dem Feuer konnte Einhalt geboten werden",
"Schulen und Kindergärten wurden eröffnet.",
]
response = [
"The fire could be stopped",
"Schools and kindergartens were open",
]
reference = [
"They were able to control the fire.",
"Schools and kindergartens opened",
]
eval_dataset = pd.DataFrame({
"source": source,
"response": response,
"reference": reference,
})
Práticas recomendadas
Siga estas práticas recomendadas quando definir o conjunto de dados de avaliação:
- Forneça exemplos que representem os tipos de entradas que os seus modelos processam em produção.
- O conjunto de dados tem de incluir, pelo menos, um exemplo de avaliação. Recomendamos cerca de 100 exemplos para garantir métricas agregadas de alta qualidade e resultados estatisticamente significativos. Esta dimensão ajuda a estabelecer um nível de confiança mais elevado nos resultados da avaliação agregada, minimizando a influência de valores atípicos e garantindo que as métricas de desempenho refletem as verdadeiras capacidades do modelo em diversos cenários. A taxa de melhorias na qualidade das métricas agregadas tende a diminuir quando são fornecidos mais de 400 exemplos.
O que se segue?
Experimente um bloco de notas de exemplo de avaliação.