跳到主要内容

检索增强生成(RAG)用于LLMs

在处理LLMs时存在许多挑战,如领域知识差距、事实性问题和幻觉。检索增强生成(RAG)通过增加LLMs与外部知识(如数据库)来解决其中一些问题。RAG在知识密集型场景或需要不断更新知识的领域特定应用中特别有用。与其他方法相比,RAG的一个关键优势在于LLM不需要为特定任务重新训练。RAG最近在对话代理中的应用使其变得流行起来。

在这份摘要中,我们突出了最近一项名为Retrieval-Augmented Generation for Large Language Models: A Survey(高等,2023)的调查中的主要发现和实用见解。具体来说,我们关注围绕构成RAG系统的不同组件(检索、生成和增强技术)的现有方法、最新RAG、评估、应用和技术。

RAG简介

"RAG框架"

这里更好地介绍的那样,RAG可以定义为:

RAG接受输入并在给定源(例如维基百科)的情况下检索一组相关/支持文档。这些文档与原始输入提示连接在一起作为上下文,并被馈送到文本生成器,生成最终输出。这使得RAG适应了事实可能随时间演变的情况。这在LLMs的参数化知识是静态的情况下非常有用。RAG允许语言模型绕过重新训练,通过基于检索的生成访问最新信息以生成可靠的输出。

简而言之,在RAG中获得的检索证据可以作为提高LLM响应的准确性、可控性和相关性的一种方式。这就是为什么RAG可以帮助减少在高度发展的环境中解决问题时出现幻觉或性能问题。

虽然RAG还涉及优化预训练方法,但当前方法主要已转向将RAG和强大的微调模型(如ChatGPTMixtral)的优势结合起来。下图显示了与RAG相关研究的演变:

"RAG框架" 图源

下面是典型的RAG应用工作流程:

"RAG框架" 图源

我们可以解释不同步骤/组件如下:

  • 输入: LLM系统响应的问题称为输入。如果不使用RAG,则LLM直接用于回答问题。
  • 索引: 如果使用RAG,则首先通过分块索引一系列相关文档,生成这些块的嵌入,并将它们索引到向量存储中。在推断时,查询也以类似的方式嵌入。
  • 检索: 通过将查询与索引向量进行比较获得相关文档,也称为“相关文档”。
  • 生成: 将相关文档与原始提示结合作为附加上下文。然后将组合的文本和提示传递给模型进行响应生成,然后准备为系统向用户的最终输出。

在提供的示例中,直接使用模型由于缺乏对当前事件的了解而无法回答问题。另一方面,使用RAG时,系统可以提取模型回答问题所需的相关信息。

RAG范式

在过去几年中,RAG系统已从Naive RAG发展到Advanced RAG和Modular RAG。这种演变是为了解决性能、成本和效率等方面的某些限制。

"RAG框架" 图源

Naive RAG

Naive RAG遵循传统的索引、检索和生成过程。简而言之,用户输入用于查询相关文档,然后将这些文档与提示组合并传递给模型生成最终响应。如果应用涉及多轮对话交互,则可以将对话历史整合到提示中。

Naive RAG存在一些限制,如低精度(检索到的块不对齐)和低召回率(未能检索到所有相关块)。还有可能将过时信息传递给LLM,这是RAG系统最初应该解决的主要问题之一。这会导致幻觉问题和响应不佳和不准确。 当应用增强技术时,可能会出现冗余和重复的问题。在使用多个检索段落时,排名和协调风格/语调也至关重要。另一个挑战是确保生成任务不过度依赖增强信息,这可能导致模型只是重申检索到的内容。

高级 RAG

高级 RAG 有助于解决 Naive RAG 中存在的问题,比如改善检索质量,可能涉及优化预检索、检索和后检索过程。

预检索过程涉及优化数据索引,旨在通过五个阶段增强被索引数据的质量:增强数据粒度、优化索引结构、添加元数据、对齐优化和混合检索。

检索阶段可以通过优化嵌入模型本身进一步改进,这直接影响构成上下文的块的质量。可以通过微调嵌入来优化检索相关性,或者使用更好捕捉上下文理解的动态嵌入(例如 OpenAI 的 embeddings-ada-02 模型)来实现。

优化后检索侧重于避免上下文窗口限制,并处理嘈杂或潜在分散注意力的信息。解决这些问题的常见方法是重新排名,可能涉及诸如将相关上下文重新定位到提示的边缘或重新计算查询和相关文本块之间的语义相似性。提示压缩也可能有助于解决这些问题。

模块化 RAG

顾名思义,模块化 RAG 增强了功能模块,例如整合了用于相似性检索的搜索模块,并在检索器中应用微调。Naive RAG 和高级 RAG 都是模块化 RAG 的特例,由固定模块组成。扩展 RAG 模块包括搜索、内存、融合、路由、预测和任务适配器,用于解决不同问题。这些模块可以重新排列以适应特定的问题背景。因此,模块化 RAG 受益于更大的多样性和灵活性,可以根据任务要求添加或替换模块,或调整模块之间的流程。

随着构建 RAG 系统的灵活性增加,还提出了其他重要的优化技术来优化 RAG 管道,包括:

  • 混合搜索探索: 这种方法利用关键词搜索和语义搜索等多种搜索技术的组合来检索相关且具有丰富上下文的信息;在处理不同的查询类型和信息需求时非常有用。
  • 递归检索和查询引擎: 包括一个递归检索过程,可能从小的语义块开始,随后检索丰富上下文的更大块;这对于平衡效率和丰富上下文的信息非常有用。
  • StepBack-prompt: 一种提示技术,使语言模型能够进行产生概念和原则的抽象推理;当应用到 RAG 框架时,这会导致更具有根据的响应,因为语言模型远离具体实例,可以根据需要进行更广泛的推理。
  • 子查询: 可以针对不同情景使用不同的查询策略,例如树状查询或按顺序查询块。LlamaIndex 提供了一个子问题查询引擎,允许将查询分解为使用不同相关数据源的几个问题。
  • 假设文档嵌入: HyDE 生成对查询的假设答案,将其嵌入,并使用它来检索与假设答案相似的文档,而不是直接使用查询。

RAG 框架

在本节中,我们总结了 RAG 系统组成部分的关键发展,包括检索、生成和增强。

检索

检索是 RAG 的组成部分,用于从检索器中检索高度相关的上下文。检索器可以通过多种方式进行增强,包括:

增强语义表示

这个过程涉及直接改进驱动检索器的语义表示。以下是一些考虑因素:

  • 分块(Chunking): 选择正确的分块策略是一个重要步骤,这取决于您处理的内容以及生成响应的应用程序。不同的模型在不同块大小上也展现出不同的优势。句子转换器在单个句子上表现更好,而文本嵌入-ada-002 在包含 256 或 512 个标记的块上表现更好。其他需要考虑的方面包括用户问题的长度、应用程序和标记限制,但通常会尝试不同的分块策略来帮助优化 RAG 系统中的检索。

  • 精调嵌入模型(Fine-tuned Embedding Models): 一旦确定了有效的分块策略,如果您正在处理专业领域,可能需要对嵌入模型进行精细调整。否则,用户查询可能会在您的应用程序中被完全误解。您可以在广泛的领域知识(即领域知识精细调整)和特定的下游任务上进行精细调整。BGE-large-EN 开发的 BAAI 是一个值得注意的嵌入模型,可以进行精细调整以优化检索相关性。

查询和文档的对齐

这个过程涉及将用户的查询与语义空间中的文档进行对齐。当用户的查询缺乏语义信息或包含不精确的措辞时,可能需要进行这种对齐。以下是一些方法:

  • 查询重写(Query Rewriting): 专注于使用各种技术(如 Query2DocITER-RETGEN 和 HyDE)重写查询。
  • 嵌入转换(Embedding Transformation): 优化查询嵌入的表示,并将其对齐到更符合任务的潜在空间。

检索器和LLM的对齐

这个过程涉及将检索器的输出与LLM的偏好进行对齐。

  • 检索器的精细调整(Fine-tuning Retrievers): 使用LLM的反馈信号来优化检索模型。示例包括增强适应检索器(AAR)、REPLUGUPRISE 等。
  • 适配器(Adapters): 包含外部适配器以帮助对齐过程。示例包括 PRCARECOMPPKG 等。

生成

RAG 系统中的生成器负责将检索到的信息转换为连贯的文本,这将构成模型的最终输出。这个过程涉及多样化的输入数据,有时需要努力调整语言模型对从查询和文档中提取的输入数据的适应性。这可以通过后检索处理和精细调整来解决:

  • 使用冻结LLM进行后检索(Post-retrieval with Frozen LLM): 后检索处理保持LLM不变,而是专注于通过信息压缩和结果重新排序等操作来增强检索结果的质量。信息压缩有助于减少噪音,解决LLM的上下文长度限制,并增强生成效果。重新排序旨在重新排列文档,以优先考虑最相关的项目。
  • 为RAG精细调整LLM: 为了改进RAG系统,可以进一步优化或精细调整生成器,以确保生成的文本自然,并有效地利用检索到的文档。

增强

增强涉及有效地将从检索到的段落中提取的上下文与当前生成任务整合。在讨论更多关于增强过程、增强阶段和增强数据之前,这里是RAG核心组件的分类法:

"RAG分类法" 图片来源

检索增强可以应用于许多不同阶段,如预训练、精细调整和推断。

  • 增强阶段(Augmentation Stages): RETRO 是一个利用检索增强进行大规模从头开始预训练的系统的示例;它使用了一个建立在外部知识之上的额外编码器。精细调整也可以与RAG结合使用,以帮助开发和改进RAG系统的有效性。在推断阶段,许多技术被应用于有效地整合检索内容,以满足特定任务需求,并进一步完善RAG过程。

  • 增强来源(Augmentation Source): RAG模型的有效性受到增强数据来源选择的重大影响。数据可以分为非结构化、结构化和LLM生成的数据。

  • 增强过程(Augmentation Process): 对于许多问题(例如多步推理),单次检索是不够的,因此提出了一些方法:

  • 迭代检索 使模型能够执行多个检索循环,以增强信息的深度和相关性。利用这种方法的显著方法包括 RETROGAR-meets-RAG

  • 递归检索 在一个检索步骤的输出上递归迭代,作为另一个检索步骤的输入;这使得能够深入研究复杂和多步查询(例如学术研究和法律案例分析)中的相关信息。利用这种方法的显著方法包括 IRCoTTree of Clarifications

  • 自适应检索 通过确定检索的最佳时机和内容,来定制检索过程以满足特定需求。利用这种方法的显著方法包括 FLARESelf-RAG

下图展示了具有不同增强方面的 RAG 研究的详细表示,包括增强阶段、来源和过程。

"RAG增强方面" 图像来源

RAG vs. 微调

关于 RAG 和微调之间的区别以及在哪些场景下使用每种方法存在许多讨论。这两个领域的研究表明,RAG 有助于整合新知识,而微调可用于通过改进内部知识、输出格式和教授复杂指令跟随来提高模型性能和效率。这些方法并不是相互排斥的,可以在旨在改进 LLMs 的使用的迭代过程中相互补充,以应对需要快速获取知识和定制响应的复杂知识密集型和可扩展应用,这些响应遵循特定的格式、语气和风格。此外,提示工程也可以通过利用模型固有的能力来优化结果。下图显示了 RAG 与其他模型优化方法的不同特征:

"RAG 优化" 图像来源

以下是一份来自调查论文的表格,比较了 RAG 和微调模型之间的特征:

"RAG增强方面" 图像来源

RAG 评估

类似于衡量 LLMs 在不同方面的性能,评估在理解和优化 RAG 模型在各种应用场景中的性能方面起着关键作用。传统上,RAG 系统是基于下游任务的性能进行评估的,使用诸如 F1 和 EM 等任务特定指标。RaLLe 是用于评估面向知识密集任务的检索增强大语言模型的框架的一个显著例子。

RAG 评估目标旨在同时评估检索和生成,其目标是评估检索到的上下文质量和生成内容的质量。为评估检索质量,使用在其他知识密集领域中使用的指标,如 NDCG 和 Hit Rate,例如推荐系统和信息检索。为评估生成质量,可以评估不同方面,如相关性和有害性(如果是无标签内容)或准确性(对于标记内容)。总体而言,RAG 评估可以涉及手动或自动评估方法。

评估 RAG 框架侧重于三个主要质量分数和四个能力。质量分数包括衡量上下文相关性(即检索到的上下文的精确性和特异性)、答案忠实度(即答案对检索到的上下文的忠实度)和答案相关性(即答案对提出的问题的相关性)。此外,有四个能力有助于衡量 RAG 系统的适应性和效率:噪声鲁棒性、负面拒绝、信息整合和反事实鲁棒性。以下是用于评估 RAG 系统不同方面的指标摘要:

"RAG增强方面" 图像来源

用于评估 RAG 模型的基准之一是 RGBRECALL。许多工具如 RAGASARESTruLens 已开发出来,用于自动化评估 RAG 系统的过程。其中一些系统依赖于 LLMs 来确定上述某些质量分数。

RAG 的挑战与未来

在这个概述中,我们讨论了RAG研究的几个方面以及增强检索、增强和生成RAG系统的不同方法。随着我们不断开发和改进RAG系统,Gao等人,2023强调了一些挑战:

  • 上下文长度: LLMs继续扩展上下文窗口大小,这给RAG如何适应以确保捕获高度相关和重要上下文带来了挑战。
  • 鲁棒性: 处理反事实和对抗性信息对于衡量和改进RAG至关重要。
  • 混合方法: 目前正在进行研究,以更好地理解如何最优化RAG和精调模型的使用。
  • 扩展LLM角色: 增加LLMs的角色和能力以进一步增强RAG系统的兴趣很高。
  • 扩展定律: 对LLM扩展定律的研究以及它们如何适用于RAG系统仍然没有得到适当的理解。
  • 生产就绪的RAG: 生产级RAG系统需要在性能、效率、数据安全性、隐私等方面具备工程卓越性。
  • 多模态RAG: 尽管围绕RAG系统进行了大量研究,但主要集中在基于文本的任务上。越来越多的人对扩展RAG系统支持解决更多领域问题的模态表现出兴趣,例如图像、音频和视频、代码等。
  • 评估: 对于使用RAG构建复杂应用程序的兴趣需要特别关注开发细致的度量标准和评估工具,以更可靠地评估不同方面,如上下文相关性、创造力、内容多样性、事实性等。此外,还需要更好的可解释性研究和工具用于RAG。

RAG工具

一些流行的用于构建RAG系统的综合工具包括LangChainLlamaIndexDSPy。还有一系列专门用途的工具,比如Flowise AI提供了一个用于构建RAG应用程序的低代码解决方案。其他值得注意的技术包括HayStackMeltanoCohere Coral等。软件和云服务提供商也正在提供以RAG为中心的服务。例如,Weaviate的Verba可用于构建个人助手应用程序,亚马逊的Kendra提供智能企业搜索服务。

结论

总之,RAG系统已经迅速发展,包括开发更先进的范式,实现定制化,进一步提高RAG在各个领域的性能和效用。对RAG应用程序的需求巨大,这推动了改进RAG系统不同组件的方法的发展。从混合方法到自检索,这些是当前探讨的现代RAG模型研究领域。对于更好的评估工具和度量标准也有越来越高的需求。下图总结了本概述中涵盖的RAG生态系统、增强RAG的技术、挑战以及其他相关方面:

"RAG生态系统" 图像来源


RAG研究见解

以下是一些研究论文,突出了RAG的关键见解和最新发展。

见解参考日期
展示了如何利用检索增强来通过训练检索增强的模拟器来提炼语言模型助手KAUCUS: Knowledge Augmented User Simulators for Training Language Model Assistants2024年3月
提出了纠正性检索增强生成(CRAG)以改善RAG系统中生成的鲁棒性。核心思想是为检索器实现自我纠正组件,并改善利用检索文档增强生成。检索评估器有助于评估在给定查询时检索文档的整体质量。使用网络搜索和优化的知识利用操作可以改善自动自我校正和有效利用检索文档。Corrective Retrieval Augmented Generation2024年1月
递归嵌入、聚类和总结文本块,从底层向上构建具有不同摘要级别的树。在推断时,所提出的RAPTOR模型从树中检索,整合不同抽象级别的长文档中的信息。RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval2024年1月
通过LM和检索器之间的多步交互,有效解决多标签分类问题的通用程序。极端多标签分类的上下文学习2024年1月
从高资源语言中提取语义上相似的提示,以提高多语言预训练语言模型在各种任务中的零-shot性能。从分类到生成:跨语言检索增强ICL的见解2023年11月
提高RAG在面对嘈杂、无关的文档和处理未知场景中的鲁棒性。它为检索到的文档生成顺序阅读注释,使其能够对其与给定问题的相关性进行彻底评估,并整合信息以准备最终答案。Chain-of-Note:增强检索增强语言模型的鲁棒性2023年11月
消除可能不会对答案生成过程做出重要贡献的标记,以优化读者模型的答案生成过程。运行时间缩短高达62.2%,性能仅降低2%。通过标记消除优化检索增强的读者模型2023年10月
通过指导调整小型LM验证器来验证知识增强的LM的输出和知识,并使用单独的验证器。它有助于解决模型可能无法检索与给定查询相关的知识的情况,或者模型可能无法忠实地反映生成文本中检索到的知识的情况。知识增强语言模型验证2023年10月
评估RAG所需的4种基本能力中不同LLM性能的基准,包括噪声鲁棒性、负面拒绝、信息整合和反事实鲁棒性。在检索增强生成中对大型语言模型进行基准测试2023年10月
引入自我反思的检索增强生成(Self-RAG)框架,通过检索和自我反思增强LM的质量和事实性。它利用LM自适应地检索段落,并使用反思标记生成和反思检索到的段落及其自身生成。Self-RAG:通过自我反思学习检索、生成和批判2023年10月
通过迭代改进检索增强检索(GAR)和改进重写通过RAG来改进零-shot信息检索。重写-检索阶段提高召回率,重新排名阶段提高精度。GAR meets RAG范式用于零-shot信息检索2023年10月
使用基础43B GPT模型预训练48B检索模型,并从1.2万亿标记中检索。该模型经过进一步的指导调整,证明在广泛的零-shot任务上比经过指导调整的GPT有显著改进。InstructRetro:检索增强预训练后的指导调整2023年10月
通过两个不同的微调步骤,使LLM具有检索能力:一个更新预训练的LM以更好地利用检索到的信息,另一个更新检索器以返回LM所偏好的更相关结果。通过在需要知识利用和上下文意识的任务上微调,每个阶段都会带来性能改进。RA-DIT:检索增强双指导调整2023年10月
一种使RAG对无关内容具有鲁棒性的方法。它自动生成数据,以对语言模型进行微调,使其能够在训练时使用相关和无关上下文。使检索增强语言模型对无关上下文具有鲁棒性2023年10月
发现使用简单的检索增强在生成中具有4K上下文窗口的LLM,在长上下文任务上实现了与通过长上下文位置插值对16K上下文窗口进行微调的LLM相当的性能。检索遇见长上下文大型语言模型2023年10月
在上下文集成之前将检索到的文档压缩为文本摘要,从而降低计算成本,并减轻LM在长文档中识别相关信息的负担。RECOMP:通过压缩和选择性增强改进检索增强LM2023年10月
一种迭代检索-生成协作框架,充分利用参数化和非参数化知识,帮助通过检索-生成交互找到正确的推理路径。适用于需要多步推理的任务,并且总体上提高了大型语言模型的推理能力。Retrieval-Generation Synergy Augmented Large Language Models2023年10月
提出了澄清树(ToC)框架,通过少样本提示利用外部知识递归构建模糊问题的澄清树,然后使用该树生成长篇答案。Tree of Clarifications: Answering Ambiguous Questions with Retrieval-Augmented Large Language Models2023年10月
一种让大型语言模型参考其先前遇到的问题,并在遇到新问题时自适应调用外部资源的方法。Self-Knowledge Guided Retrieval Augmentation for Large Language Models2023年10月
一套指标,可用于评估不同维度(即检索系统识别相关和聚焦上下文段落的能力,大型语言模型以忠实方式利用这些段落的能力,以及生成本身的质量),而无需依赖人工标注的基本真相。RAGAS: Automated Evaluation of Retrieval Augmented Generation2023年9月
提出了生成-然后阅读(GenRead)方法,首先提示大型语言模型生成基于给定问题的上下文文档,然后阅读生成的文档以产生最终答案。Generate rather than Retrieve: Large Language Models are Strong Context Generators2023年9月
演示了如何在RAG系统中利用DiversityRanker和LostInTheMiddleRanker等排名器来选择和利用信息,以优化LLM上下文窗口的利用。Enhancing RAG Pipelines in Haystack: Introducing DiversityRanker and LostInTheMiddleRanker2023年8月
将大型语言模型与各种知识库(KBs)联系起来,促进知识的检索和存储。检索过程采用思维提示程序,以代码格式生成KB的搜索语言,并具有预定义的KB操作功能。它还提供了将知识存储在个性化KB中的能力,满足个人用户的需求。KnowledGPT: Enhancing Large Language Models with Retrieval and Storage Access on Knowledge Bases2023年8月
提出了一种结合了检索增强的掩码语言建模和前缀语言建模的模型。然后,引入了Fusion-in-Context Learning,通过使模型能够利用更多上下文示例而无需额外训练来增强少样本性能。RAVEN: In-Context Learning with Retrieval Augmented Encoder-Decoder Language Models2023年8月
RaLLe是一个开源框架,用于开发、评估和优化面向知识密集型任务的RAG系统。RaLLe: A Framework for Developing and Evaluating Retrieval-Augmented Large Language Models2023年8月
发现当改变相关信息的位置时,大型语言模型的性能会显著下降,这表明LLMs在长输入上下文中并不稳健地利用信息。Lost in the Middle: How Language Models Use Long Contexts2023年7月
以迭代方式在检索和生成之间产生协同效应。模型输出用于显示完成任务所需的内容,为检索更相关知识提供信息上下文,从而有助于在下一次迭代中生成更好的输出。Enhancing Retrieval-Augmented Large Language Models with Iterative Retrieval-Generation Synergy2023年5月
提供了主动RAG的广义视图,即主动决定何时以及何物跨生成过程检索的方法。然后,提出了前瞻性主动检索增强生成(FLARE)方法,该方法通过迭代使用即将出现的句子的预测来预测未来内容,然后将其用作查询来检索相关文档,以重新生成包含低置信度标记的句子。Active Retrieval Augmented Generation2023年5月
引入了一种通用的检索插件,利用通用的检索器来增强目标语言模型(LMs),这些LMs可能事先未知或无法进行联合微调。增强适应性检索器改进了通用语言模型的泛化能力,作为通用插件2023年5月
通过两种预训练策略改进了结构化数据上的密集检索。首先,利用结构化和非结构化数据之间的自然对齐进行结构感知预训练。然后,实施了面向掩码实体预测的掩码实体预测和捕获结构语义。结构感知语言模型预训练改进了结构化数据上的密集检索2023年5月
动态地从多个领域的异构来源中整合基础信息,以增强大型语言模型(LLMs)的事实正确性。引入了一个自适应查询生成器,处理针对不同知识来源量身定制的查询。该框架逐步纠正原因,以确保之前原因的不准确性不会传播到后续步骤。知识链:通过异构来源上的动态知识适应来基于大型语言模型进行基础化2023年5月
一个生成与上下文相关且基于知识的对话框架,使用知识图(KG)。首先从KG中检索相关子图,然后通过扰动所检索子图的词嵌入来强化事实的一致性。然后,利用对比学习确保生成的文本与检索到的子图具有高相似性。知识图增强的语言模型用于基于知识的对话生成2023年5月
采用一个小型语言模型作为可训练的重写器,以满足黑盒LLM阅读器的需求。通过RL使用LLM阅读器的反馈对重写器进行训练。形成了一个名为Rewrite-Retrieve-Read的新框架,重点是优化查询。用于检索增强的大型语言模型的查询重写2023年5月
迭代地使用检索增强生成器创建一个无限的记忆池,并使用记忆选择器选择一个输出作为后续生成轮的记忆。这使模型能够利用自己的输出,称为自记忆,以改进生成。提升自己:带有自记忆的检索增强文本生成2023年5月
为LLMs配备了一个知识引导模块,以访问相关知识而不改变其参数。它提高了“黑盒”LLMs在需要事实(+7.9%)、表格(+11.9%)、医学(+3.0%)和多模态(+8.1%)知识的一系列领域知识密集任务上的性能。带有参数化知识引导的增强型大型语言模型2023年5月
为LLMs配备了一个通用的读写内存单元,使它们能够根据任务性能的需要从文本中提取、存储和检索知识。RET-LLM:面向大型语言模型的通用读写内存2023年5月
采用一个与任务无关的检索器来构建一个共享的静态索引,并有效地选择候选证据。然后,设计一个提示引导的重新排列器,根据读者的任务特定相关性重新排列最近的证据。非知识密集型任务的提示引导检索增强2023年5月
提出了UPRISE(通用提示检索以改进零样本评估),调整了一个轻量且多功能的检索器,自动为给定的零样本任务输入检索提示。UPRISE:通用提示检索以改进零样本评估2023年3月
一个自适应的筛选-重新排列范式,结合了SLMs(作为筛选器)和LLMs(作为重新排列器)的优势。大型语言模型不是一个好的少样本信息提取器,但是对于难样本的重新排列器很好!2023年3月
零样本指示一个遵循指示的LLM生成一个捕捉相关模式的假设文档。然后,一个Contriever将文档编码为嵌入向量,该向量用于在语料库嵌入空间中识别邻域,在那里基于向量相似性检索类似的真实文档。无需相关标签的精确零样本密集检索2022年12月
提出了展示-搜索-预测(DSP)框架,用于组合高级程序,引导管道感知演示,搜索相关段落,并生成基于事实的预测,系统地将问题分解为可以更可靠地处理的小转换。展示-搜索-预测:为知识密集型自然语言处理组合检索和语言模型2022年12月
一种多步问答的方法,将检索与CoT步骤交错进行,通过CoT指导检索,反过来利用检索结果来改进CoT。这有助于提高知识密集型多步问题的性能。将检索与思维链推理交错用于知识密集型多步问题2022年12月
表明检索增强可以减少对相关预训练信息的依赖,这使得RAG成为捕捉长尾知识的有前途的方法。大型语言模型难以学习长尾知识2022年11月
通过抽样从LLMs的记忆中朗诵一个或多个相关段落,然后生成最终答案。朗诵增强语言模型2022年10月
利用LLMs作为少样本查询生成器,并基于生成的数据创建任务特定的检索器。Promptagator:从8个示例中进行少样本密集检索2022年9月
提出了Atlas,一种预训练的检索增强语言模型,能够利用极少的训练示例学习知识密集型任务。Atlas:利用检索增强语言模型进行少样本学习2022年8月
通过从训练数据中检索来提高多个NLG和NLU任务的性能。训练数据比你想象的更有价值:通过从训练数据中检索的简单有效方法2022年3月
通过保存连续数据存储条目之间的指针,并将这些条目聚类到状态中,近似实现数据存储搜索。结果是一个加权有限自动机,在推理时,相对于不影响困惑度的kNN-LM,能够节省高达83%的最近邻搜索。具有自动机增强检索的神经符号语言建模2022年1月
通过在大型语料库中检索的文档块作为条件来改进自回归语言模型,基于与前面标记的局部相似性。它通过从一个包含2万亿标记的数据库中检索来增强模型。通过从数万亿标记中检索来改进语言模型2021年12月
一种用硬负例和稳健的训练程序扩展密集段落检索的零样本槽填充的新方法。零样本槽填充的稳健检索增强生成模型2021年8月
引入了RAG模型,其中参数化记忆是一个预训练的seq2seq模型,非参数化记忆是维基百科的密集向量索引,通过预训练的神经检索器访问。它比较了两种RAG公式,一种是在整个生成的序列中条件于相同的检索段落,另一种是每个标记使用不同的段落。用于知识密集型NLP任务的检索增强生成2020年5月
表明可以仅使用密集表示来实现检索,其中嵌入是通过简单的双编码器框架从少量问题和段落中学习的。用于开放域问答的密集段落检索2020年4月

参考文献