Introdução à avaliação e monitorização das aplicações RAG
A avaliação e o monitoramento são componentes críticos para entender se 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 acontece durante o desenvolvimento e o monitoramento acontece 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. Ajustar qualquer elemento pode ter efeitos em cascata sobre os outros. Por exemplo, alterações na formatação de dados podem influenciar as partes recuperadas e a capacidade do LLM de gerar respostas relevantes. Portanto, é crucial 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 e monitorização: ML clássico vs. IA generativa
A avaliação e o monitoramento de aplicações de IA generativa, incluindo RAG, diferem do aprendizado de máquina clássico de várias maneiras:
Tópico | ML clássico | IA generativa |
---|---|---|
Métricas | As métricas avaliam as entradas e saídas do componente, por exemplo, desvio de característica, precisão, revocação, latência e outros. Como há apenas um componente, métricas gerais == métricas de componentes. | As métricas dos 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 aderência do gerador ao conhecimento de um recuperador que requer a cadeia de entrada, a saída da cadeia e a saída do recuperador interno. As métricas gerais avaliam a entrada e saída geral do sistema, por exemplo, correção e latência da resposta. |
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 deterministas). • Algumas respostas certas são mais certas. Você precisa: • Feedback humano para estar confiante. • Métricas avaliadas por LLM para ampliar a avaliação. |
Componentes da avaliação e do acompanhamento
Avaliar e monitorar efetivamente a qualidade, o custo e a latência do aplicativo RAG requer vários componentes:
- Conjunto de avaliação: Para avaliar rigorosamente seu aplicativo RAG, você precisa de um conjunto curado de consultas de avaliação (e, idealmente, saídas) que sejam representativas 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étrica: você não pode gerenciar o que não mede. Para melhorar a qualidade RAG, é essencial definir o que significa qualidade para o seu caso de uso. Dependendo do aplicativo, métricas importantes podem incluir precisão de resposta, latência, custo ou classificações dos principais interessados. Você precisará de métricas que meçam cada componente, como os componentes interagem entre si e o sistema geral.
- Juízes de LLM: Dada a natureza aberta das respostas de LLM, não é viável ler todas as respostas sempre que se faz uma avaliação para determinar se o resultado está correto. Usar um LLM adicional e diferente para revisar os resultados pode ajudar a dimensionar sua avaliação e calcular métricas adicionais, como a fundamentação de uma resposta a milhares de tokens de contexto, que seriam inviáveis para os avaliadores humanos avaliarem efetivamente em escala.
- Ferramenta de avaliação: Durante o desenvolvimento, uma ferramenta de avaliação ajuda a executar rapidamente a sua aplicação para cada registo no seu conjunto de avaliação e, em seguida, a processar cada resultado através dos seus avaliadores de LLM e cálculos métricos. Isso é particularmente desafiador, já que essa etapa "bloqueia" seu loop interno de desenvolvimento, então a velocidade é de extrema importância. Um bom processo de avaliação paraleliza esse trabalho tanto quanto possível, muitas vezes desencadeando infraestrutura adicional, como mais capacidade de Modelos de Linguagem de Grande Escala (LLM) para fazê-lo.
- Interface do usuário voltada para as partes interessadas: como desenvolvedor, você pode não ser um especialista em domínio no conteúdo do aplicativo que está desenvolvendo. Para coletar feedback de especialistas humanos que possam avaliar a qualidade do seu aplicativo, você 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, você precisa avaliar uma quantidade significativamente maior de solicitações/respostas e como cada resposta foi gerada. Por exemplo, você precisa saber se a causa raiz de uma resposta de baixa qualidade é devido à etapa de recuperação ou a uma alucinação. Seu registro de produção deve rastrear as entradas, saídas e etapas intermediárias, como a recuperação de documentos, para permitir o monitoramento contínuo e a deteção e diagnóstico precoces de problemas que surgem na produção.
Estes documentos abrangem a avaliação com muito mais detalhe em Avaliar a qualidade RAG.