Introdução à avaliação e ao monitoramento de aplicativos RAG
A avaliação e o monitoramento são componentes críticos para entender se o aplicativo RAG está executando dentro dos requisitos de *qualidade, custo e latência determinados pelo seu caso de uso. Tecnicamente, a avaliação ocorre durante o desenvolvimento e o monitoramento acontece depois que o aplicativo é implantado em produção, mas os componentes fundamentais são semelhantes.
A RAG sobre dados não estruturados é um sistema complexo com muitos componentes que afetam a qualidade do aplicativo. O ajuste de qualquer elemento pode ter efeitos em cascata sobre os outros. Por exemplo, as alterações de 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 monitoramento: ML clássico versus IA generativa
A avaliação e o monitoramento de aplicativos de IA generativa, incluindo a RAG, diferem do aprendizado de máquina clássico de várias maneiras:
Tópico | ML clássica | O que é IA generativa |
---|---|---|
Métricas | As métricas avaliam as entradas e saídas do componente, por exemplo, desvio, precisão, recall, ou latência de recursos, e outros. Como há apenas um componente, as métricas gerais = as 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: fidelidade mede a adesão do gerador ao conhecimento de um recuperador que requer a entrada e a saída da cadeia, além da saída do recuperador interno. As métricas gerais avaliam a entrada e a saída gerais do sistema, por exemplo, a correção e a latência da resposta. |
Avaliação | A resposta é deterministicamente "certa" ou "errada". As métricas determinísticas funcionam. | A resposta é "certa" ou "errada", mas: • Existem muitas respostas certas (não determinísticas). • Algumas respostas certas são mais certas do que outras. Você precisa: • Feedback humano para ser confiável. • Métricas julgadas pelo LLM para avaliação em escala. |
Componentes de avaliação e monitoramento
Para avaliar e monitorar efetivamente a qualidade, custo e latência de aplicativos RAG, são necessários vários componentes:
- Conjunto de avaliações: para avaliar rigorosamente seu aplicativo RAG, você precisa de um conjunto coletado de consultas de avaliações (e, idealmente, saídas) que sejam representativas do uso pretendido do aplicativo. Esses exemplos de avaliação devem ser desafiadores, diversos e atualizados para refletir a alteração no uso e requisitos.
- Definições de métrica: você não pode gerenciar o que não mede. Para melhorar a qualidade da RAG, é essencial definir o que a qualidade significa para seu caso de uso. Dependendo do aplicativo, as métricas importantes podem incluir precisão de resposta, latência, custo ou classificações dos principais stakeholders. Você precisará de métricas que medem cada componente, como os componentes interagem entre si e o sistema geral.
- Avaliadores de LLM: devido à natureza aberta das respostas de LLM, não é viável ler cada resposta individualmente a cada avaliação para determinar se a saída está correta. Usar um LLM adicional e diferente para revisar as saídas pode ajudar a ampliar sua avaliação e calcular métricas adicionais, como a fundamentação de uma resposta em milhares de tokens de contexto, o que seria inviável para avaliadores humanos avaliarem de maneira eficaz em escala.
- Infraestrutura de avaliação: Durante o desenvolvimento, uma infraestrutura de avaliação ajuda você a executar rapidamente seu aplicativo para cada registro em seu conjunto de avaliações e em seguida passar cada saída pelos seus avaliadores de LLM e cálculos de métricas. Isso é especialmente desafiador, pois essa etapa "bloqueia" o seu ciclo interno de desenvolvimento, então a velocidade é de extrema importância. Uma boa infraestrutura de avaliação paraleliza esse trabalho o máximo possível, muitas vezes aumentando a infraestrutura adicional, como mais capacidade de LLM para fazer isso.
- Interface voltada para os stakeholders: como desenvolvedor, você pode não ser um especialista no domínio do conteúdo do aplicativo que está desenvolvendo. Para coletar comentários de especialistas humanos que podem avaliar a qualidade do aplicativo, você precisa de uma interface que permita que eles interajam com o aplicativo e forneçam comentários detalhados.
- Registro em log 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. O registro em log de produção deve acompanhar as entradas, as saídas e as etapas intermediárias, como a recuperação de documentos, para habilitar o monitoramento contínuo e a detecção precoce e diagnóstico de problemas que surgem na produção.
Esses documentos abordam a avaliação com muito mais detalhes em Avaliar a qualidade da RAG.