- Aplicações baseadas em LLMs (modelos de linguagem de grande porte) são difíceis de avaliar adequadamente com métodos de teste tradicionais por causa da natureza não determinística das saídas
- Por isso, métodos de avaliação dedicados (evals) são essenciais para manter e melhorar o desempenho de sistemas com LLM
Por que evals são importantes
- Estabelecer critérios de desempenho: oferecem direcionamento sobre o desempenho do modelo e definem benchmarks comparáveis
- Garantir consistência e confiabilidade: permitem detectar e controlar antecipadamente saídas imprevisíveis
- Indicar caminhos de melhoria: deixam claros os pontos de degradação de desempenho, permitindo melhorias direcionadas
- Permitir testes de regressão: verificam se o desempenho foi mantido após mudanças, garantindo estabilidade
Elementos centrais da avaliação antes do deploy
Por que a avaliação pré-deploy é importante
- Permite medir o desempenho cedo e compará-lo
- Permite detectar com antecedência problemas de regressão quando houver mudanças em código, prompts ou parâmetros
Como realizar a avaliação
1. Criar um dataset de Ground Truth
- É necessário um dataset composto por pares de pergunta e resposta elaborados por especialistas
- É importante incluir cenários diversos que reflitam os tipos de perguntas de usuários reais
Um LLM pode gerar o Ground Truth?
- Um LLM pode ajudar, mas não é recomendado usá-lo sozinho para gerar isso
- Falta compreensão do comportamento do usuário
- Perguntas e respostas adequadas ao contexto exigem revisão humana
- A validação humana é indispensável para garantir aderência ao domínio e qualidade
2. Escolher métricas de avaliação
- Answer relevancy: se fornece uma resposta direta e significativa para a pergunta
- Coherence: fluxo lógico e clareza da resposta
- Contextual relevance: o quanto considera bem o contexto da conversa
- Responsibility: se a saída é responsável em termos de ética, toxicidade e viés
3. Métricas de avaliação para RAG
- Métricas de geração:
- Faithfulness: se é fiel aos fatos
- Answer relevancy: adequação da resposta
- Métricas de recuperação:
- Context precision: proporção entre sinal relevante e ruído nas informações recuperadas
- Context recall: se recuperou bem as informações necessárias para chegar à resposta correta
4. Métricas específicas por tarefa
- São necessárias métricas personalizadas para cada tarefa específica
- Ex.: em sumarização, Fluency, Coherence, Consistency, Relevance
5. Calcular pontuações e ajustar o sistema
- Para cada métrica, calcula-se uma pontuação comparando a saída real com o Ground Truth
- Ex.:
- Recall baixo: reduzir o
chunk size
- Precision baixa: considerar a introdução de reranking
- Exemplos de bibliotecas de avaliação: DeepEval, Relari-ai
Técnica de avaliação LLM-as-Judge
- Avaliação sem Ground Truth usando um LLM como o GPT-4
- Exemplos: framework G-eval, artigos sobre Vicuna e QLoRA
- Desvantagens:
- Algumas métricas (ex.: Context Recall) não podem ser medidas sem Ground Truth
- Em precisão e granularidade, a avaliação humana é superior
- Conclusão: o ideal é combinar LLM-as-Judge com Ground Truth
Como integrar avaliação na etapa de deploy
- Integrar a automação da avaliação ao pipeline de deploy
- Executar testes automáticos antes de um commit de código ou do deploy
- Ex.: uso do Giskard para testes automáticos de toxicidade e detecção de alucinações
- Também é preciso incluir testes para as etapas de pré-processamento e coleta de dados
Avaliação pós-deploy e o data flywheel
Monitoramento em produção
- Rastreamento em tempo real de entradas e saídas
- Sessões periódicas de avaliação com especialistas do domínio
- Garantir canais de feedback dos usuários
Estratégia de data flywheel
- Construir um loop contínuo de melhoria aproveitando dados e feedback gerados em produção
- Ex.: analisar padrões de perguntas dos usuários → melhorar o método de recuperação
- Ajustar prompts, parâmetros de inferência e método de recuperação com base em métricas
- Também pode ser necessário mudar as métricas conforme o comportamento dos usuários e os cenários de falha
Conclusão: a estratégia “Evals First” é a base de produtos com LLM confiáveis
- É preciso adotar uma mentalidade orientada à avaliação desde o início do desenvolvimento de aplicações com LLM
- O ponto central é definir corretamente as métricas e os critérios desde cedo e usá-los como referência para desenvolvimento e deploy
- A avaliação deve ser tratada não como uma atividade posterior, mas como um processo central de desenvolvimento para construir sistemas de IA confiáveis e centrados no usuário
1 comentários
Pela minha experiência, e como também aparece em outros casos como https://blog.lawrencejones.dev/ai-mvp/, os modelos mais recentes não garantem necessariamente resultados melhores. Sempre que se ajusta o modelo ou o prompt, é preciso fazer uma avaliação com um conjunto de dados, e é até um pouco irônico que, por mais que o LLM ajude no julgamento, a pessoa ainda tenha que criar manualmente, um por um, o conjunto de dados de ground truth para o modelo de LLM rsrs