Compartilhar via


Avaliação de aplicativos de IA gerativa

Importante

Alguns dos recursos descritos nesse artigo podem estar disponíveis apenas na versão prévia. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Os avanços nos modelos de linguagem, como GPT-4 pelo Serviço OpenAI do Azure, oferecem uma grande promessa ao mesmo tempo em que vêm com desafios relacionados à IA responsável. Se não forem projetados com cuidado, os sistemas criados com base nesses modelos podem perpetuar preconceitos sociais existentes, promover a desinformação, criar conteúdo manipulador ou gerar a uma ampla gama de outros impactos negativos. O endereçamento desses riscos ao maximizar os benefícios para os usuários é possível com uma abordagem iterativa por meio de quatro estágios: identificar, medir, reduzir e operar.

O estágio de medição fornece informações cruciais para orientar o desenvolvimento em direção à qualidade e segurança. Por um lado, isso inclui avaliação de desempenho e qualidade. Por outro lado, ao avaliar o risco e a segurança, isso inclui a avaliação da predisposição de um sistema de IA em relação a diferentes riscos (cada um deles pode ter severidades diferentes). Em ambos os casos, isso é feito estabelecendo métricas claras, criando conjuntos de testes e concluindo testes iterativos e sistemáticos. Esse estágio de medida fornece aos profissionais sinais que informam as etapas de mitigação direcionadas, como a engenharia de prompts e a aplicação de filtros de conteúdo. Depois que as mitigações são aplicadas, é possível repetir as avaliações para testar a eficácia.

O Estúdio de IA do Azure fornece aos profissionais ferramentas para avaliação manual e automatizada que podem ajudá-lo com o estágio de medição. Recomendamos que você comece com a avaliação manual e, em seguida, prossiga para avaliação automatizada. A avaliação manual, ou seja, revisar manualmente as saídas geradas pelo aplicativo, é útil para acompanhar o progresso em um pequeno conjunto de problemas de prioridade. Ao atenuar riscos específicos, geralmente é mais produtivo continuar verificando manualmente o progresso em um pequeno conjunto de dados até que a evidência dos riscos não seja mais observada antes de passar para a avaliação automatizada. O Estúdio de IA do Azure dá suporte a uma experiência de avaliação manual para verificar pequenos conjuntos de dados.

A avaliação automatizada é útil para medir a qualidade e a segurança em escala com maior cobertura para fornecer resultados mais abrangentes. As ferramentas de avaliação automatizadas também permitem avaliações contínuas que são executadas periodicamente para monitorar a regressão à medida que o sistema, o uso e as mitigações evoluem. Oferecemos suporte a dois métodos principais para avaliação automatizada de aplicativos de IA generativos: avaliações tradicionais de machine learning e avaliação assistida por IA.

Medidas tradicionais de aprendizado de máquina

No contexto da IA gerativa, as avaliações tradicionais de machine learning (produzindo métricas tradicionais de machine learning) são úteis quando queremos quantificar a precisão das saídas geradas em comparação com as respostas esperadas. As métricas tradicionais são benéficas quando se tem acesso à verdade básica e às respostas esperadas.

  • A verdade básica refere-se a dados que acreditamos serem verdadeiros e, portanto, usados como uma linha de base para comparações.
  • As respostas esperadas são os resultados que acreditamos que devem ocorrer com base em nossos dados de verdade básica. Por exemplo, em tarefas como classificação ou resposta a perguntas de forma curta, em que normalmente há uma resposta correta ou esperada, pontuações F1 ou métricas tradicionais semelhantes podem ser usadas para medir a precisão e o recall de saídas geradas em relação às respostas esperadas.

Métricas tradicionais também são úteis quando queremos entender o quanto as saídas geradas estão regredindo, ou seja, desviando-se das respostas esperadas. Eles fornecem uma medida quantitativa de erro ou desvio, permitindo que acompanhemos o desempenho do sistema ao longo do tempo ou comparemos o desempenho de diferentes sistemas. Essas métricas, no entanto, podem ser menos adequadas para tarefas que envolvem criatividade, ambiguidade ou várias soluções corretas, pois essas métricas normalmente tratam qualquer desvio da resposta esperada como um erro.

Avaliações assistidas por IA

LLMs (modelos de linguagem grande), como GPT-4, podem ser usados para avaliar a saída dos sistemas de linguagem de IA gerativa. Isso é feito instruindo um LLM a anotar determinados aspectos da saída gerada por IA. Por exemplo, você pode fornecer GPT-4 com uma escala de severidade de relevância (por exemplo, fornecer critérios para anotação de relevância em uma escala de 1 a 5) e, em seguida, pedir GPT-4 para anotar a relevância da resposta de um sistema de IA a uma determinada pergunta.

As avaliações assistidas por IA podem ser benéficas em cenários em que a verdade básica e as respostas esperadas não estão disponíveis. Em muitos cenários de IA generativos, como resposta a perguntas abertas ou escrita criativa, respostas corretas simples não existem, tornando desafiador estabelecer a verdade básica ou as respostas esperadas necessárias para as métricas tradicionais.

Nesses casos,avaliações assistidas por IA podem ajudar a medir conceitos importantes, como a qualidade e a segurança das saídas geradas. Aqui, a qualidade refere-se a atributos de desempenho e qualidade, como relevância, coerência, fluência e aterramento. Segurança refere-se a atributos de risco e segurança, como presença de conteúdo prejudicial (riscos de conteúdo).

Para cada um desses atributos, a conceitualização e a experimentação cuidadosas são necessárias para criar as instruções de LLM e a escala de severidade. Às vezes, esses atributos se referem a conceitos sociotécnicos complexos que pessoas diferentes podem ver de forma diferente. Portanto, é fundamental que as instruções de anotação do LLM sejam criadas para representar uma definição concreta e acordada do atributo. Em seguida, é igualmente crítico garantir que o LLM aplique as instruções de forma consistente com os anotadores de especialistas humanos.

Ao instruir uma LLM a anotar esses atributos, você pode criar uma métrica para o desempenho de um aplicativo de IA generativo mesmo quando não há uma única resposta correta. As avaliações assistidas por IA fornecem uma maneira flexível e matizada de avaliar aplicativos de IA gerativa, especialmente em tarefas que envolvem criatividade, ambiguidade ou várias soluções corretas. No entanto, a confiabilidade e a validade dessas avaliações dependem da qualidade da LLM e das instruções fornecidas a ela.

Métricas de qualidade e desempenho assistidas por IA

Para executar avaliações de qualidade e desempenho assistidas por IA, uma LLM é possivelmente aproveitada para duas funções separadas. Primeiro, um conjunto de dados de teste deve ser criado. Isso pode ser criado manualmente escolhendo prompts e capturando respostas de seu sistema de IA ou pode ser criado de forma sintética simulando interações entre seu sistema de IA e uma LLM (conhecida como o gerador de conjunto de dados assistido por IA no diagrama a seguir). Em seguida, um LLM também é usado para anotar as saídas do sistema de IA no conjunto de testes. Por fim, as anotações são agregadas em métricas de desempenho e qualidade e registradas no seu projeto do Estúdio de IA para exibição e análise.

Diagrama de avaliação de aplicativos de qualidade de IA generativos no Estúdio de IA.

Observação

Atualmente, há suporte para GPT-4 e GPT-3 como modelos para avaliações assistidas por IA. Para usar esses modelos para avaliações, você precisa estabelecer conexões válidas. Observe que recomendamos fortemente o uso do GPT-4, pois ele oferece melhorias significativas na compreensão contextual e na adesão às instruções.

Métricas de segurança e risco assistidos por IA

Uma aplicação de avaliações de desempenho e qualidade assistidas por IA é a criação de métricas de risco e segurança assistidas por IA. Para criar métricas de segurança e risco assistidos por IA, as avaliações de segurança do Estúdio de IA do Azure provisionam um modelo GPT-4 de OpenAI do Azure hospedado em um serviço de back-end e, em seguida, orquestra cada uma das duas etapas dependentes de LLM:

  • Simulando interações adversárias com seu sistema de IA generativo:

    Gere um conjunto de dados de teste de alta qualidade de entradas e respostas simulando trocas de turno único ou de várias voltas orientadas por prompts destinados a gerar respostas prejudiciais. 

  • Anotando o conjunto de dados de teste para riscos de conteúdo ou segurança:

    Anotar cada interação do conjunto de dados de teste com uma severidade e um raciocínio derivados de uma escala de severidade definida para cada tipo de conteúdo e risco de segurança.

Como os modelos GPT-4 provisionados atuam como um gerador de conjunto de dados adversário ou um anotador, seus filtros de segurança são desativados e os modelos são hospedados em um serviço de back-end. Os prompts usados para essas LLMs e os conjuntos de dados de prompt do adversário de destino também são hospedados no serviço. Devido à natureza confidencial do conteúdo que está sendo gerado e passado pela LLM, os modelos e ativos de dados não são diretamente acessíveis aos clientes do Estúdio de IA do Azure.

Os conjuntos de dados de prompt direcionados ao adversário foram desenvolvidos por pesquisadores da Microsoft, cientistas aplicados, linguistas e especialistas em segurança para ajudar os usuários a começar a avaliar os riscos de conteúdo e segurança em sistemas de IA generativos.

Se você já tiver um conjunto de dados de teste com prompts de entrada e respostas do sistema de IA (por exemplo, registros do agrupamento vermelho), poderá passar diretamente esse conjunto de dados para ser anotado pelo avaliador de risco de conteúdo. As avaliações de segurança podem ajudar a aumentar e acelerar os esforços manuais de agrupamento vermelho, permitindo que as equipes vermelhas gerem e automatizem prompts adversários em escala. No entanto, as avaliações assistidas por IA não são projetadas para substituir a revisão humana nem para fornecer uma cobertura abrangente de todos os riscos possíveis.

Diagrama de avaliação da segurança de IA generativa no Estúdio de AI.

Avaliar a vulnerabilidade de jailbreak

Ao contrário dos riscos de conteúdo, a vulnerabilidade de jailbreak não pode ser medida de forma confiável com anotação direta por uma LLM. No entanto, a vulnerabilidade de jailbreak pode ser medida por meio da comparação de dois conjuntos de dados de teste paralelos: um conjunto de dados de teste de adversário de linha de base versus o mesmo conjunto de dados de teste adversário com injeções de jailbreak no primeiro turno. Cada conjunto de dados pode ser anotado pelo avaliador de risco de conteúdo assistido por IA, produzindo uma taxa de defeito de risco de conteúdo para cada um. Em seguida, o usuário avalia a vulnerabilidade de jailbreak comparando as taxas de defeito e observando casos em que o conjunto de dados jailbreak gerou mais defeitos de gravidade. Por exemplo, se uma instância nesses conjuntos de dados de teste paralelo for anotada como mais grave para a versão com uma injeção de jailbreak, essa instância será considerada um defeito de jailbreak.

Para saber mais sobre os tipos de tarefas compatíveis e as métricas internas, consulte métricas de avaliação e monitoramento para IA gerativa.

Avaliar e monitorar aplicativos de IA gerativa

O Estúdio de IA do Azure dá suporte a vários caminhos distintos para desenvolvedores de aplicativos de IA gerativa avaliarem os próprios aplicativos:

Diagrama de fluxo de avaliação e monitoramento com caminhos diferentes para avaliar aplicativos de IA generativos.

  • Playground: no primeiro caminho, você pode começar participando de uma experiência de "playground". Aqui, você tem a opção de selecionar os dados que deseja usar para fundamentar seu modelo, escolher o modelo base para o aplicativo e fornecer instruções de metaprompt para orientar o comportamento do modelo. Em seguida, você pode avaliar manualmente o aplicativo passando um conjunto de dados e observando as respostas do aplicativo. Depois que a inspeção manual for concluída, você poderá optar por usar o assistente de avaliação para realizar avaliações mais abrangentes, por meio de métricas tradicionais ou avaliações assistidas por IA.

  • Fluxos: a página Prompt flow do Estúdio de IA do Azure oferece uma ferramenta de desenvolvimento dedicada personalizada para simplificar todo o ciclo de vida de aplicativos de IA alimentados por LLMs. Com este caminho, você pode criar fluxos executáveis que vinculam LLMs, prompts e ferramentas do Python por meio de um grafo visualizado. Esse recurso simplifica a depuração, o compartilhamento e as iterações colaborativas de fluxos. Além disso, você pode criar variantes de prompt e avaliar o desempenho delas por meio de testes em larga escala.
    Além da ferramenta de desenvolvimento 'Fluxos', você também tem a opção de desenvolver seus aplicativos de IA gerativa usando uma experiência de SDK code-first. Independentemente do caminho de desenvolvimento escolhido, você pode avaliar os fluxos criados por meio do assistente de avaliação, acessível na guia 'Fluxos' ou por meio da experiência do SDK/CLI. Na guia ‘Fluxos’, você ainda tem a flexibilidade de usar um assistente de avaliação personalizado e incorporar suas métricas.

  • Avaliação direta do conjunto de dados: se você coletou um conjunto de dados que contém interações entre o aplicativo e os usuários finais, poderá enviar esses dados diretamente para o assistente de avaliação na guia "Avaliação". Esse processo permite a geração de avaliações automáticas assistidas por IA, e os resultados podem ser visualizados na mesma guia. Essa abordagem concentra-se em um método de avaliação centrado em dados. Como alternativa, você tem a opção de avaliar seu conjunto de dados de conversa usando a experiência do SDK/CLI e gerar e visualizar avaliações por meio do Estúdio de IA do Azure.

Depois de avaliar seus aplicativos, fluxos ou dados de qualquer um desses canais, você pode continuar a implantar seu aplicativo de IA gerativa e monitorar sua qualidade e segurança em um ambiente de produção à medida que ele se envolve em novas interações com seus usuários.

Próximas etapas