Introdução à avaliação & monitoramento de aplicações RAG

A avaliação e o monitoramento são componentes essenciais para entender se o seu aplicativo RAG está funcionando de acordo com os requisitos de qualidade, custo e latência ditados pelo seu caso de uso. Tecnicamente, a avaliação ocorre durante o desenvolvimento e o monitoramento ocorre quando o aplicativo é implantado na produção, mas os componentes fundamentais são semelhantes.

O RAG sobre dados não estruturados é um sistema complexo com muitos componentes que afetam a qualidade do aplicativo. O ajuste de um único elemento pode ter efeitos em cascata sobre os demais. Por exemplo, as alterações na formatação dos dados podem influenciar os blocos recuperados e a capacidade do LLM de gerar respostas relevantes. Portanto, é fundamental avaliar cada um dos componentes do aplicativo, além do aplicativo como um todo, a fim de refiná-lo iterativamente com base nessas avaliações.

Avaliação & monitoramento: ML clássico vs. IA generativa

A avaliação e o monitoramento dos aplicativos de IA generativa, incluindo o RAG, diferem dos clássicos machine learning de várias maneiras:

ML clássico

IA generativa

Métricas

métricas avaliam as entradas e saídas do componente, por exemplo, desvio de recurso, precisão, recuperação, latência e assim por diante. Como há apenas um componente, as métricas gerais == métricas do componente.

As métricas de componentes avaliam as entradas e saídas de cada componente, por exemplo, precisão @ K, nDCG, latência, toxicidade e assim por diante. As métricas compostas avaliam como vários componentes interagem: a fidelidade mede a adesão do gerador ao conhecimento de um recuperador que requer a entrada da cadeia, a saída da cadeia e a saída do recuperador interno. As métricas gerais avaliam a entrada e a saída gerais do sistema, por exemplo, a correção da resposta e a latência.

Avaliação

A resposta é deterministicamente "certa" ou "errada". As métricas determinísticas funcionam.

A resposta é "certa" ou "errada", mas: • Há muitas respostas certas (não determinísticas). • Algumas respostas certas são mais certas. O senhor precisa: • Feedback humano para ter confiança. • métricas julgadas pelo LLM para avaliação de escala.

Componentes da avaliação e do monitoramento

A avaliação e o monitoramento eficazes da qualidade, do custo e da latência dos aplicativos RAG exigem vários componentes:

  • Conjunto de avaliação: Para avaliar rigorosamente seu aplicativo RAG, o senhor precisa de um conjunto selecionado de consultas de avaliação (e, de preferência, de resultados) que sejam representativos do uso pretendido do aplicativo. Esses exemplos de avaliação devem ser desafiadores, diversificados e atualizados para refletir as mudanças no uso e nos requisitos.

  • Definições de métricas: O senhor não pode gerenciar o que não mede. Para melhorar a qualidade do RAG, é essencial definir o que significa qualidade para seu caso de uso. Dependendo do aplicativo, as métricas importantes podem incluir a precisão da resposta, a latência, o custo ou as classificações de key partes interessadas. O senhor precisará de métricas que meçam cada componente, como os componentes interagem entre si e o sistema geral.

  • Juízes do LLM: Dada a natureza aberta das respostas do LLM, não é possível ler todas as respostas cada vez que o senhor as avalia para determinar se o resultado está correto. O uso de um LLM adicional e diferente para revisar os resultados pode ajudar a escalonar sua avaliação e compute métricas adicionais, como a fundamentação de uma resposta a milhares de tokens contextos, que seriam inviáveis para os avaliadores humanos avaliarem efetivamente na escala.

  • Chicote de avaliação: Durante o desenvolvimento, um conjunto de avaliação ajuda o senhor a executar rapidamente o aplicativo para cada registro no conjunto de avaliação e, em seguida, executar cada saída por meio de seus LLM juízes e cálculos métricos. Isso é particularmente desafiador, pois esse passo "bloqueia" seu loop interno de desenvolvimento, portanto, a velocidade é de extrema importância. Uma boa estrutura de avaliação paraleliza esse trabalho o máximo possível, muitas vezes utilizando infraestrutura adicional, como mais capacidade do LLM, para fazer isso.

  • Interface do usuário voltada para as partes interessadas: Como desenvolvedor, o senhor pode não ser um especialista no conteúdo do aplicativo que está desenvolvendo. Para coletar feedback de especialistas humanos que possam avaliar a qualidade do seu aplicativo, o senhor precisa de uma interface que permita que eles interajam com o aplicativo e forneçam feedback detalhado.

  • Registro de rastreamento de produção: Uma vez em produção, o senhor precisa avaliar uma quantidade significativamente maior de solicitações/respostas e como cada resposta foi gerada. Por exemplo, o senhor precisa saber se a causa principal de uma resposta de baixa qualidade se deve à recuperação do passo ou a uma alucinação. O registro da produção deve rastrear as entradas, as saídas e os passos intermediários, como a recuperação de documentos, para permitir o monitoramento contínuo, a detecção precoce e o diagnóstico dos problemas que surgem na produção.

Esses documentos abordam a avaliação com muito mais detalhes em Avaliar a qualidade do RAG.