笔者采用豆包大模型根据本文标题生成
近期笔者关注大模型过程中,多次看到讨论RAG技术。自ChatGPT大火后,大语言模型(LLM,Large Language Mode)普遍存在“一本正经胡说八道”的“幻觉”问题。今年以来,LLM中的这类“幻觉”问题得到不少改善,RAG技术的逐步运用,功不可没。
“RAG(Retrieval-Augmented Generation)增强检索”是一种结合检索和生成的技术方法。RAG的概念由Facebook人工智能研究院(Facebook AI Research,FAIR)的研究团队在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中进行了详细介绍(https://arxiv.org/abs/2005.11401)。该论文是2020年5月由研究团队提交到arxiv平台,直到2021年4月持续修改了4个版本。
RAG论文作者及机构
在自然语言处理和人工智能领域,RAG 的工作原理通常是在生成文本时,模型首先从一个大规模的知识库或文档集合中进行检索,获取与当前生成任务相关的信息,然后利用这些检索到的信息来辅助生成更加准确、全面和有依据的文本。例如,当回答一个关于新闻事件的问题时,RAG 技术会先从新闻资料数据库中检索相关的内容,再基于这些检索结果来生成回答。RAG 技术能够利用外部的知识源来增强模型的生成能力,减少生成内容的偏差和错误,提高生成质量和可靠性。一些常见的智能问答系统、文本生成任务、语言翻译等应用场景都会用到RAG技术。
RAG在实际应用中具有不少好处。(1)通过结合检索和生成技术,RAG能够更准确地理解用户查询并检索相关信息,提高信息检索的准确性和效率。(2)利用检索到的信息作为上下文,RAG可以生成更符合用户需求的自然语言文本,生成更贴近用户需求的文本。(3)RAG的检索库可以定期更新,从而确保生成的文本内容基于最新的信息。(4)RAG的回复直接来自检索库,具有强解释性,且可以根据特定领域的知识库和prompt进行定制,增强了可解释性和定制能力。
RAG 技术在实际应用中也存在一些局限。(1)高度依赖输入数据的质量。如果数据存在错误、不完整或不准确的情况,可能会导致生成的结果也出现问题。不良的解析器会导致数据质量下降,即使是优秀的模型也会被格式混乱的文本或表格所困扰。(2)检索的局限性。传统的 RAG 方法通常不会随着生成内容的变化而更新或检索新信息。一旦检索到初始文档,模型就会继续仅根据这组初始信息生成内容,如果随着文本的生成有新的信息变得相关,模型可能无法捕捉到这些信息。(3)模型本身的限制。RAG 主要优化了模型的输入过程,通过丰富输入信息来增强输出质量,但它不改变模型本身的推理能力和参数。如果模型本身在理解和推理上存在固有缺陷,或者参数不足,单纯使用 RAG 技术可能无法提高模型的输出能力。(4)复杂问题处理困难。在处理复杂问题、大型数据集或需要跨多个文档进行查询时,可能会遇到挑战。它在单次尝试中缺乏对查询的深入理解、规划、工具使用、反思和错误纠正能力,并且是无状态的,难以应对复杂、动态的查询需求。(5)合成信息的挑战。不容易确定在文本输出中哪些部分需要增强,以及如何正确地合成检索到的信息。为了克服这些局限性,研究人员提出了一些改进方法,如自我反思学习检索(Self-RAG)、引入代理(Agent)的概念等,通过不断创新和优化来提升 RAG 技术的性能和适用性。
(大众新闻记者 汤代禄)