Ajuste fino do recuperador multi-tarefa para RAG eficiente e específico de domínio.
Multi-task retriever fine-tuning for domain-specific and efficient RAG
January 8, 2025
Autores: Patrice Béchard, Orlando Marquez Ayala
cs.AI
Resumo
A Geração com Recuperação Aprimorada (RAG) tornou-se ubíqua ao implantar Modelos de Linguagem de Grande Escala (LLMs), pois pode lidar com limitações típicas, como gerar informações alucinadas ou desatualizadas. No entanto, ao construir aplicações RAG do mundo real, surgem questões práticas. Primeiramente, as informações recuperadas são geralmente específicas do domínio. Como é computacionalmente custoso ajustar finamente os LLMs, é mais viável ajustar finamente o recuperador para melhorar a qualidade dos dados incluídos na entrada do LLM. Em segundo lugar, à medida que mais aplicações são implantadas no mesmo sistema do mundo real, não se pode arcar com o custo de implantar recuperadores separados. Além disso, essas aplicações RAG normalmente recuperam diferentes tipos de dados. Nossa solução é ajustar finamente um pequeno codificador de recuperador em uma variedade de tarefas específicas do domínio para nos permitir implantar um codificador que possa atender a muitos casos de uso, alcançando assim baixo custo, escalabilidade e velocidade. Mostramos como este codificador generaliza para configurações fora do domínio, bem como para uma tarefa de recuperação não vista em casos de uso empresarial do mundo real.
English
Retrieval-Augmented Generation (RAG) has become ubiquitous when deploying
Large Language Models (LLMs), as it can address typical limitations such as
generating hallucinated or outdated information. However, when building
real-world RAG applications, practical issues arise. First, the retrieved
information is generally domain-specific. Since it is computationally expensive
to fine-tune LLMs, it is more feasible to fine-tune the retriever to improve
the quality of the data included in the LLM input. Second, as more applications
are deployed in the same real-world system, one cannot afford to deploy
separate retrievers. Moreover, these RAG applications normally retrieve
different kinds of data. Our solution is to instruction fine-tune a small
retriever encoder on a variety of domain-specific tasks to allow us to deploy
one encoder that can serve many use cases, thereby achieving low-cost,
scalability, and speed. We show how this encoder generalizes to out-of-domain
settings as well as to an unseen retrieval task on real-world enterprise use
cases.Summary
AI-Generated Summary