Self-RAG: Recuperação Adaptativa e Autocrítica para LLMs
O RAG padrão recupera informações sempre, independentemente de a recuperação ajudar ou não. O Self-RAG de Asai et al. (ICLR 2024 Oral) faz uma pergunta diferente: e se o próprio modelo decidisse quando pesquisar algo e depois avaliasse o resultado? Acontece que isso importa bastante, e o mecanismo é limpo o suficiente para valer a pena ser estudado cuidadosamente.
O artigo
A principal queixa em relação ao Retrieval-Augmented Generation (RAG) convencional é que ele é indiscriminado: recupera um número fixo de passagens para cada entrada, anexa-as e gera a resposta. Isso funciona bem quando a recuperação ajuda, mas prejudica ativamente quando as passagens são irrelevantes ou quando o modelo já possui a resposta em seus pesos. O artigo apresenta o Self-Reflective Retrieval-Augmented Generation (Self-RAG), de autoria de Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil e Hannaneh Hajishirzi (University of Washington e IBM Research).
O mecanismo principal é um conjunto de quatro tokens de reflexão especiais integrados ao vocabulário do modelo no momento do treinamento. Retrieve decide se deve chamar o recuperador. IsRel (relevância) avalia se uma passagem recuperada realmente contém informações úteis para a consulta. IsSup (suporte) verifica se a afirmação gerada é total, parcial ou não suportada pela passagem. IsUse (utilidade) pontua a qualidade geral da resposta de 1 a 5. O modelo aprende a emitir esses tokens junto com sua saída normal — assim, ele critica sua própria recuperação e geração em uma única etapa de processamento (forward pass).
O treinamento ocorre em duas etapas: primeiro, um modelo crítico (LLaMA 2, 7B ajustado) é treinado em aproximadamente 4.000–20.000 exemplos rotulados por tipo de token, alcançando mais de 90% de concordância com as previsões do GPT-4. Esse crítico então anota um corpus de instrução-saída de 150.000 exemplos offline, e o gerador é treinado nesses dados anotados com os tokens de reflexão tratados como vocabulário comum. Não é necessário aprendizado por reforço.
Ideias principais
- Os quatro tokens de reflexão (Retrieve, IsRel, IsSup, IsUse) dão ao modelo um diálogo interno estruturado sobre se a evidência é confiável — não apenas uma decisão binária de recuperar/não recuperar.
- O Self-RAG 13B atinge 55,8% no PopQA, 69,3% no TriviaQA, 74,5% no PubHealth, 73,1% no ARC-Challenge e um FactScore de Biografia de 80,2 — superando o ChatGPT e o Llama2-chat com recuperação aumentada em cada um desses.
- Ablações no PopQA mostram que remover a recuperação no momento do teste custa 20,8 pontos percentuais (pp), enquanto remover apenas o crítico custa apenas 2,9 pp — o recuperador é o pilar principal; a crítica adiciona calibração por cima.
- No momento da inferência, os pesos nos tokens de crítica podem ser ajustados para equilibrar a precisão da citação com a fluência sem qualquer reitreinamento. Isso torna o comportamento do modelo configurável para diferentes aplicações posteriores.
- O comitê de programa do ICLR 2024 concedeu ao Self-RAG o status de apresentação oral (top 1%), o que reflete o reconhecimento genuíno dos pares pela contribuição técnica.
O que se sustenta — e o que não
Os resultados da ablação são convincentes. A lacuna entre "sempre recuperar" e "nunca recuperar" é grande (20,8 pp); o modelo claramente aprendeu a discriminar a recuperação útil do ruído. Os tokens IsRel e IsSup adicionam valor mensurável além da recuperação adaptativa isolada. Esse é um resultado significativo, não apenas uma reformulação.
O que me convence menos é a alegação de generalização. Todas as cinco tarefas de avaliação (PopQA, TriviaQA, PubHealth, ARC-Challenge, ASQA) são de perguntas e respostas (QA) de forma curta ou múltipla escolha — o cenário exato onde uma única passagem recuperada pode fornecer um sinal decisivo. A geração de forma longa em contextos de múltiplos documentos, que é onde residem as tarefas financeiras, recebe menos escrutínio. O FactScore de Biografia (80,2) é o substituto mais próximo, mas as biografias são relativamente bem estruturadas em comparação com um livro contábil de despesas complexo de vários anos.
Há também um detalhe na reprodutibilidade: os rótulos de treinamento do modelo crítico vêm do GPT-4. Isso torna a qualidade do rótulo dependente de um sistema proprietário e introduz custos de API que não são relatados. O CRAG (arXiv:2401.15884) mostrou posteriormente que um avaliador de recuperação de 0,77B — muito mais leve que o crítico de 7B do Self-RAG — poderia corrigir a qualidade da recuperação e ganhar 19,0 pp sobre o RAG padrão no PopQA, sugerindo que o pesado crítico ajustado pode não ser necessário. Esse é um desafio significativo ao design, mesmo que a ideia central sobre recuperação seletiva se mantenha.
Finalmente, a linha de base de comparação importa. Superar o ChatGPT (provavelmente o GPT-3.5-turbo, final de 2023) e o Llama2-chat é um patamar razoável para um modelo aberto de 13B, mas os modelos de fronteira avançaram substancialmente desde então. Se a recuperação adaptativa do Self-RAG superaria um GPT-4o bem instruído com uma configuração simples de "sempre recuperar" nesses mesmos benchmarks não é algo abordado.
Por que isso importa para a IA financeira
Agentes financeiros que operam sobre livros contábeis do Beancount enfrentam exatamente o problema de discriminação de recuperação que o Self-RAG aborda. Quando um usuário pergunta "qual é minha renda líquida este mês?", o agente pode calcular a partir de seu contexto carregado — a recuperação pode apenas adicionar ruído. Quando o mesmo usuário pergunta "registrei a fatura do prestador de serviços do terceiro trimestre?", o agente precisa verificar entradas de potencialmente vários anos. Recuperar sempre desperdiça contexto e corre o risco de injetar transações antigas irrelevantes; nunca recuperar perde a consulta necessária.
Os tokens IsRel e IsSup mapeiam-se perfeitamente para a lógica de validação de livros contábeis. IsRel: a entrada de transação recuperada realmente se relaciona com a consulta? IsSup: o contexto recuperado realmente suporta o valor de saldo gerado ou o número foi alucinado? A pontuação de utilidade (1–5) poderia informar a confiança na gravação: apenas confirmar um lançamento contábil proposto quando o modelo atribui à sua própria lógica um 4 ou 5, e sinalizar o restante para revisão humana.
A preocupação com a reprodutibilidade também importa aqui. Para um agente de contabilidade de produção, depender do GPT-4 para gerar rótulos de treinamento é uma restrição operacional. Se um avaliador mais leve (estilo CRAG) puder alcançar uma recuperação seletiva comparável, esse é o caminho mais viável para implementação. Os princípios de design do Self-RAG — decidir antes de recuperar, criticar após recuperar — permanecem valiosos mesmo que a receita específica de treinamento de tokens seja substituída.
O que ler a seguir
- CRAG: Corrective Retrieval Augmented Generation (arXiv:2401.15884) — baseia-se na ideia de recuperação adaptativa do Self-RAG com um avaliador mais leve e fallback para pesquisa na web quando a recuperação local falha; vale a pena comparar diretamente com o Self-RAG em benchmarks sobrepostos.
- RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation (arXiv:2404.00610) — foca especificamente na decomposição de consultas para QA multi-etapa complexo, que é o cenário que o Self-RAG lida com menos facilidade.
- FRAMES: Retrieval and Augmentation for Multi-Hop Evaluation (arXiv:2409.12941) — benchmark do Google DeepMind para RAG multi-documento que requer o encadeamento de vários fatos recuperados; um teste natural mais difícil para modelos no estilo Self-RAG.
