Editar

Partilhar via


LLM avaliação de ponta a ponta

Azure AI services
Azure AI Search
Azure OpenAI Service
Azure Machine Learning

Quando chegar a esta fase, já gerou o seu índice de pesquisa e determinou quais as pesquisas que pretende realizar. Esta fase aborda o processo de avaliação de sua solução de geração aumentada de recuperação (RAG) da perspetiva de avaliar prompts de usuário esperados contendo os dados de aterramento recuperados em relação ao modelo de linguagem grande. Antes de chegar a essa fase, você deve concluir a fase de preparação onde coleta seus documentos de teste e consultas, fragmenta seus documentos de teste, enriquece os blocos, incorpora os blocos, cria um índice de pesquisa e implementa uma estratégia de pesquisa. Você deve avaliar cada uma dessas fases e ficar feliz com os resultados. Neste ponto, você deve se sentir confortável que sua solução retorna dados de aterramento relevantes para uma consulta de usuário.

Esses dados de aterramento formam o contexto para o prompt que você envia para o modelo de linguagem grande para abordar a consulta do usuário. Estratégias de engenharia imediatas estão além do escopo deste artigo. Este artigo aborda a avaliação da chamada projetada para o modelo de linguagem grande a partir da perspetiva dos dados de fundamentação. Este artigo aborda algumas métricas comuns de avaliação de modelos de linguagem grande e algumas semelhanças específicas e métricas de avaliação que podem ser usadas nos cálculos de avaliação de modelos de linguagem grandes ou como métricas autônomas.

Este artigo não tenta fornecer uma lista exaustiva de métricas de modelos de linguagem grandes ou métricas de semelhança e avaliação. O número dessas métricas está crescendo a cada dia. O que é importante para você tirar deste artigo é que existem várias métricas, cada uma com seu próprio caso de uso distinto. Você é o único com uma compreensão holística de sua carga de trabalho. Você e seus cientistas de dados devem determinar o que você deseja medir e quais métricas o ajudam a realizar essa tarefa.

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

Métricas de avaliação de modelos linguísticos grandes

Há várias métricas que você pode usar para avaliar a resposta do modelo de linguagem grande, incluindo fundamentação, completude, utilização e relevância.

Importante

As respostas de modelos de linguagem grandes não são determinísticas, o que significa que o mesmo prompt para um modelo de linguagem grande pode e muitas vezes retornará resultados diferentes. Isso é importante entender ao usar um modelo de linguagem grande como parte do seu processo de avaliação. Considere o uso de um intervalo de destino em um único destino ao avaliar o uso de um modelo de linguagem grande.

Fundamentação

A fundamentação, por vezes referida como fidelidade, mede se a resposta é completamente baseada no contexto. Ele valida que a resposta não está usando informações diferentes das que existem no contexto. Uma métrica de baixa fundamentação indica que o modelo de linguagem grande pode estar derivando para um território imaginativo ou sem sentido conhecido como alucinações.

Cálculo

Avaliação

Se a fundamentação for baixa, isso indica que o modelo de linguagem grande não vê os pedaços como relevantes. Você deve avaliar se precisa adicionar dados ao seu corpus, ajustar sua estratégia de fragmentação ou tamanho de bloco, ou ajustar seu prompt.

Exaustividade

A completude mede se a resposta está respondendo a todas as partes da consulta. A completude ajuda você a entender se as partes no contexto são pertinentes e diretamente relacionadas à consulta e fornece uma resposta completa.

Cálculo

  • Assistido por IA: solicitação de pontuação de recuperação
  • Um modelo de linguagem grande pode ajudá-lo a medir a qualidade da resposta do modelo de linguagem grande. Você precisa da pergunta, do contexto e da resposta gerada para realizar essa medição. Descreve-se a seguir o processo de alto nível:
    1. Use o modelo de linguagem grande para reformular, resumir ou simplificar a pergunta. Esta etapa identifica a intenção.
    2. Peça ao modelo para verificar se a intenção ou a resposta à intenção foi encontrada ou se pode ser derivada de documentos recuperados onde a resposta pode ser "Não" ou "Sim" para cada documento. As respostas que começam com "Sim" indicam que os documentos recuperados são relevantes para a intenção ou respondem à intenção.
    3. Calcule a proporção das intenções que têm uma resposta começando com "Sim".
    4. Quadra o placar para destacar os erros.

Avaliação

Se a completude for baixa, comece avaliando seu modelo de incorporação. Compare o vocabulário do seu conteúdo com o vocabulário do modelo de incorporação escolhido. Determine se você precisa de um modelo de incorporação específico do domínio ou se precisa ajustar um modelo existente. Como próximo passo, avalie sua estratégia de fragmentação. Se você estiver usando um comprimento fixo, considere aumentar o tamanho do pedaço. Você também pode avaliar se os dados do teste têm dados suficientes para resolver completamente a questão.

Utilização

A utilização mede a medida em que a resposta é composta de informações das partes no contexto. O objetivo é determinar até que ponto cada parte faz parte da resposta. A baixa utilização indica que os resultados podem não ser relevantes para a consulta. A utilização deve ser avaliada ao longo da completude lateral.

Cálculo

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

Avaliação

A tabela a seguir fornece orientação, considerando a completude e a utilização juntas.

Alta utilização Baixa utilização
Alta completude Nenhuma ação necessária Neste caso, os dados retornados são capazes de resolver a questão, mas partes irrelevantes foram retornadas. Considere reduzir o valor do parâmetro top-k para produzir resultados mais prováveis/determinísticos.
Baixa completude Nesse caso, as partes que você está fornecendo estão sendo usadas, mas não estão abordando totalmente a questão. Considere o seguinte:
  • Revise sua estratégia de fragmentação 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 devolvidas que podem aumentar a completude. Em caso afirmativo, investigue por que eles não foram devolvidos.
  • Siga as orientações na secção de exaustividade
Neste caso, você não está respondendo totalmente à pergunta e as partes que você está fornecendo não estão sendo bem utilizadas. Considere o seguinte para resolver esses problemas:
  • Revise sua estratégia de fragmentação para aumentar o contexto dentro das partes. Se você estiver usando fragmentação de tamanho fixo, considere aumentar os tamanhos de blocos.
  • Ajuste seus prompts para melhorar as respostas

Relevância

Mede até que ponto a resposta do modelo de linguagem grande é pertinente e está relacionada à consulta.

Cálculo

Avaliação

Quando a relevância for baixa, avalie o seguinte:

  • Certifique-se de que as partes fornecidas para o modelo de linguagem grande sejam relevantes.
    • Determine se há partes viáveis que são relevantes que não foram devolvidas. Se houver, avalie seu modelo de incorporação.
    • Se não houver partes viáveis, verifique se existem dados relevantes. Se isso acontecer, avalie sua estratégia de fragmentação.
  • Se partes relevantes foram retornadas, avalie seu prompt.

Outros métodos de avaliação como a completude devem ser calculados e devem produzir pontuações semelhantes às observadas na medida de relevância.

Semelhança e métricas de avaliação

Como mencionado na introdução, existem centenas de semelhanças e métricas de avaliação usadas na ciência de dados. Alguns algoritmos são específicos de um domínio, como a tradução de fala para texto ou de idioma para idioma. Cada algoritmo tem uma estratégia única para calcular sua métrica.

O cientista de dados determina o que você deseja medir e qual métrica ou combinação de métricas você pode usar para medi-lo. Por exemplo, na área de tradução de idiomas, a métrica Bleu verifica quantos n-gramas aparecem na tradução automática e na tradução humana para medir a semelhança com base no uso das mesmas palavras. A semelhança cosina usa incorporações entre as traduções automática e humana para medir a semelhança semântica. Se seu objetivo era ter alta semelhança semântica e usar palavras semelhantes à tradução humana, seu objetivo seria uma alta pontuação Bleu com alta semelhança de cosseno. Se você se preocupasse apenas com a semelhança semântica, você se concentraria na semelhança cosseno.

A lista a seguir contém uma pequena amostra de semelhança comum e métricas de avaliação. Observe que as métricas de semelhança listadas são descritas como baseadas em token, sequência ou edição, ilustrando como elas usam abordagens muito diferentes para calcular a semelhança. Observe também que a lista contém três algoritmos para avaliar a qualidade da tradução de texto de um idioma para outro.

  • Substring comum mais longa - Algoritmo baseado em sequência que encontra a substring comum mais longa entre duas strings. A porcentagem de substring comum mais longa pega a substring comum mais longa e a divide pelo número de caracteres da string de entrada menor ou maior.
  • Subsequência comum mais longa (LCS) - Algoritmo baseado em sequência que encontra a subsequência mais longa entre duas cadeias de caracteres. O LCS não exige que as subsequências estejam em ordem consecutiva.
  • Cosine similarity - Algoritmo baseado em token que calcula o cosseno do ângulo entre os dois vetores.
  • Jaro Winkler - Algoritmo baseado em edição que conta o número mínimo de passos para transformar uma string em outra.
  • Hamming - Algoritmo baseado em edição que mede o número mínimo de substituições necessárias para transformar uma cadeia de caracteres em outra.
  • Jaccard - Algoritmo baseado em token que calcula a semelhança dividindo a interseção de duas cadeias pela união dessas strings.
  • Levenshtein - Algoritmo baseado em edição que calcula a semelhança determinando o número mínimo de edições de caracteres únicos necessárias para transformar uma cadeia de caracteres em outra.
  • BLEU - Avalia a qualidade do texto resultante da tradução automática de uma língua para outra. Bleu calcula a sobreposição de n-gramas entre uma tradução automática e uma tradução de qualidade humana para fazer esta avaliação.
  • ROUGE - Compare uma tradução automática de uma língua para outra com uma tradução criada por humanos. Existem várias variantes do ROUGE que usam a sobreposição de n-gramas, skip-bigramas ou subseqüência comum mais longa.
  • METEOR - Avalia a qualidade do texto que é o resultado da tradução automática, observando correspondências exatas, correspondências após derivação, sinônimos, paráfrase e alinhamento.

Consulte os seguintes recursos para obter semelhanças comuns e métricas de avaliação:

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

Você deve documentar os hiperparâmetros escolhidos para um experimento e as métricas de avaliação resultantes para que possa entender o impacto dos hiperparâmetros em seus resultados. Você deve documentar hiperparâmetros e resultados em níveis granulares, como incorporaçã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, ao executar várias avaliações em relação a todo o seu documento de teste e corpus de consulta de teste pode envolver centenas de execuções de avaliação e milhares de resultados. Você deve automatizar a persistência de parâmetros e resultados para suas avaliações.

Uma vez que seus hiperparâmetros e resultados sejam persistentes, você deve considerar a criação de gráficos para permitir que você visualize mais facilmente os efeitos que as escolhas de hiperparâmetros têm nas métricas. A visualização ajuda a identificar quais opções levam a quedas ou picos de desempenho.

É importante que você entenda que projetar e avaliar sua solução RAG não é uma operação única. O seu corpus de documentos mudará ao longo do tempo. As perguntas que seus clientes estão fazendo mudarão com o tempo e sua compreensão dos tipos de perguntas evoluirá à medida que você aprende com a produção. Deve rever este processo uma e outra vez. Manter a documentação de avaliações passadas é fundamental para futuros esforços de conceção e avaliação.

O Acelerador de Experiências RAG

Estes artigos orientam você através de todas as fases e escolhas de design envolvidas no projeto 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 RAG Experiment Accelerator. O RAG Experiment Accelerator é uma estrutura de experimentação de última geração projetada para otimizar e aprimorar o desenvolvimento de soluções de Geração Aumentada de Recuperação (RAG). O RAG Experiment Accelerator permite que pesquisadores e desenvolvedores explorem e ajustem de forma eficiente os componentes críticos que impulsionam o desempenho do RAG, levando a uma geração de texto mais precisa e coerente.

Com sua interface baseada em CLI, você pode experimentar sem esforço vários modelos de incorporação, refinar estratégias de fragmentação e avaliar diferentes abordagens de pesquisa para desbloquear todo o potencial do seu sistema RAG. Ele permite que você se concentre nos principais aspetos do desenvolvimento RAG enquanto abstrai as complexidades do ajuste de hiperparâmetros usando uma configuração simples.

Além disso, a estrutura fornece suporte abrangente para a configuração de modelos de linguagem grande, permitindo que você encontre o equilíbrio perfeito entre a complexidade do modelo e a qualidade da geração. Esta ferramenta permite-lhe agilizar o processo de experimentação, poupar tempo valioso e melhorar significativamente o desempenho dos seus modelos RAG.

Quer seja um investigador experiente a ultrapassar os limites da compreensão da linguagem natural ou um profissional da indústria que procura melhorar as capacidades de geração de texto, esta estrutura de experimentação é a solução definitiva para acelerar a sua jornada de desenvolvimento RAG. Abrace o futuro da experimentação RAG e desbloqueie o verdadeiro potencial dos seus modelos com esta ferramenta de ponta.

RAG com Vision Application Framework

Grande parte da orientação 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. Esta equipe escreveu uma estrutura chamada RAG with Vision Application Framework. Essa estrutura fornece um pipeline de geração aumentada de recuperação (RAG) baseado em Python que processa conteúdo textual e de imagem de documentos MHTML.

A estrutura carrega, fragmenta e enriquece texto e imagens de arquivos MHTML e ingere os blocos na Pesquisa do Azure. A estrutura implementa cache para enriquecimento de imagem para processamento e eficiência de custos. O quadro também incorpora a avaliação como parte do pipeline.

Contribuidores

Próximos passos