本文介绍: 在大型语言模型时代,RAG的具体定义是指在回答问题或生成文本时,首先从大量文档中检索相关信息的模型。随后,它利用这些检索到的信息来生成响应或文本,从而提高预测的质量。RAG方法允许开发人员避免为每个特定任务重新训练整个大型模型。
PS: 梳理该 Survey 的整体框架,后续补充相关参考文献的解析整理。本文的会从两个角度来分析总结,因此对于同一种技术可能在不同章节下都会有提及。第一个角度是从整体框架的迭代来看(对应RAG框架章节),第二个是从RAG中不同组成部分来看(对应 Retriever,Generator 和 Augmentation in RAG)。
https://arxiv.org/abs/2312.10997
Introduction
传统上,神经网络通过微调模型来参数化知识,从而适应特定领域或专有信息。虽然这项技术产生了显著的结果,但它需要大量的计算资源,成本高昂,并且需要专门的技术专业知识,使其不太适应不断变化的信息环境。参数化知识和非参数化知识发挥着不同的作用。
纯参数化语言模型(LLM)将从大量语料库中获取的世界知识存储在模型的参数中。其局限性如下:
检索增强生成(RAG, Retrieval-Augmented Generation) 最早由Lewis等人于2020引入,将预先训练的检索器与预先训练的seq2seq模型(生成器)相结合,并进行端到端的微调,以更可解释和模块化的方式获取知识。
在大型模型出现之前,RAG主要专注于端到端模型的直接优化。在检索端进行密集检索,例如Karpukhin等人使用基于向量的密集通道检索(DPR, Dense Passage Retrieval) ,以及在生成端训练较小的模型是常见的做法。由于总体参数较小,检索器和生成器通常都会进行同步的端到端训练或微调。
背景知识
RAG 的定义
RAG vs Fine-tuning
RAG 框架
Naive RAG
Indexing
Retrieve
Generation
Naive RAG的缺点
Advanced RAG
Pre-Retrieval Process
Embedding
Post-Retrieval Process
RAG Pipeline Optimization
Modular RAG
New modules
New Pattern
Retriever
How to acquire accurate semantic representations? 如何获取精准的语义表达?
How to Match the Semantic Space of Queries and Documents? 如何匹配查询和文档的语义空间?
How to Aligning Retriever’s Output and LLM’s Preference? 如何调整检索器的输出和LLM的偏好?
Generator
How Can Retrieval Results be Enhanced via Post-retrieval Processing? 如何通过检索后处理增强检索结果?
How to Optimize a Generator to Adapt Input data? 如何优化生成器以适应输入数据?
Augmentation in RAG
RAG in Augmentation Stages
Augmentation Data Source
Augmentation Process
RAG Evaluation
Evaluation Methods
Key Metrics and Abilities
Evaluation Frameworks
Future Prospects
Vertical Optimization of RAG
Ecosystem of RAG
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。