RAFT: Adaptação de Modelos de Linguagem para RAG Específico de Domínio
RAFT: Adapting Language Model to Domain Specific RAG
March 15, 2024
Autores: Tianjun Zhang, Shishir G. Patil, Naman Jain, Sheng Shen, Matei Zaharia, Ion Stoica, Joseph E. Gonzalez
cs.AI
Resumo
O pré-treinamento de Grandes Modelos de Linguagem (LLMs, do inglês *Large Language Models*) em grandes corpora de dados textuais é, atualmente, um paradigma padrão. Ao utilizar esses LLMs para diversas aplicações subsequentes, é comum incorporar adicionalmente novos conhecimentos (por exemplo, notícias críticas em tempo real ou conhecimentos específicos de domínio privado) ao modelo pré-treinado, seja por meio de *prompting* baseado em RAG (*Retrieval-Augmented Generation*) ou por ajuste fino (*fine-tuning*). No entanto, a metodologia ideal para que o modelo adquira esses novos conhecimentos permanece uma questão em aberto. Neste artigo, apresentamos o *Retrieval Augmented FineTuning* (RAFT), uma abordagem de treinamento que melhora a capacidade do modelo de responder a perguntas em cenários de "livro aberto" dentro de um domínio específico. No RAFT, dada uma pergunta e um conjunto de documentos recuperados, treinamos o modelo para ignorar os documentos que não auxiliam na resposta à pergunta, os quais chamamos de documentos distratores. O RAFT alcança isso citando textualmente a sequência correta do documento relevante que ajudaria a responder à pergunta. Isso, aliado ao estilo de resposta em cadeia de pensamento (*chain-of-thought*) do RAFT, melhora a capacidade de raciocínio do modelo. Em cenários de RAG específicos de domínio, o RAFT melhora consistentemente o desempenho do modelo em conjuntos de dados como PubMed, HotpotQA e Gorilla, apresentando uma abordagem pós-treinamento para aprimorar LLMs pré-treinados em RAG de domínio específico. O código e a demonstração do RAFT estão disponíveis em código aberto em github.com/ShishirPatil/gorilla.
English
Pretraining Large Language Models (LLMs) on large corpora of textual data is
now a standard paradigm. When using these LLMs for many downstream
applications, it is common to additionally bake in new knowledge (e.g.,
time-critical news, or private domain knowledge) into the pretrained model
either through RAG-based-prompting, or fine-tuning. However, the optimal
methodology for the model to gain such new knowledge remains an open question.
In this paper, we present Retrieval Augmented FineTuning (RAFT), a training
recipe that improves the model's ability to answer questions in a "open-book"
in-domain settings. In RAFT, given a question, and a set of retrieved
documents, we train the model to ignore those documents that don't help in
answering the question, which we call, distractor documents. RAFT accomplishes
this by citing verbatim the right sequence from the relevant document that
would help answer the question. This coupled with RAFT's chain-of-thought-style
response helps improve the model's ability to reason. In domain-specific RAG,
RAFT consistently improves the model's performance across PubMed, HotpotQA, and
Gorilla datasets, presenting a post-training recipe to improve pre-trained LLMs
to in-domain RAG. RAFT's code and demo are open-sourced at
github.com/ShishirPatil/gorilla.