Compartilhar via


Como avaliar modelos e aplicativos de IA generativa com o Azure AI Foundry

Para avaliar minuciosamente o desempenho de seus modelos e aplicativos de IA generativa quando aplicados a um conjunto de dados substancial, você pode iniciar um processo de avaliação. Durante essa avaliação, seu modelo ou aplicativo é testado com o conjunto de dados especificado, e o desempenho dele será medido quantitativamente com métricas baseadas em matemática e métricas assistidas por IA. Essa execução de avaliação fornece insights abrangentes sobre as funcionalidades e limitações do aplicativo.

Para realizar essa avaliação, você pode utilizar a funcionalidade de avaliação no portal do Azure AI Foundry, uma plataforma abrangente que oferece ferramentas e recursos para avaliar o desempenho e a segurança do seu modelo de IA generativa. No portal do IA do Azure Foundry, você pode registrar, visualizar e analisar métricas de avaliação detalhadas.

Neste artigo, você aprenderá a criar uma execução de avaliação em relação ao modelo, um conjunto de dados de teste ou um fluxo com métricas de avaliação internas da interface do usuário do Azure AI Foundry. Para maior flexibilidade, você pode estabelecer um fluxo de avaliação personalizado e empregar o recurso de avaliação personalizada. Como alternativa, se o objetivo for realizar apenas uma execução em lote sem nenhuma avaliação, você também poderá utilizar o recurso de avaliação personalizada.

Pré-requisitos

Para executar uma avaliação com métricas assistidas por IA, você precisa ter o seguinte pronto:

  • Um conjunto de dados de teste em um destes formatos: csv ou jsonl.
  • Uma conexão do OpenAI do Azure: Uma implantação de um destes modelos: modelos GPT 3.5, GPT 4 ou Davinci. Necessário somente quando você executa a avaliação de qualidade assistida por IA.

Criar uma avaliação com métricas de avaliação internas

Uma execução de avaliação permite que você gere saídas de métrica para cada linha de dados em seu conjunto de dados de teste. Você pode escolher uma ou mais métricas de avaliação para avaliar a saída de diferentes aspectos. Você pode criar uma execução de avaliação a partir das páginas de avaliação, catálogo de modelos ou prompt flow no portal do IA do Azure Foundry. Em seguida, um assistente de criação de avaliação aparece para guiá-lo pelo processo de configuração de uma execução de avaliação.

Na página de avaliação

No menu esquerdo recolhível, selecione Avaliação>+ Criar uma avaliação.

Captura de tela do botão para criar uma nova avaliação.

Na página do catálogo de modelos

No menu esquerdo recolhível, selecione Catálogo de modelos> vá para o modelo específico > navegue até a guia de parâmetro de comparação > Experimentar com seus dados. Isso abre o painel de avaliação do modelo para você criar uma execução de avaliação para o modelo selecionado.

Captura de tela do botão Experimentar com seus dados na página do catálogo de modelos.

Na página de fluxo

No menu esquerdo recolhível, selecione Prompt flow>Avaliar>Avaliação automatizada.

Captura de tela de como selecionar a avaliação interna.

Alvo da avaliação

Ao iniciar uma avaliação a partir da página de avaliação, você precisa decidir qual é o destino de avaliação primeiro. Ao especificar o destino de avaliação apropriado, podemos adaptar a avaliação à natureza específica do aplicativo, garantindo métricas precisas e relevantes. Há suporte para três tipos de alvos de avaliação:

  • Modelo e prompt: você deseja avaliar a saída gerada pelo modelo selecionado e pelo prompt definido pelo usuário.
  • Conjunto de dados: você já tem as suas saídas geradas por modelo em um conjunto de dados de teste.
  • Prompt flow: você criou um fluxo e deseja avaliar a saída do fluxo.

Captura de tela da seleção do alvo da avaliação.

Avaliação de prompt flow ou conjunto de dados

Quando entra no assistente de criação de avaliação, você pode fornecer um nome opcional para sua execução de avaliação. Atualmente, damos suporte ao cenário de consulta e resposta, que foi projetado para aplicativos que envolvem responder a consultas do usuário e fornecer respostas com ou sem informações de contexto.

Você também pode adicionar descrições e marcas a execuções de avaliação para aprimorar a organização, o contexto e a facilidade de recuperação.

Você pode, ainda, usar o painel de ajuda para verificar as perguntas frequentes e orientar-se no assistente.

Captura de tela da página de informações básicas ao criar uma nova avaliação.

Se você estiver avaliando um prompt flow, poderá selecionar o fluxo a ser avaliado. Se você iniciar a avaliação na página Fluxo, selecionaremos automaticamente o seu fluxo para avaliar. Se você pretende avaliar outro fluxo, poderá selecionar outro. É importante observar que, dentro de um fluxo, você pode ter vários nós, cada um deles pode ter seu próprio conjunto de variantes. Nesses casos, você deve especificar o nó e as variantes que deseja avaliar durante o processo de avaliação.

Captura de tela da seleção de um fluxo para avaliar a página ao criar uma nova avaliação.

Configurar dados de teste

Você pode selecionar entre conjuntos de dados pré-existentes ou carregar um novo conjunto de dados especificamente para avaliar. O conjunto de dados de teste precisa ter as saídas geradas pelo modelo a serem usadas para avaliação se não houver nenhum fluxo selecionado na etapa anterior.

  • Escolha o conjunto de dados existente: você pode escolher o conjunto de dados de teste na coleção de conjuntos de dados estabelecida.

    Captura de tela da opção para escolher dados de teste ao criar uma nova avaliação.

  • Adicionar novo conjunto de dados: você pode carregar os arquivos do seu armazenamento local. Só damos suporte aos formatos de arquivo .csv e .jsonl.

    Captura de tela da opção carregar arquivo ao criar uma nova avaliação.

  • Mapeamento de dados do fluxo: se você selecionar um fluxo para avaliar, certifique-se de que suas colunas de dados estejam configuradas para se alinharem com as entradas necessárias para que o fluxo execute uma execução em lote, gerando saída para avaliação. Em seguida, a avaliação será realizada usando a saída do fluxo. Posteriormente, configure o mapeamento de dados para as entradas de avaliação na próxima etapa.

    Captura de tela do mapeamento do conjunto de dados ao criar uma nova avaliação.

Selecione métricas

Damos suporte a três tipos de métricas coletados pela Microsoft para facilitar uma avaliação abrangente do seu aplicativo:

  • Qualidade da IA (assistida por IA): essas métricas avaliam a qualidade e a coerência geral do conteúdo gerado. Para executar essas métricas, ela requer uma implantação de modelo como juiz.
  • Qualidade da IA (NLP): essas métricas de NLP são baseadas em matemática e também avaliam a qualidade geral do conteúdo gerado. Geralmente, exigem dados de verdade básicos, mas não exigem uma implantação de modelo como juiz.
  • Métricas de risco e segurança: essas métricas se concentram em identificar possíveis riscos de conteúdo e garantir a segurança do conteúdo gerado.

Captura de tela da opção Escolher o que você gostaria de avaliar com a qualidade e a segurança da IA selecionadas.

Você pode consultar a tabela para obter a lista completa de métricas para as quais oferecemos suporte em cada cenário. Para obter informações mais detalhadas sobre cada definição de métrica e como ela é calculada, consulte as Métricas de avaliação e monitoramento.

Qualidade da IA (assistida por IA) Qualidade da IA (NLP) Métricas de risco e de segurança
Fundamentação, relevância, coerência, fluência, similaridade com GPT Medida f, ROUGE, pontuação, pontuação BLEU, pontuação GLEU, pontuação METEOR Conteúdo relacionado à automutilação, conteúdo odioso e injusto, conteúdo violento, conteúdo sexual, material protegido, ataque indireto

Ao executar uma avaliação de qualidade assistida por IA, você deve especificar um modelo GPT para o processo de cálculo. Escolha uma conexão OpenAI do Azure e uma implantação com GPT-3.5, GPT-4 ou o modelo Davinci, para nossos cálculos.

Captura de tela da qualidade da IA (assistida por IA) com métricas de fundamentação, relevância e coerência selecionadas ao criar uma avaliação.

As métricas de qualidade da IA (NLP) são medidas baseadas em matemática que avaliam o desempenho do aplicativo. Geralmente, elas exigem dados de verdade básicos para o cálculo. ROUGE é uma família de métricas. Você pode selecionar o tipo ROUGE para calcular as pontuações. Vários tipos de métricas ROUGE oferecem maneiras de avaliar a qualidade da geração de texto. ROUGE-N mede a sobreposição de n-gramas entre o candidato e os textos de referência.

Captura de tela da qualidade da IA (NLP) com métricas de fundamentação, relevância e coerência selecionadas ao criar uma avaliação.

Para métricas de risco e segurança, não é necessário fornecer uma conexão e implantação. O serviço de back-end de avaliações de segurança do portal do Azure AI Foundry provisiona um modelo do GPT-4 que pode gerar pontuações de severidade de risco de conteúdo e raciocínio para permitir que você avalie o seu aplicativo quanto a danos de conteúdo.

Você pode definir o limite para calcular a taxa de defeitos para as métricas de dano de conteúdo (conteúdo relacionado à automutilação, conteúdo odioso e injusto, conteúdo violento, conteúdo sexual). A taxa de defeito é calculada levando um percentual de instâncias com níveis de gravidade (muito baixo, baixo, médio, alto) acima de um limite. Por padrão, definimos o limite como “Médio”.

Para material protegido e ataque indireto, a taxa de defeitos é calculada usando um percentual de instâncias em que a saída é "true" (Taxa de Defeito = (#true / #instâncias) × 100).

Captura de tela das métricas de risco e segurança selecionadas pela Microsoft mostrando automutilação, material protegido e ataque indireto selecionados.

Observação

As métricas de segurança e risco assistidas por IA são hospedadas pelo serviço de back-end de avaliações de segurança do Azure AI Foundry e só estão disponíveis nas seguintes regiões: Leste dos EUA 2, França Central, Sul do Reino Unido, Suécia Central

Mapeamento de dados para avaliação: você deve especificar quais colunas de dados no seu conjunto de dados correspondem às entradas necessárias na avaliação. Diferentes métricas de avaliação exigem tipos distintos de entradas de dados para cálculos precisos.

Captura de tela do mapeamento do conjunto de dados para sua entrada de avaliação.

Observação

Se você estiver avaliando dos dados, “resposta” deve mapear para a coluna de resposta no seu conjunto de dados ${data$response}. Se você estiver avaliando do fluxo, “resposta” deve vir da saída do fluxo ${run.outputs.response}.

Para obter orientação sobre os requisitos específicos de mapeamento de dados relativos a cada métrica, consulte as informações fornecidas na tabela:

Requisitos de métrica de consulta e resposta
Metric Consulta Resposta Context Verdade básica
Fundamentação Obrigatório: Str Obrigatório: Str Obrigatório: Str N/D
Coerência Obrigatório: Str Obrigatório: Str N/D N/D
Fluência Obrigatório: Str Obrigatório: Str N/D N/D
Relevância Obrigatório: Str Obrigatório: Str Obrigatório: Str N/D
GPT-similarity Obrigatório: Str Obrigatório: Str N/D Obrigatório: Str
Medida f N/D Obrigatório: Str N/D Obrigatório: Str
Pontuação BLEU N/D Obrigatório: Str N/D Obrigatório: Str
Pontuação GLEU N/D Obrigatório: Str N/D Obrigatório: Str
Pontuação METEOR N/D Obrigatório: Str N/D Obrigatório: Str
Pontuação ROUGE N/D Obrigatório: Str N/D Obrigatório: Str
Conteúdo relacionado à automutilação Obrigatório: Str Obrigatório: Str N/D N/D
Conteúdo odioso e injusto Obrigatório: Str Obrigatório: Str N/D N/D
Conteúdo violento Obrigatório: Str Obrigatório: Str N/D N/D
Conteúdo sexual Obrigatório: Str Obrigatório: Str N/D N/D
Material protegido Obrigatório: Str Obrigatório: Str N/D N/D
Ataque indireto Obrigatório: Str Obrigatório: Str N/D N/D
  • Consulta: uma consulta que busca informações específicas.
  • Resposta: a resposta para a consulta gerada pelo modelo.
  • Contexto: a origem em relação à qual a resposta é gerada (ou seja, documentos de fundamentação)...
  • Verdade básica: a resposta à consulta gerada pelo usuário/humano como a resposta verdadeira.

Revisar e concluir

Depois de concluir todas as configurações necessárias, você pode examinar e continuar selecionando "Enviar" para enviar a execução de avaliação.

Captura de tela da página de revisão e término para criar uma nova avaliação.

Avaliação de modelo e prompt

Para criar uma avaliação para a implantação de modelo selecionada e o prompt definido, use o painel de avaliação de modelo simplificado. Essa interface simplificada permite configurar e iniciar avaliações em um só painel consolidado.

Informações Básicas

Para começar, você pode configurar o nome para a execução de avaliação. Em seguida, selecione a implantação de modelo que deseja avaliar. Damos suporte a modelos do OpenAI do Azure e a outros modelos abertos compatíveis com MaaS (Modelo como Serviço), como o Meta Llama e os modelos da família Phi-3. Opcionalmente, você pode ajustar os parâmetros do modelo, como resposta máxima, temperatura e P superior com base em suas necessidades.

Na caixa de texto da mensagem do sistema, forneça o prompt para seu cenário. Para obter mais informações sobre como criar o prompt, consulte o catálogo de prompts. Você pode optar por adicionar um exemplo para mostrar ao chat quais respostas deseja. Ele tentará imitar todas as respostas que você adicionar aqui para garantir que correspondam às regras que você estabeleceu na mensagem do sistema.

Captura de tela das informações básicas.

Configurar dados de teste

Depois de configurar o modelo e o prompt, configure o conjunto de dados de teste que será usado para avaliação. Esse conjunto de dados será enviado ao modelo para gerar respostas para avaliação. Você tem três opções para configurar os dados de teste:

  • Gerar dados de exemplo
  • Usar conjunto de dados existente
  • Adicionar seu conjunto de dados

Se você não tem um conjunto de dados prontamente disponível e quer executar uma avaliação com uma pequena amostra, pode selecionar a opção de usar um modelo GPT para gerar perguntas de exemplo com base no tópico escolhido. O tópico ajuda a adaptar o conteúdo gerado à sua área de interesse. As consultas e as respostas serão geradas em tempo real, e você terá a opção de regenerá-las conforme necessário.

Observação

O conjunto de dados gerado será salvo no armazenamento de blobs do projeto depois que a execução da avaliação for criada.

Captura de tela da configuração de dados de teste.

Mapeamento de dados

Se você optar por usar um conjunto de dados existente ou carregar um novo conjunto de dados, precisará mapear as colunas do conjunto de dados para os campos necessários para avaliação. Durante a avaliação, a resposta do modelo será avaliada em relação a entradas-chave, como:

  • Consulta: necessária para todas as métricas
  • Contexto: opcional
  • Verdade básica: opcional, necessária para métricas de qualidade da IA (NLP)

Esses mapeamentos garantem um alinhamento preciso entre seus dados e os critérios de avaliação.

Captura de tela da escolha da coluna de dados.

Escolher métricas de avaliação

A última etapa é selecionar o que você gostaria de avaliar. Em vez de selecionar métricas individuais e ter que se familiarizar com todas as opções disponíveis, simplificamos o processo permitindo que você selecione categorias de métricas que melhor atendam às suas necessidades. Quando você escolhe uma categoria, todas as métricas relevantes nessa categoria são calculadas com base nas colunas de dados fornecidas na etapa anterior. Depois de selecionar as categorias de métricas, você pode selecionar “Criar” para enviar a execução de avaliação e ir para a página de avaliação para ver os resultados.

Há suporte para três categorias:

  • Qualidade da IA (assistida por IA): você precisa fornecer uma implantação de modelo do OpenAI do Azure como juiz para calcular as métricas assistidas por IA.
  • Qualidade da IA (NLP)
  • Segurança
Qualidade da IA (assistida por IA) Qualidade da IA (NLP) Segurança
Fundamentação (exigir contexto), Relevância (exigir contexto), Coerência, Fluência Medida f, ROUGE, pontuação, pontuação BLEU, pontuação GLEU, pontuação METEOR Conteúdo relacionado à automutilação, conteúdo odioso e injusto, conteúdo violento, conteúdo sexual, material protegido, ataque indireto

Criar uma avaliação com fluxo de avaliação personalizado

Você pode desenvolver seus métodos de avaliação:

Na página de fluxo: no menu esquerdo recolhível, selecione Prompt flow>Avaliar>Avaliação personalizada.

Captura de tela de como criar uma avaliação personalizada de um prompt flow.

Exibir e gerenciar os avaliadores na biblioteca de avaliadores

A biblioteca de avaliadores é um local centralizado que permite ver os detalhes e o status de seus avaliadores. Você pode exibir e gerenciar avaliadores coletados pela Microsoft.

Dica

Você pode usar avaliadores personalizados por meio do SDK de prompt flow. Para obter mais informações, confira Avaliar com o SDK do prompt flow.

A biblioteca de avaliadores também habilita o gerenciamento de versão. Você pode comparar diferentes versões do seu trabalho, restaurar versões anteriores, se necessário, e colaborar com outras pessoas com mais facilidade.

Para usar a biblioteca do avaliador no portal do IA do Azure Foundry, acesse a página Avaliação do seu projeto e selecione a guia Biblioteca do avaliador.

Captura de tela da página para selecionar os avaliadores da biblioteca de avaliadores.

Você pode selecionar o nome do avaliador para ver mais detalhes. Você pode ver o nome, a descrição e os parâmetros e verificar os arquivos associados ao avaliador. Aqui estão alguns exemplos de avaliadores coletados pela Microsoft:

  • Para avaliadores de desempenho e qualidade coletados pela Microsoft, você pode exibir o prompt de anotação na página de detalhes. Você pode adaptar esses prompts ao seu caso de uso alterando os parâmetros ou critérios de acordo com seus dados e objetivos com o SDK de Avaliação da IA do Azure. Por exemplo, você pode selecionar Avaliador-de-Fundamentação e marcar o arquivo Prompty mostrando como calculamos a métrica.
  • Para avaliadores de risco e segurança coletados pela Microsoft, você pode ver a definição das métricas. Por exemplo, você pode selecionar o Avaliador-de-Conteúdo-Relacionado-a-Automutilação e aprender o que ele significa e como a Microsoft determina os vários níveis de gravidade para essa métrica de segurança.

Próximas etapas

Saiba mais sobre como avaliar seus aplicativos de IA generativa: