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
oujsonl
. - 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.
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.
Na página de fluxo
No menu esquerdo recolhível, selecione Prompt flow>Avaliar>Avaliação automatizada.
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.
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.
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.
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.
Adicionar novo conjunto de dados: você pode carregar os arquivos do seu armazenamento local. Só damos suporte aos formatos de arquivo
.csv
e.jsonl
.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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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: