Avaliar o desempenho: métricas que importam

Este artigo aborda a medição do desempenho de um aplicativo RAG quanto à qualidade da recuperação, da resposta e do desempenho do sistema.

Recuperação, resposta e desempenho

Com um conjunto de avaliação, o senhor pode medir o desempenho do seu aplicativo RAG em várias dimensões diferentes, inclusive:

  • Qualidade da recuperação: As métricas de recuperação avaliam o sucesso com que seu aplicativo RAG recupera dados de suporte relevantes. Precisão e recuperação são duas key métricas de recuperação.

  • Qualidade da resposta: As métricas de qualidade de resposta avaliam a capacidade de resposta do aplicativo RAG à solicitação do usuário. As métricas de resposta podem medir, por exemplo, se a resposta resultante é precisa de acordo com a verdade básica, se a resposta foi bem fundamentada, considerando o contexto recuperado (por exemplo, o LLM teve alucinações?) ou se a resposta foi segura (em outras palavras, sem toxicidade).

  • Desempenho do sistema (custo & latência): as métricas capturam o custo geral e o desempenho dos aplicativos RAG. A latência geral e o consumo de tokens são exemplos de métricas de desempenho da cadeia.

É muito importante coletar métricas de resposta e de recuperação. Um aplicativo RAG pode responder mal, apesar de recuperar o contexto correto; ele também pode fornecer boas respostas com base em recuperações defeituosas. Somente com a medição de ambos os componentes é possível diagnosticar e solucionar com precisão os problemas do aplicativo.

Abordagens para medir o desempenho

Há duas key abordagens para medir o desempenho nessas métricas:

  • Medição determinística: As métricas de custo e latência podem ser calculadas de forma determinística com base nas saídas do aplicativo. Se o conjunto de avaliação incluir uma lista de documentos que contenham a resposta a uma pergunta, um subconjunto das métricas de recuperação também poderá ser computado de forma determinística.

  • Medição baseada no juiz do LLM: Nessa abordagem, um LLM separado atua como um juiz para avaliar a qualidade da recuperação e das respostas do aplicativo RAG. Alguns juízes do LLM, como a correção das respostas, comparam a verdade básica do rótulo humano com os resultados do aplicativo. Outros juízes do LLM, como o groundedness, não exigem a verdade fundamental do rótulo humano para avaliar os resultados de seus aplicativos.

Importante

Para que um juiz de LLM seja eficaz, ele deve ser ajustado para entender o caso de uso. Isso requer atenção cuidadosa para entender onde o juiz funciona e onde não funciona bem e, em seguida, ajustar o juiz para melhorá-lo para os casos de falha.

Mosaic AI A Avaliação de agentes fornece uma implementação pronta para uso, usando modelos de juízes hospedados em LLM, para cada uma das métricas discutidas nesta página. A documentação do Agent Evaluation discute os detalhes de como essas métricas e juízes são implementados e fornece recursos para ajustar os juízes com seus dados para aumentar sua precisão

Visão geral das métricas

Abaixo está um resumo das métricas que o site Databricks recomenda para medir a qualidade, o custo e a latência do seu aplicativo RAG. Essas métricas são implementadas no Mosaic AI Agent Evaluation.

Dimensão

Nome da métrica

Pergunta

Medido por

O senhor precisa de verdade fundamental?

Recuperação

chunk_relevance/precision

Qual porcentagem dos blocos recuperados é relevante para a solicitação?

Juiz do LLM

Não

Recuperação

document_recall

Qual é a porcentagem de documentos de verdade básica que está representada nos blocos recuperados?

Determinístico

Sim

Resposta

correção

No geral, o agente gerou uma resposta correta?

Juiz do LLM

Sim

Resposta

relevance_to_query

A resposta é relevante para a solicitação?

Juiz do LLM

Não

Resposta

fundamentação

A resposta é uma alucinação ou está fundamentada no contexto?

Juiz do LLM

Não

Resposta

segurança

Há conteúdo prejudicial na resposta?

Juiz do LLM

Não

Custo

total_token_count, total_input_token_count, total_output_token_count

Qual é a contagem total de tokens para gerações de LLM?

Determinístico

Não

Latência

latência_segundos

Qual é a latência de execução do aplicativo?

Determinístico

Não

Como funcionam as métricas de recuperação

As métricas de recuperação ajudam o senhor a entender se o seu recuperador está fornecendo resultados relevantes. As métricas de recuperação são baseadas em precisão e recuperação.

Nome da métrica

Pergunta respondida

Detalhes

Precisão

Qual porcentagem dos blocos recuperados é relevante para a solicitação?

A precisão é a proporção de documentos recuperados que são realmente relevantes para a solicitação do usuário. Um juiz LLM pode ser usado para avaliar a relevância de cada trecho recuperado para a solicitação do usuário.

Recall

Qual é a porcentagem de documentos de verdade básica que está representada nos blocos recuperados?

Recall é a proporção dos documentos verdadeiros que estão representados nos blocos recuperados. Essa é uma medida da integridade dos resultados.

Precisão e recuperação

Abaixo está uma rápida cartilha sobre Precision e recall adaptada dos excelentes artigos da Wikipedia.

Fórmula de precisão

A precisão mede "Dos blocos que recuperei, qual é a porcentagem desses itens que é realmente relevante para a consulta do meu usuário?" Para calcular a precisão, não é necessário conhecer todos os itens relevantes.

Fórmula para calcular a precisão.

Fórmula de recall

Lembre-se das medidas "De TODOS os documentos que eu sei que são relevantes para a consulta do meu usuário, de qual % eu recuperei uma parte?" O recall computacional exige que sua verdade básica contenha todos os itens relevantes. Os itens podem ser um documento ou uma parte de um documento.

Fórmula para calcular a recuperação.

No exemplo abaixo, dois dos três resultados recuperados eram relevantes para a consulta do usuário, portanto, a precisão foi de 0,66 (2/3). Os documentos recuperados incluíam dois de um total de quatro documentos relevantes, portanto, a recuperação foi de 0,5 (2/4).

Diagrama que mostra a medição da precisão e da recuperação.