Conceitos
Geração aumentada por recuperação (RAG)
Intuição
Pense em duas formas de responder a uma pergunta de prova: de cabeça, só com o que você decorou, ou com uma biblioteca ao lado para consultar antes de escrever a resposta. Quem responde só de memória não sabe dizer de onde tirou a informação e, para aprender um fato novo, precisa estudar tudo de novo. Quem consulta a biblioteca tem à vista os livros que consultou e pode trocar um livro desatualizado por um mais novo sem reaprender nada.
Como funciona
O paper chama de memória paramétrica o conhecimento guardado nos pesos de um modelo de linguagem, e de memória não paramétrica um índice externo, que pode ser inspecionado e trocado; a RAG combina as duas. O recuperador é um Dense Passage Retriever (DPR), um bi-encoder: um encoder BERT-base transforma a consulta em vetor, outro faz o mesmo com cada documento, e a relevância é o produto interno dos dois, o que reduz achar os top-k documentos a uma busca por produto interno máximo, resolvida de forma aproximada com um índice FAISS. O gerador é o BART-large, um modelo sequência-para-sequência que recebe a entrada concatenada com um trecho recuperado e produz o texto de saída. A recuperação é tratada como variável latente: o treino de ponta a ponta minimiza a log-verossimilhança negativa marginal da saída-alvo sobre os documentos recuperados, sem rótulos dizendo qual documento era o correto. No fine-tuning o encoder da consulta e o gerador são atualizados, enquanto o encoder de documentos e o índice ficam fixos (os autores relatam que atualizar também o encoder de documentos não foi necessário); como parte do conhecimento fica no índice, o paper afirma que ele pode ser substituído sem mexer no resto do modelo. Há duas formulações: na RAG-Sequence o mesmo documento recuperado é usado para a sequência de saída inteira, e as pontuações por documento são combinadas ponderadas pela probabilidade do recuperador; na RAG-Token um documento diferente pode ser usado a cada token, então a resposta pode combinar partes de trechos distintos. Em classificação, em que a saída é um rótulo de um único token, as duas são equivalentes.
Na prática
Para testar a troca de índice, os autores compararam um índice da Wikipedia de dezembro de 2016 com o de dezembro de 2018 em perguntas sobre 82 líderes mundiais que mudaram entre as datas: com índice e época coerentes a acurácia foi de 70% (2016) e 68% (2018), e com índice incompatível caiu para 12% e 4%, de modo que o conhecimento do modelo acompanhou o índice recebido. Em Natural Questions, a RAG-Sequence chegou a 44,5 de exact match e a RAG-Token a 44,1, contra 41,5 do DPR e 34,5 do T5-11B. A resposta também não depende só do que foi recuperado: em Natural Questions, a RAG acertou 11,8% das vezes quando a resposta não estava em nenhum documento recuperado, caso em que um modelo extrativo marcaria 0%. Os resultados mostram que o melhor recuperador depende da tarefa: o BM25, que recupera por sobreposição de palavras, superou o recuperador aprendido (o DPR) na verificação de fatos (FEVER), embora tenha piorado o desempenho em perguntas e respostas de domínio aberto.
Use em um desenho
Pratique na escola de System Design os casos que dependem deste conceito.