Compartilhar via


Avaliação de ponta a ponta do grande modelo de linguagem

Nesta fase, você avalia sua solução de Geração Aumentada de Recuperação (RAG) examinando os prompts de usuário esperados que contêm os dados de base recuperados, em comparação com o modelo de linguagem. Antes de chegar a essa fase, você deve concluir as fases anteriores. Você precisa coletar seus documentos e consultas de teste, dividir os documentos de teste, enriquecer as partes, inserir as partes, criar um índice de pesquisa e implementar uma estratégia de pesquisa. Em seguida, você deve avaliar cada uma dessas fases e garantir que os resultados atendam às suas expectativas. Neste ponto, você deve ter certeza de que sua solução retorna dados de aterramento relevantes para uma consulta de usuário.

Esses dados fundamentais formam o contexto do prompt que você envia para o modelo de linguagem para abordar a consulta do usuário. Estratégias de engenharia de prompt estão além do escopo deste artigo. Este artigo aborda a avaliação da chamada projetada para o modelo de linguagem, a partir da perspectiva dos dados de fundamentação. Este artigo aborda métricas de avaliação de modelo de linguagem comum e métricas específicas de similaridade e avaliação que você pode usar em cálculos de avaliação de modelo ou como métricas autônomas.

Este artigo não tenta fornecer uma lista completa de métricas de modelo de idioma ou métricas de similaridade e avaliação. O que é importante para você tirar deste artigo é que há várias métricas que cada uma tem casos de uso distintos. Somente você tem uma compreensão holística da carga de trabalho. Você e seus cientistas de dados devem determinar o que você deseja medir e quais métricas são apropriadas.

Este artigo faz parte de uma série. Leia primeiro a introdução .

Métricas de avaliação do modelo de linguagem

Há várias métricas que você deve usar para avaliar a resposta do modelo de idioma, incluindo aterramento, integridade, utilização, relevância e correção. Como a meta geral do padrão RAG é fornecer dados relevantes como contexto para um modelo de linguagem ao gerar uma resposta, idealmente, cada uma das métricas acima deve pontuar muito. No entanto, dependendo da carga de trabalho, talvez seja necessário priorizar um em vez do outro.

Importante

As respostas do modelo de linguagem são não determinísticas, o que significa que o mesmo prompt para um modelo de linguagem geralmente retorna resultados diferentes. Esse conceito é importante para entender quando você usa um modelo de linguagem como parte do processo de avaliação. Considere usar um intervalo de destino em vez de um único destino ao avaliar o uso do modelo de linguagem.

Fundamentação

O fundamento, às vezes chamado de fidelidade, mede se a resposta é baseada completamente no contexto. Ele valida que a resposta não está usando informações diferentes do que existe no contexto. Uma métrica de baixa fundamentação indica que o modelo de linguagem pode estar gerando respostas imprecisas ou sem sentido.

Calcular fundamentação

Use os seguintes métodos para calcular a fundamentação das respostas:

Avaliar a fundamentação

Um cálculo de baixa fundamentação indica que o modelo de linguagem não vê os segmentos como relevantes. Você deve avaliar se precisa adicionar dados à sua coleção, ajustar sua estratégia de agrupamento ou tamanho dos blocos, ou ajustar o seu prompt.

Completude

A completude mede se a resposta atende a todas as partes da consulta. A completude ajuda você a entender se as partes no contexto são pertinentes, se se relacionam diretamente com a consulta e fornecem uma resposta completa.

Calcular a completude

Use os seguintes métodos para calcular a integridade das respostas:

  • Solicitação de pontuação de recuperação assistida por IA.
  • Um modelo de linguagem pode ajudá-lo a medir a qualidade da resposta do modelo de idioma. Você precisa da pergunta, do contexto e da resposta gerada para fazer essa medida. As etapas a seguir descrevem o processo de alto nível:
    1. Use o modelo de linguagem para reformular, resumir ou simplificar a pergunta. Esta etapa identifica a intenção.
    2. Solicite ao modelo para verificar se a intenção ou a resposta à intenção é encontrada ou pode ser derivada dos documentos recuperados. A resposta pode ser "sim" ou "não" para cada documento. As respostas que começam com "sim" indicam que os documentos recuperados são relevantes para a intenção ou resposta à intenção.
    3. Calcule a proporção das intenções que têm uma resposta que começa com "sim".
    4. Eleve a pontuação ao quadrado para destacar os erros.

Avaliar a integridade

Se a completude for baixa, comece a trabalhar para aumentá-la avaliando seu modelo de incorporação. Compare o vocabulário em seu conteúdo com o vocabulário em seu modelo de inserção. Determine se você precisa de um modelo de inserção específico do domínio ou se deve ajustar um modelo existente. A próxima etapa é avaliar sua estratégia de agrupamento. Se você usar agrupamento de tamanho fixo, considere aumentar o tamanho dos grupos. Você também pode avaliar se os dados de teste têm dados suficientes para resolver completamente a questão.

Utilização

A utilização mede até que ponto a resposta consiste em informações dos blocos no contexto. A meta é determinar até que ponto cada parte faz parte da resposta. A baixa utilização indica que seus resultados podem não ser relevantes para a consulta. Avalie a utilização junto com a completude.

Calcular a utilização

Use um modelo de idioma para calcular a utilização. Você pode passar a resposta e o contexto que contém as partes para o modelo de linguagem. Você pode pedir ao modelo de linguagem para determinar o número de fragmentos que implicam a resposta.

Avaliar a utilização

A tabela a seguir fornece diretrizes sobre como avaliar a integridade e a utilização.

Alta utilização Baixa utilização
Alta completude Nenhuma ação é necessária. Nesse caso, os dados retornados abordam a questão, mas também retornam partes irrelevantes. Considere reduzir o valor do parâmetro top-k para produzir resultados mais prováveis ou determinísticos.
Baixa completude Nesse caso, o modelo de linguagem usa as partes que você fornece, mas elas não abordam totalmente a questão. Considere executar as seguintes etapas:
  • Examine sua estratégia de agrupamento para aumentar o contexto dentro das partes.
  • Aumente o número de partes aumentando o valor do parâmetro top-k.
  • Avalie se você tem partes que não foram retornadas que podem aumentar a completude. Nesse caso, investigue por que eles não foram retornados.
  • Confira as orientações na seção de completude.
Nesse caso, os dados retornados não respondem totalmente à pergunta e as partes fornecidas não são completamente utilizadas. Considere executar as seguintes etapas:
  • Examine sua estratégia de agrupamento para aumentar o contexto dentro das partes. Se você usar agrupamento de tamanho fixo, considere aumentar os tamanhos dos grupos.
  • Ajuste seus prompts para melhorar as respostas.

Relevância

Relevância mede até que ponto a resposta do modelo de linguagem é pertinente e relacionada à consulta.

Calcular relevância

Use os seguintes métodos para calcular a relevância das respostas:

Nota

Você pode usar o portal do Azure AI Foundry para executar os cálculos ou usar as diretrizes neste artigo para calcular a relevância por conta própria.

Avaliar relevância

Quando a relevância for baixa, execute as seguintes tarefas:

  1. Verifique se as partes fornecidas para o modelo de linguagem são relevantes.
    • Verifique se há pedaços relevantes e viáveis que não estão sendo retornados. Se você descobrir essas partes, avalie seu modelo de inserção.
    • Se não houver partes viáveis, verifique se existem dados relevantes. Se isso acontecer, avalie sua estratégia de fragmentação.
  2. Se fragmentos relevantes forem retornados, avalie seu prompt.

As pontuações dos métodos de avaliação como a saída de completude devem produzir resultados que sejam semelhantes aos resultados de relevância.

Exatidão

Correção mede o grau em que a resposta é precisa e baseada em fatos.

Calcular a correção

Há várias maneiras de avaliar a correção, incluindo:

  • Modelo de linguagem - Use um modelo de linguagem para calcular a correção. Você pode passar a resposta para o modelo de idioma, idealmente um modelo de linguagem diferente do usado para gerar o resultado. Você pode solicitar que o modelo de linguagem determine se a resposta é factual ou não.
  • Fonte confiável externa – Use uma fonte confiável externa para validar a correção da resposta. Dependendo da API de sua fonte confiável, você pode usar a origem confiável sozinho ou com um modelo de linguagem.

Avaliar a correção

Quando a correção for baixa, execute as seguintes tarefas:

  1. Verifique se as partes fornecidas para o modelo de linguagem estão factualmente corretas e não há nenhum viés de dados. Talvez seja necessário corrigir quaisquer problemas nos documentos de origem ou no conteúdo.
  2. Se os grupos estiverem objetivamente corretos, avalie a solicitação.
  3. Avalie se há imprecisões herdadas no modelo que precisam ser superadas com dados de aterramento factuais adicionais ou ajuste fino.

Métricas de similaridade e avaliação

Há centenas de métricas de similaridade e avaliação que você pode usar na ciência de dados. Alguns algoritmos são específicos para um domínio, como conversão de fala em texto ou idioma para idioma. Cada algoritmo tem uma estratégia exclusiva para calcular sua métrica.

Os cientistas de dados determinam o que você deseja medir e qual métrica ou combinação de métricas você pode usar para medi-lo. Por exemplo, para tradução de idioma, a métrica bleu (subestudo de avaliação bilíngue) verifica quantos n-gramas aparecem na tradução automática e na tradução humana para medir a similaridade com base em se as traduções usam as mesmas palavras. A similaridade de cosseno usa incorporações entre as traduções de máquina e humana para medir a semelhança semântica. Se o seu objetivo for ter alta similaridade semântica e usar palavras semelhantes à tradução humana, seu objetivo é uma pontuação BLEU alta com alta semelhança de cosseno alta. Se você se preocupa apenas com a similaridade semântica, concentre-se na similaridade cossina.

A lista a seguir contém uma amostra de métricas comuns de similaridade e avaliação. Observe que as métricas de similaridade listadas são descritas como baseadas em token, baseadas em sequência ou com base em edição. Essas descrições ilustram qual abordagem as métricas usam para calcular a similaridade. A lista também contém três algoritmos para avaliar a qualidade da tradução de texto de um idioma para outro.

  • "Subcadeia comum mais longa" é um algoritmo baseado em sequência que localiza a subcadeia comum mais longa entre duas strings. A porcentagem da subcadeia comum mais longa é calculada pegando a subcadeia comum mais longa e dividindo-a pelo número de caracteres da cadeia de entrada, seja menor ou maior.
  • LCS (subsequência comum mais longa) é um algoritmo baseado em sequência que localiza a subsequência mais longa entre duas cadeias de caracteres. O LCS não exige que as subsequências estejam em ordem consecutiva.
  • Similaridade de cosseno é um algoritmo baseado em token que calcula o cosseno do ângulo entre os dois vetores.
  • Jaro-Winkler distância é um algoritmo baseado em edição que conta o número mínimo de etapas para transformar uma cadeia de caracteres em outra.
  • Distância de hamming é um algoritmo baseado em edição que mede o número mínimo de substituições necessárias para transformar uma string em outra.
  • índice Jaccard é um algoritmo baseado em token que calcula a similaridade dividindo a interseção de duas cadeias de caracteres pela união dessas cadeias de caracteres.
  • Distância de levenshtein é um algoritmo baseado em edição que calcula a similaridade, determinando o número mínimo de edições de um único caractere que são necessárias para transformar uma string em outra.
  • BLEU avalia a qualidade do texto que é o resultado da tradução automática de um idioma para outro. BLEU calcula a sobreposição de n-gramas entre uma tradução automática e uma tradução de qualidade humana para fazer essa avaliação.
  • ROUGE é uma métrica que compara uma tradução automática de uma linguagem com outra a uma tradução criada por humanos. Existem várias variantes do ROUGE que usam a sobreposição de n-gramas, skip-bigramas ou subsequência comum mais longa.
  • METEOR avalia a qualidade do texto que é o resultado da tradução automática examinando correspondências exatas, correspondências após a lematização, sinônimos, parafraseação e alinhamento.

Para obter mais informações sobre métricas comuns de similaridade e avaliação, consulte os seguintes recursos:

Usando várias métricas de avaliação juntas

Você deve usar as métricas de avaliação do modelo de linguagem em conjunto para entender melhor o desempenho da solução RAG. Veja a seguir vários exemplos de como usar várias métricas de avaliação juntas.

Fundamentação e correção

As métricas de fundamentação e correção juntas ajudam a determinar se o sistema está interpretando e usando o contexto com precisão. Se a fundamentação for alta, mas a corretude for baixa, isso significa que o modelo de linguagem está usando o contexto, mas fornecendo uma resposta incorreta. A resposta incorreta pode ser devido ao uso inadequado de contexto ou problemas com os dados de origem. Por exemplo, se a fundamentação for 0,9, mas correção for 0,4, isso indicará que o sistema está fazendo referência ao material de origem correto, mas tirando conclusões incorretas. Considere uma resposta afirmando que "Einstein desenvolveu mecânica quântica" com base em um contexto que menciona separadamente Tanto Einstein quanto a mecânica quântica. Essa resposta é fundamentada, mas factualmente incorreta.

Essa combinação de métricas é uma em que priorizar uma sobre a outra pode ser muito importante para sua carga de trabalho específica. Por exemplo, se os dados de origem contiverem informações potencialmente falsas intencionalmente e puderem ser fundamentais para o sistema reter essas informações falsas em suas respostas. Nesse caso, é melhor priorizar uma resposta bem fundamentada em vez de uma resposta correta. Em outros casos, sua carga de trabalho prefere que os dados de contexto sejam consultados, mas a correção final ainda é a prioridade.

Utilização e completude

As métricas de utilização e de integridade juntas ajudam a avaliar a eficácia do sistema de recuperação. A alta utilização (0,9) com baixa integridade (0,3) indica que o sistema recupera informações precisas, mas incompletas. Por exemplo, quando perguntado sobre as causas da Segunda Guerra Mundial, o sistema pode recuperar perfeitamente informações sobre a invasão da Polônia, mas perder outros fatores cruciais. Esse cenário pode indicar que há partes com informações relevantes que não foram usadas como parte do contexto. Para resolver esse cenário, considere retornar mais fragmentos, avaliar sua estratégia de classificação de fragmentos e revisar seu prompt.

Fundamentação, utilização e similaridade

As métricas de aterramento, utilização e similaridade juntas ajudam a identificar o quão bem o sistema mantém a verdade ao transformar informações. Uma alta fundamentação (0,9) e utilização (0,9) com baixa similaridade (0,3) indicam que o sistema está usando dados precisos, mas está parafraseando de forma inadequada. Para resolver esse cenário, avalie sua solicitação. Modifique o prompt e teste os resultados.

Documentação, relatório e agregação

Você deve documentar os hiperparâmetros escolhidos para um experimento e as métricas de avaliação resultantes para que você possa entender como os hiperparâmetros afetam seus resultados. Você deve documentar hiperparâmetros e resultados em níveis granulares, como inserção ou avaliação de pesquisa, e em um nível de macro, como testar todo o sistema de ponta a ponta.

Durante o design e o desenvolvimento, você poderá acompanhar os hiperparâmetros e os resultados manualmente. No entanto, a execução de várias avaliações em todo o documento de teste e na coleção de consultas de teste pode envolver centenas de rodadas de avaliação e milhares de resultados. Você deve automatizar a persistência de parâmetros e resultados para suas avaliações.

Depois que seus hiperparâmetros e resultados forem persistidos, você deverá considerar a criação de gráficos para ajudá-lo a visualizar como os hiperparâmetros afetam as métricas. A visualização ajuda você a identificar quais opções levam a quedas ou picos de desempenho.

É importante entender que projetar e avaliar sua solução RAG não é uma operação única. Sua coleção de documentos muda ao longo do tempo. As perguntas que seus clientes fazem mudam ao longo do tempo e sua compreensão dos tipos de perguntas evolui conforme você aprende com a produção. Você deve revisitar esse processo repetidamente. A manutenção da documentação de avaliações passadas é essencial para futuros esforços de design e avaliação.

O acelerador de experimento RAG

Estes artigos orientam você em todas as fases e opções de design envolvidas na criação e avaliação de uma solução RAG. Os artigos se concentram no que você deve fazer, não em como fazê-lo. Uma equipe de engenharia que trabalha com os principais clientes da Microsoft desenvolveu uma ferramenta chamada Acelerador de Experimentos RAG. O Acelerador de Experimentos rag é uma estrutura de experimentação de última geração. Ele foi projetado para otimizar e aprimorar o desenvolvimento de soluções RAG. O Acelerador de Experimentos rag capacita pesquisadores e desenvolvedores a explorar e ajustar com eficiência os componentes críticos que impulsionam o desempenho do RAG. Essa inovação resulta em uma geração de texto mais precisa e coerente.

O Acelerador de Experimentos RAG usa uma interface de linha de comando, permitindo que você experimente facilmente vários modelos de embeddings, refine estratégias de segmentação e avalie diferentes abordagens de pesquisa para desbloquear todo o potencial do seu sistema RAG. Ele permite que você se concentre nos principais aspectos do desenvolvimento de RAG usando uma configuração simples para ajuste de hiperparâmetro.

A estrutura também fornece suporte abrangente para a configuração do modelo de linguagem. Esse suporte ajuda você a encontrar o equilíbrio perfeito entre a complexidade do modelo e a qualidade da geração. Essa ferramenta ajuda você a simplificar o processo de experimentação, economizar tempo e melhorar significativamente o desempenho dos modelos rag.

RAG com Vision Application Framework

Grande parte das diretrizes neste artigo sobre como trabalhar com mídia em sua solução RAG veio de outra equipe de engenharia que trabalha com os principais clientes da Microsoft. Essa equipe escreveu uma estrutura chamada RAG com o Vision Application Framework. Essa estrutura fornece um pipeline RAG baseado em Python que processa o conteúdo textual e de imagem de documentos MHTML.

A estrutura carrega, agrupa e enriquece texto e imagens de arquivos MHTML. Em seguida, absorve as partes na Pesquisa de IA do Azure. A estrutura implementa o cache para enriquecimento de imagem para processamento e eficiência de custo. A estrutura também incorpora a avaliação como parte do pipeline.

Colaboradores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos colaboradores a seguir.

Próximas etapas