Enviar uma execução em lote para avaliar um fluxo
Uma execução em lote executa um fluxo de prompt com um grande conjunto de dados e gera saídas para cada linha de dados. Para avaliar o desempenho do fluxo de prompt com um grande conjunto de dados, você pode enviar uma execução em lote e usar métodos de avaliação para gerar pontuações e métricas de desempenho.
Após a conclusão do fluxo em lote, os métodos de avaliação são executados automaticamente para calcular as pontuações e métricas. Você pode usar as métricas de avaliação para avaliar a saída do seu fluxo em relação aos seus critérios e metas de desempenho.
Este artigo descreve como enviar uma execução em lote e usar um método de avaliação para medir a qualidade da saída do fluxo. Você aprende como visualizar o resultado e as métricas da avaliação e como iniciar uma nova rodada de avaliação com um método ou subconjunto diferente de variantes.
Pré-requisitos
Para executar um fluxo em lote com um método de avaliação, você precisa dos seguintes componentes:
Um fluxo de prompt do Azure Machine Learning em funcionamento para o qual você deseja testar o desempenho.
Um conjunto de dados de teste a ser usado para a execução em lote.
Seu conjunto de dados de teste deve estar no formato CSV, TSV ou JSONL e deve ter cabeçalhos que correspondam aos nomes de entrada do seu fluxo. No entanto, você pode mapear diferentes colunas do conjunto de dados para colunas de entrada durante o processo de instalação da execução de avaliação.
Criar e enviar uma execução em lote de avaliação
Para enviar uma execução em lote, selecione o conjunto de dados com o qual testar seu fluxo. Você também pode selecionar um método de avaliação para calcular métricas para sua saída de fluxo. Se você não quiser usar um método de avaliação, você pode pular as etapas de avaliação e executar a execução em lote sem calcular nenhuma métrica. Você também pode executar uma rodada de avaliação mais tarde.
Para iniciar uma execução em lote com ou sem avaliação, selecione Avaliar na parte superior da página de fluxo de prompt.
Na página Configurações básicas do assistente Execução em lote & Avaliação, personalize o nome de exibição Executar, se desejado e, opcionalmente, forneça uma descrição e tags Executar. Selecione Seguinte.
Na página Configurações de execução em lote, selecione o conjunto de dados a ser usado e configure o mapeamento de entrada.
O fluxo de prompt suporta o mapeamento da entrada de fluxo para uma coluna de dados específica no conjunto de dados. Você pode atribuir uma coluna de conjunto de dados a uma determinada entrada usando
${data.<column>}
. Se quiser atribuir um valor constante a uma entrada, você pode inserir esse valor diretamente.Você pode selecionar Revisar + enviar neste momento para pular as etapas de avaliação e executar a execução em lote sem usar nenhum método de avaliação. Em seguida, a execução em lote gera saídas individuais para cada item no conjunto de dados. Você pode verificar as saídas manualmente ou exportá-las para análise posterior.
Caso contrário, para usar um método de avaliação para validar o desempenho dessa execução, selecione Avançar. Você também pode adicionar uma nova rodada de avaliação a uma execução em lote concluída.
Na página Selecionar avaliação, selecione uma ou mais avaliações personalizadas ou internas para executar. Você pode selecionar o botão Exibir detalhes para ver mais informações sobre o método de avaliação, como as métricas que ele gera e as conexões e entradas necessárias.
Em seguida, na tela Configurar avaliação , especifique as fontes de entradas necessárias para a avaliação. Por exemplo, a coluna verdade básica pode vir de um conjunto de dados. Por padrão, a avaliação usa o mesmo conjunto de dados que a execução geral do lote. No entanto, se os rótulos correspondentes ou os valores de verdade do terreno de destino estiverem em um conjunto de dados diferente, você poderá usá-lo.
Nota
Se o seu método de avaliação não requer dados de um conjunto de dados, a seleção do conjunto de dados é uma configuração opcional que não afeta os resultados da avaliação. Não é necessário selecionar um conjunto de dados ou fazer referência a nenhuma coluna de conjunto de dados na seção de mapeamento de entrada.
Na secção Mapeamento de entradas de avaliação, indique as fontes de entradas necessárias para a avaliação.
- Se os dados forem do seu conjunto de dados de teste, defina a origem como
${data.[ColumnName]}
. - Se os dados forem da saída de execução, defina a origem como
${run.outputs.[OutputName]}
.
- Se os dados forem do seu conjunto de dados de teste, defina a origem como
Alguns métodos de avaliação requerem LLMs (Large Language Models), como GPT-4 ou GPT-3, ou precisam de outras conexões para consumir credenciais ou chaves. Para esses métodos, você deve inserir os dados de conexão na seção Conexão na parte inferior desta tela para poder usar o fluxo de avaliação. Para obter mais informações, consulte Configurar uma conexão.
Selecione Rever + submeter para rever as suas definições e, em seguida, selecione Submeter para iniciar a execução em lote com avaliação.
Nota
- Alguns processos de avaliação usam muitos tokens, por isso é recomendado usar um modelo que possa suportar >tokens =16k.
- As execuções em lote têm uma duração máxima de 10 horas. Se uma execução em lote exceder esse limite, ela será encerrada e mostrada como falha. Monitore sua capacidade de LLM para evitar limitações. Se necessário, considere reduzir o tamanho dos seus dados. Se você ainda tiver problemas, envie um formulário de feedback ou uma solicitação de suporte.
Ver resultados e métricas da avaliação
Você pode encontrar a lista de execuções em lote enviadas na guia Execuções na página Fluxo de prompt do estúdio do Azure Machine Learning.
Para verificar os resultados de uma execução em lote, selecione a execução e, em seguida, selecione Visualizar saídas.
Na tela Visualizar saídas, a seção Execuções & métricas mostra os resultados gerais da execução em lote e da execução da avaliação. A seção Saídas mostra as entradas de execução linha por linha em uma tabela de resultados que também inclui ID de linha, Executar, Status e métricas do sistema.
Se você habilitar o ícone Exibir ao lado da execução da avaliação na seção Execuções & métricas, a tabela Saídas também mostrará a pontuação ou nota da avaliação para cada linha.
Selecione o ícone Exibir detalhes ao lado de cada linha na tabela Saídas para observar e depurar a visualização Rastrear e Detalhes desse caso de teste. O modo de exibição Rastreamento mostra informações como número de Tokens e duração desse caso. Expanda e selecione qualquer etapa para ver a Visão geral e as entradas dessa etapa.
Você também pode exibir os resultados da execução da avaliação a partir do fluxo de prompt testado. Em Exibir execuções em lote, selecione Exibir execuções em lote para ver a lista de execuções em lote para o fluxo ou selecione Exibir saídas de execução em lote mais recentes para ver as saídas para a execução mais recente.
Na lista de execução em lote, selecione um nome de execução em lote para abrir a página de fluxo dessa execução.
Na página de fluxo para uma execução de avaliação, selecione Exibir saídas ou Detalhes para ver detalhes do fluxo. Você também pode clonar o fluxo para criar um novo fluxo ou implantá-lo como um ponto de extremidade online.
Na tela Detalhes:
A guia Visão geral mostra informações abrangentes sobre a execução, incluindo propriedades de execução, conjunto de dados de entrada, conjunto de dados de saída, tags e descrição.
A guia Saídas mostra um resumo dos resultados na parte superior da página, seguido pela tabela de resultados da execução em lote. Se você selecionar a execução da avaliação ao lado de Acrescentar resultados relacionados, a tabela também mostrará os resultados da execução da avaliação.
A guia Logs mostra os logs de execução, que podem ser úteis para depuração detalhada de erros de execução. Pode transferir os ficheiros de registo.
A guia Métricas fornece um link para as métricas da execução.
A guia Rastreamento mostra informações detalhadas, como número de tokens e duração para cada caso de teste. Expanda e selecione qualquer etapa para ver a Visão geral e as entradas dessa etapa.
A guia Instantâneo mostra os arquivos e o código da execução. Você pode ver a definição de fluxo flow.dag.yaml e baixar qualquer um dos arquivos.
Iniciar uma nova ronda de avaliação para a mesma corrida
Você pode executar uma nova rodada de avaliação para calcular métricas para uma execução em lote concluída sem executar o fluxo novamente. Esse processo economiza o custo de executar novamente o fluxo e é útil nos seguintes cenários:
- Você não selecionou um método de avaliação quando enviou uma execução em lote e agora deseja avaliar o desempenho da execução.
- Você usou um método de avaliação para calcular uma determinada métrica e agora deseja calcular uma métrica diferente.
- Sua execução de avaliação anterior falhou, mas a execução em lote gerou saídas com êxito e você deseja tentar a avaliação novamente.
Para iniciar outra rodada de avaliação, selecione Avaliar na parte superior da página de fluxo de execução em lote. O assistente Nova avaliação é aberto na tela Selecionar avaliação . Conclua a configuração e envie a nova execução de avaliação.
A nova execução aparece na lista Executar fluxo de prompt e você pode selecionar mais de uma linha na lista e, em seguida, selecionar Visualizar saídas para comparar as saídas e métricas.
Compare o histórico e as métricas da execução da avaliação
Se você modificar seu fluxo para melhorar seu desempenho, poderá enviar várias execuções em lote para comparar o desempenho das diferentes versões de fluxo. Você também pode comparar as métricas calculadas por diferentes métodos de avaliação para ver qual método é mais adequado para o seu fluxo.
Para verificar o histórico de execução de lotes de fluxo, selecione Exibir execuções em lote na parte superior da página de fluxo. Você pode selecionar cada execução para verificar os detalhes. Você também pode selecionar várias execuções e selecionar Visualizar saídas para comparar as métricas e as saídas dessas execuções.
Compreender as métricas de avaliação incorporadas
O fluxo de prompt do Azure Machine Learning fornece vários métodos de avaliação internos para ajudá-lo a medir o desempenho da saída do fluxo. Cada método de avaliação calcula métricas diferentes. A tabela a seguir descreve os métodos de avaliação internos disponíveis.
Método de avaliação | Métrico | Description | É necessária ligação? | Entrada necessária | Valores de pontuação |
---|---|---|---|---|---|
Avaliação da Precisão da Classificação | Precisão | Mede o desempenho de um sistema de classificação comparando seus resultados com a verdade do terreno | Não | previsão, verdade fundamentada | No intervalo [0, 1] |
Avaliação de Fundamentação QnA | Fundamentação | Mede o quão fundamentadas estão as respostas previstas do modelo na fonte de entrada. Mesmo que as respostas do LLM sejam precisas, elas não têm fundamento se não forem verificáveis em relação à fonte. | Sim | pergunta, resposta, contexto (sem verdade fundada) | 1 a 5, com 1 = pior e 5 = melhor |
Avaliação de similaridade QnA GPT | Semelhança GPT | Mede a semelhança entre as respostas de verdade fornecidas pelo usuário e a resposta prevista do modelo usando um modelo GPT | Sim | pergunta, resposta, verdade fundamentada (contexto não necessário) | 1 a 5, com 1 = pior e 5 = melhor |
Avaliação da relevância da QnA | Relevância | Mede a relevância das respostas previstas do modelo para as perguntas feitas | Sim | pergunta, resposta, contexto (sem verdade fundada) | 1 a 5, com 1 = pior e 5 = melhor |
Avaliação da Coerência QnA | Coerência | Mede a qualidade de todas as frases na resposta prevista de um modelo e como elas se encaixam naturalmente | Sim | pergunta, resposta (sem verdade ou contexto) | 1 a 5, com 1 = pior e 5 = melhor |
Avaliação de Fluência QnA | Fluência | Mede a correção gramatical e linguística da resposta prevista do modelo | Sim | pergunta, resposta (sem verdade ou contexto) | 1 a 5, com 1 = pior e 5 = melhor |
Avaliação de Pontuações QnA F1 | Pontuação F1 | Mede a razão do número de palavras compartilhadas entre a previsão do modelo e a verdade do terreno | Não | pergunta, resposta, verdade fundamentada (contexto não necessário) | No intervalo [0, 1] |
Avaliação de Similaridade QnA Ada | Ada Semelhança | Calcula incorporações de nível de sentença (documento) usando a API de incorporação de Ada para verdade e previsão do solo e, em seguida, calcula a semelhança de cosseno entre elas (um número de ponto flutuante) | Sim | pergunta, resposta, verdade fundamentada (contexto não necessário) | No intervalo [0, 1] |
Melhorar o desempenho do fluxo
Se a execução falhar, verifique os dados de saída e de log e depure qualquer falha de fluxo. Para corrigir o fluxo ou melhorar o desempenho, tente modificar o prompt de fluxo, a mensagem do sistema, os parâmetros de fluxo ou a lógica de fluxo.
Engenharia de pedidos
A construção rápida pode ser difícil. Para saber mais sobre conceitos de construção de prompts, consulte Visão geral de prompts. Para saber como construir um prompt que pode ajudar a atingir suas metas, consulte Técnicas de engenharia de prompt.
Mensagem do sistema
Você pode usar a mensagem do sistema, às vezes chamada de metaprompt ou prompt do sistema, para orientar o comportamento de um sistema de IA e melhorar o desempenho do sistema. Para saber como melhorar o desempenho do fluxo com mensagens do sistema, consulte Criação passo a passo de mensagens do sistema.
Conjuntos de dados dourados
Criar um copiloto que usa LLMs normalmente envolve aterrar o modelo na realidade usando conjuntos de dados de origem. Um conjunto de dados dourado ajuda a garantir que os LLMs forneçam as respostas mais precisas e úteis às consultas dos clientes.
Um conjunto de dados dourado é uma coleção de perguntas realistas do cliente e respostas habilmente elaboradas que servem como uma ferramenta de garantia de qualidade para os LLMs que seu copiloto usa. Os conjuntos de dados Golden não são usados para treinar um LLM ou injetar contexto em um prompt LLM, mas para avaliar a qualidade das respostas que o LLM gera.
Se o seu cenário envolve um copiloto ou se você está construindo seu próprio copiloto, consulte Produzindo conjuntos de dados dourados para obter orientações detalhadas e práticas recomendadas.