什么是检索增强生成 (RAG)? RAG 是一种人工智能框架,它将大型语言模型 (LLM) 与外部知识检索相集成,以提高准确性和透明度。预训练的语言模型根据训练数据中的模式生成文本。RAG 通过从不断更新的知识库中检索相关事实来补充其能力。这使得语言模型的预测基于事实信息而不仅仅是其编码模式。
RAG 提高透明度并防止 LLM 幻觉 通过根据准确的外部上下文调节生成,RAG 框架提高了语言模型输出的可靠性。检索机制还提供了对用于告知每个预测的知识源和事实的可见性。这使用户能够更清楚地了解模型的推理过程。
RAG 模型可以通过几个关键方式提高大型语言模型 (LLM) 的透明度和事实准确性:
- 提供相关的外部背景——检索模块将法学硕士的几代人建立在现实世界知识的基础上,而不仅仅是其训练数据模式。这使得输出更加真实可信。
- 引用来源- 为补充提示而检索的特定文档和段落将附加到最终响应中。这允许用户验证信息的准确性和来源。
- 减少幻觉——通过根据检索到的事实知识来调节几代人,RAG 模型不太可能捏造答案或做出虚假陈述,而这对于不受约束的法学硕士来说是一个问题。
- 更新知识——外部知识源可以持续维护,确保法学硕士能够访问当前信息,而不是随着时间的推移而变得过时。
- 可解释性- 显示所使用的相关补充文档可以提高 RAG 模型推理和数据源的透明度。
- 计算效率- 通过避免昂贵的模型重新训练,RAG 的模块化架构降低了为企业部署大型语言模型聊天机器人的计算和货币成本。
为 RAG 生成嵌入 使用 BERT 等嵌入模型将这些外部文档编码为向量表示。这允许模型搜索用户查询和文档之间的语义相似性。嵌入可以来自多个来源。 - 使用 BERT 或 RoBERTa 等预训练语言模型对文本进行编码:将文档输入到模型中以生成表示它的嵌入向量。例如,对有关巴黎的维基百科文章进行编码。BERT 和 RoBERTa 经过训练可以生成文本的语义向量表示。
- 根据域内数据微调语言模型:在与提示相关的文档语料库上进一步训练 BERT。这会专门为您的检索域定制嵌入。例如,对旅行指南和文章进行微调,以嵌入与假期相关的文档。
- 训练自定义自动编码器模型:在文档集合上构建序列到向量的自动编码器。编码器部分学习通过重建原始文本来生成文档嵌入。允许创建为知识领域定制的嵌入。
- 使用简单的聚合函数,例如 TF-IDF 加权平均:计算每个标记的词嵌入并取每个文档的加权平均值。提供一种快速的无监督方法,无需训练模型。
最佳嵌入方法取决于您的模型架构、数据和用例。但语言模型编码和微调等技术是获得高质量文档表示以供检索的最常见技术。
动态更新文档语料库 在所有这些情况下,理想的解决方案是动态更新正在搜索的文档或数据以使其更具相关性。知识的来源不是固定的,而是需要不断地整合新的信息。 实现这一目标的一些方法包括: - 通过最近的出版物和文章扩展语料库以涵盖新概念。
- 完全切换域以便为某些提示找到更好的文档源。
- 使用提供实时、最新信息的 API 或数据库。
- 在更新的语料库上重新训练嵌入以重新调整向量空间。
- 迭代改进搜索算法和相关性排名。
通过动态地保持知识源最新并与提示相关,检索并馈送到语言模型的上下文将得到改善,从而增强 RAG 性能。 然后,模块检索最相关的片段或段落,并将其附加到原始用户提示中以提供附加上下文。这种增强的提示被输入到 GPT-3 等基础语言模型中,该模型现在可以利用外部知识来生成信息更丰富、更准确、更有依据的响应。 检索模块和基础模型以端到端的方式协同工作。当用户与系统对话时,检索不断更新以动态查找相关信息,以增强每个新提示。这使得系统能够访问大量的外部知识,从而使其变得更加智能和知识渊博。 模块化架构使 RAG 模型具有高度可扩展性——文档集合和检索模型可以独立于基础模型进行更新。这使得不断扩展知识源和检索能力以处理更复杂的信息查找对话成为可能。 总体而言,RAG 将语言模型的创造性生成与有针对性的知识检索结合起来。这种融合将输出锚定在事实上下文中,以提高自然语言生成应用程序的精度和可解释性。
|