LLM大模型技术实战:专补大模型短板的RAG与提升搜索召回率 -- 知识铺
大型语言模型在实际业务中的应用挑战
引言大型语言模型(LLMs)因其出色的多功能性和智能化,已深入我们生活和工作的方方面面。然而,当应用于实际业务场景时,通用的基础大模型往往难以满足具体需求,主要原因如下:
1. 知识的局限性模型的知识库完全依赖于其训练数据,而主流大模型如ChatGPT、文心一言等,其训练集多基于网络公开数据。对于实时性、非公开或离线数据,模型则难以触及,导致知识覆盖面受限。
2. 幻觉问题AI模型的输出基于数学概率,即使是大型模型,也可能在缺乏相关知识或不擅长的领域中产生误导性信息。辨别这些信息的真伪,需要用户具备相应领域的知识。
3. 数据安全性数据安全对企业至关重要,很少有企业愿意将私域数据上传至第三方平台进行训练,这限制了完全依赖通用大模型的应用方案在数据安全与效果之间的平衡。
检索增强生成技术(RAG)的兴起面对上述挑战,检索增强生成技术(RAG)应运而生,成为AI领域的新趋势。RAG通过在生成答案前检索相关文档信息,并利用这些信息指导生成过程,有效提升了内容的准确性和相关性。
RAG的核心优势
- 缓解幻觉问题:通过检索相关信息,RAG减少了模型输出误导性信息的可能性。
- 知识更新速度快:RAG能够快速整合最新信息,保持知识的时效性。
- 内容生成可追溯:增强了生成内容的可追溯性,提高了模型的可信度。
RAG的应用前景RAG的出现为大型语言模型在实际应用中提供了更实用的解决方案,是人工智能研究领域的一项重要进展。
结语本综述将全面介绍RAG技术,深入探讨其核心范式、关键技术及未来趋势,为读者和实践者提供深入和系统的认识,同时分析检索增强技术的最新进展和关键挑战。
RAG 技术在问答系统中的应用案例
1. RAG 技术概述RAG(Retrieval-Augmented Generation)技术是一种结合了检索和生成的先进方法,它通过从外部知识库中检索相关信息来增强语言模型的生成能力。例如,在问答系统中,当遇到模型训练数据中未涵盖的事件时,RAG 技术能够通过检索最新文档摘录来弥补知识差距。
2. RAG 技术案例分析以 OpenAI CEO Sam Altman 的突然解雇和复职事件为例,传统的预训练模型可能因缺乏最新信息而无法回答。而 RAG 技术通过检索相关新闻文章,并将其与问题结合,生成一个综合的提示,从而使得模型能够给出有根据的回答。
3. RAG 技术发展史
- 早期预训练阶段:研究集中在如何通过预训练模型注入额外知识,增强模型能力。
- ChatGPT 面世后:对大型模型进行深层次上下文学习的兴趣推动了 RAG 技术的快速发展。
- LLMs 潜力开发:研究开始关注模型的可控性,探索微调过程中的改进方法。
- GPT-4 发布:RAG 技术经历变革,研究重点转向融合 RAG 和微调策略的新方法,同时优化预训练方法。
4. RAG 技术的未来展望随着技术的不断进步,RAG 技术有望在问答系统、知识检索和自然语言处理等领域发挥更大的作用,提供更加准确和及时的信息。
RAG技术发展概览
RAG技术的发展可以划分为几个阶段,每个阶段都代表了技术范式的演进。以下是对这些阶段的梳理:
1. 朴素RAG(Naive RAG)朴素RAG是RAG流程的基础形态,包含三个核心步骤:
- 索引:将文档库切分为较短的Chunk,通过编码器构建向量索引。
- 检索:基于问题与chunks的相似度检索相关文档片段。
- 生成:利用检索到的上下文生成问题的回答。
2. 进阶RAG(Advanced RAG)为了解决朴素RAG在检索质量和生成质量上的挑战,进阶RAG引入了额外的处理步骤:
- 数据索引:通过更精细的数据清洗和文档结构设计提升文本一致性。
- 检索前处理:利用问题重写、路由和扩充对齐问题与文档块的语义差异。
- 检索后处理:通过重排序避免信息丢失,或通过上下文筛选与压缩缩短窗口长度。
3. 模块化RAG(Modular RAG)模块化RAG是RAG技术的进一步发展,它突破了传统的检索-生成框架:
- 功能模块:引入查询搜索引擎、融合多个回答等具体功能模块。
- 技术融合:结合检索与微调、强化学习等技术。
- 模块设计:对RAG模块间进行设计和编排,形成多样的RAG模式。 模块化RAG并非孤立出现,而是在前两个范式的基础上继承和发展而来。进阶RAG是模块化RAG的一种特例,而朴素RAG则是进阶RAG的一种特例。
技术发展关系RAG技术的三个范式之间存在一种继承与发展的关系。从朴素到进阶再到模块化,每一步都为下一步的创新奠定了基础。
RAG 范式及其检索增强策略
RAG(Retrieval-Augmented Generation)系统是一种结合了检索和生成的先进模型,其核心构成包括检索、增强和生成三个部分。下面将详细介绍如何进行检索增强,以及在RAG系统中这三个部分是如何相互配合的。
检索增强的核心问题
在构建高效的RAG系统时,增强部分扮演着至关重要的角色。要实现有效的检索增强,需要考虑以下三个关键问题:
- 检索什么(What to Retrieve):确定需要检索的信息类型,这可能包括文本段落、短语、词汇等非结构化数据,或者结构化数据如索引文档、三元组等。
- 何时检索(When to Retrieve):决定在预训练、微调或推理的哪个阶段进行检索增强,这将影响外部知识参数化的程度和所需的计算资源。
- 如何使用检索内容(How to Use Retrieved Content):探索如何将检索到的信息有效地整合到生成过程中。
检索增强的阶段
检索增强可以在RAG系统的三个主要阶段进行:
- 预训练阶段:在这个阶段进行检索增强,可以为模型提供广泛的知识基础。
- 微调阶段:在微调过程中进行检索增强,有助于模型更好地适应特定任务。
- 推理阶段:在实际应用中进行检索增强,可以实时地为模型提供最新的信息。
检索增强的数据源
检索增强的数据可以来自多种来源:
- 非结构化文本数据:如文本段落、短语或单个词汇。
- 结构化数据:如带有索引的文档、三元组数据或子图。
- 模型内在能力:不依赖外部信息源,利用大型语言模型(LLMs)的内在生成能力。
检索增强的过程
检索增强的过程经历了从简单到复杂的演变:
- 一次性检索:最初的检索方法,一次性完成信息的检索。
- 迭代检索:多次迭代地进行检索,以逐步优化结果。
- 递归检索:通过递归的方式深入挖掘信息。
- 自适应检索:由LLMs根据需要自行判断检索的时刻和内容。
通过上述策略,RAG系统能够更加灵活和高效地利用外部知识,提升生成内容的质量和相关性。
RAG 核心组件的分类体系
在探讨 RAG(Retrieval-Augmented Generation)与微调(Fine-tuning,FT)之间的选择时,我们首先需要了解它们各自的特点以及适用场景。以下是对这两种方法的详细分析:
RAG 特点
- 外部知识依赖性:RAG 通过检索外部知识库来增强模型的生成能力。
- 模型调整:不需要对模型进行大规模的参数调整。
微调(FT)特点
- 外部知识依赖性:微调通常依赖于特定领域的数据集。
- 模型调整:需要对模型参数进行调整以适应特定任务。
适用场景分析
- RAG 的适用场景
- 当任务需要利用广泛的外部知识时,RAG 是一个不错的选择。
- 在数据集更新频繁且难以重新训练模型的情况下,RAG 可以快速适应新信息。
- 微调的适用场景
- 当有大量特定领域的数据可用时,微调可以提供更好的性能。
- 对于需要模型深入理解特定领域知识的复杂任务,微调是更合适的选择。
选择建议
- 根据任务对外部知识的需求和模型调整的难易程度,选择最适合的方法。
- 在资源有限的情况下,可以考虑结合使用 RAG 和微调,以发挥各自的优势。
结论RAG 和微调是两种不同的优化手段,它们各自有独特的优势和适用场景。合理选择和应用这两种方法,可以有效地提升语言模型的性能。
RAG 和 FT 是两种不同的技术,它们各自有独特的优势和应用场景。
RAG 技术可以类比为一本教科书,它为模型提供了定制化的信息检索能力,非常适合处理特定的查询任务。这种技术能够针对特定的需求,快速检索和整合信息,以提供精确的查询结果。
FT 技术则类似于一个学生,它能够随着时间的推移逐渐吸收和内化知识。这种技术特别适合于模仿特定的结构、风格或格式,通过不断学习和适应,提高模型的输出质量和效率。然而,FT 在整合新知识或快速迭代新用例方面可能不如RAG灵活。
尽管RAG 和 FT 各有所长,但它们并不是相互排斥的。实际上,将这两种技术结合起来使用,可以发挥各自的优势,从而实现最佳的性能表现。通过联合应用,RAG 的信息检索能力和 FT 的知识内化能力可以相互补充,共同提升模型的整体性能。
RAG技术应用流程解析
RAG技术,即Retrieval-Augmented Generation,是一种结合了检索和生成的先进模型。其应用流程可分为两个主要阶段,下文将对这两个阶段进行详细解析。
数据准备阶段
数据提取在数据准备的初始阶段,需要从各种来源提取所需的数据。
文本分割提取的数据需要进行分割,以便于后续处理。
向量化(Embedding)将文本数据转换为向量形式,这是为了便于模型理解和处理。
数据入库向量化后的数据需要构建索引并存储到数据库中,以供后续检索使用。
应用阶段
用户提问应用阶段的开始是用户的提问,这是触发整个RAG流程的关键。
数据检索(召回)根据用户的问题,系统将进行数据检索,以找到相关的信息。
注入Prompt检索到的数据将结合特定的Prompt,以引导模型更准确地生成答案。
LLM生成答案最后,大型语言模型(LLM)将根据注入的Prompt和检索到的数据生成最终答案。
以上步骤构成了RAG技术应用的完整流程,每个环节都是构建高效、准确的信息检索和生成系统不可或缺的部分。
数据准备
数据准备是构建知识检索系统的基础,涉及数据提取、处理和向量化等多个步骤。以下是详细的数据准备流程:
数据提取
-
数据加载:支持多种格式数据的加载,包括不同数据源的整合,将数据统一为统一的标准。
-
数据处理:包括数据的过滤、压缩和格式化等操作。
-
元数据获取:提取关键信息,如文件名、标题、时间等。
文本分割
文本分割是确保语义完整性的重要步骤,主要考虑以下两种方式:
-
句分割:以句子为单位进行分割,保留完整语义,常用标点包括句号、感叹号等。
-
固定长度分割:根据模型的Token限制,将文本分割为固定长度,如256或512个Tokens,可能需要在文本两端添加冗余以减少语义损失。
向量化(Embedding)
向量化是将文本转换为向量矩阵的关键过程,影响检索效果。以下是几种常见的Embedding模型: | 模型名称 | 描述 | 获取地址 || –
- | –
- | –
- || ChatGPT-Embedding | OpenAI提供的接口形式调用的Embedding模型。 | ChatGPT-Embedding || ERNIE-Embedding V1 | 百度提供的依赖于文心大模型能力的接口形式调用的Embedding模型。 | ERNIE-Embedding V1 || M3E | 功能强大的开源Embedding模型,包含多个版本,支持微调和本地部署。 | M3E || BGE | 北京智源人工智能研究院发布的支持中英文的开源Embedding模型,支持微调和本地部署。 | BGE |
数据入库
数据入库是将向量化后的数据构建索引并写入数据库的过程。适用于RAG场景的数据库有FAISS、Chromadb、ES、Milvus等,可以根据业务需求、硬件和性能要求选择合适的数据库。
应用阶段
应用阶段主要包括以下关键环节:
-
数据检索:根据用户提问,通过高效的检索方法召回最相关的知识。
-
注入Prompt:将检索到的知识融入Prompt,引导大模型生成答案。 整个流程需确保数据的准确性和检索的高效性,以实现最佳的问答效果。
数据检索方法概览
数据检索是信息检索领域中一项关键技术,其目的是从大量数据中快速准确地找到所需信息。以下是几种常见的数据检索方法:
相似性检索相似性检索的核心在于评估查询向量与数据集中存储向量之间的相似度。这种方法通常适用于推荐系统、图像识别等领域。相似度的计算可以通过以下方式实现:
- 余弦相似性:计算两个向量的夹角的余弦值,衡量它们的方向相似度。
- 欧氏距离:计算两个向量之间的直线距离,反映它们的大小差异。
- 曼哈顿距离:计算两个点在标准坐标系上的绝对轴距和,适用于多维空间。
全文检索全文检索是一种广泛应用于文本数据的检索技术。它通过构建倒排索引来实现快速检索:
- 数据预处理:在数据存入前,对文本进行分词、去除停用词等预处理操作。
- 倒排索引构建:将文本中的关键词与文档建立映射关系,形成倒排索引。
- 检索过程:用户输入关键词后,系统通过倒排索引快速定位到包含这些关键词的文档。
检索效果优化为了提高检索的准确性和召回率,可以采取以下策略:
- 结合多种检索方法,利用它们的优势互补。
- 调整算法参数,优化相似度计算和索引构建过程。
- 应用机器学习技术,不断优化检索模型。
应用场景数据检索技术被广泛应用于搜索引擎、推荐系统、自然语言处理等多个领域,是大数据处理不可或缺的一部分。
提升大模型输出准确率的Prompt设计
在大模型的交互过程中,Prompt的设计至关重要。它不仅决定了模型理解任务的能力,也直接影响到输出的准确性。以下是针对RAG(Retrieval-Augmented Generation)场景的Prompt设计要点:
1. 任务描述
- 清晰阐述任务目标,确保模型对任务有基本理解。
2. 背景知识
- 引入与任务相关的背景信息,这些信息通常是通过检索得到的,有助于模型构建知识背景。
3. 任务指令
- 明确给出用户的具体问题或指令,指导模型进行针对性的回答。
4. 其他指令
- 根据任务场景和模型性能,适当添加指令以优化输出结果。
示例Prompt以下是一个简单的知识问答场景的Prompt示例:
任务描述:回答用户关于历史事件的问题。背景知识:第二次世界大战是20世纪最大规模的战争。任务指令:请描述第二次世界大战的主要参战国家。其他指令:请确保回答简洁明了。
通过合理设计Prompt,可以显著提升大模型在特定任务场景下的表现。
【任务描述】
假如你是一个专业的客服机器人,请参考【背景知识】,回
【背景知识】
{content} // 数据检索得到的相关文本
【问题】
石头扫地机器人P10的续航时间是多久?
RAG评估方法概述
RAG(Retrieval-Augmented Generation)模型的评估涉及多个维度,旨在全面衡量其性能。以下是对RAG模型进行评估的几个关键方面:
质量评分
- 上下文相关性:评估模型生成的答案与给定上下文的匹配程度。
- 答案忠实性:衡量答案是否忠实于原始信息源。
- 答案相关性:评价答案与问题的相关性。
关键能力
- 噪声鲁棒性:模型在面对不完整或错误信息时的表现。
- 拒答能力:模型在无法生成合适答案时的拒绝回答能力。
- 信息整合:模型整合不同信息源的能力。
- 反事实鲁棒性:模型在面对反事实情况时的稳定性。
评估框架
- RGB:一种基准测试,用于评估模型的多个方面。
- RECALL:另一种基准测试,专注于模型的信息检索能力。
- RAGAS:自动化评估工具,针对RAG模型的特性设计。
- ARES:评估模型在特定任务上的表现。
- TruLens:评估模型的准确性和透明度。
评估指标评估RAG模型时,除了传统的量化指标外,还有专门针对RAG特性的评估标准。这些标准虽然尚未统一,但提供了评估模型性能的重要视角。
应用与理解通过上述评估方法和框架,可以深入理解RAG模型的性能,从而更好地应用于实际问题解决中。评估结果有助于识别模型的优势和潜在改进空间。
RAG技术的未来发展前景
RAG技术作为人工智能领域的一个活跃分支,其发展势头强劲,未来的发展可以从以下几个方面进行展望:
一、RAG的垂直优化
垂直优化主要关注RAG技术在特定领域的深入发展和改进:
- 长下文处理:探索解决长文本处理的挑战,例如检索内容超出窗口限制的解决方案。
- 鲁棒性提升:研究如何对检索到的错误内容进行过滤和验证,提高模型的抗干扰能力。
- 与微调的协同:探讨RAG与微调(Fine-Tuning)的结合方式,实现两者的优势互补。
- Scaling Law研究:分析RAG模型是否遵循Scaling Law,以及在何种场景下可能出现Inverse Scaling Law现象。
- LLMs的多角色应用:挖掘大型语言模型(LLMs)在RAG中的潜力,包括检索、生成和评估等。
- 工程实践优化:研究如何降低大规模语料检索的延迟,确保检索内容的安全性。
二、RAG的多模态拓展
RAG技术的多模态拓展是其未来发展的重要方向:
- 跨模态数据处理:将RAG技术应用于图片、音频、视频和代码等多模态数据,增强单一模态任务的处理能力。
- 多模态融合:通过RAG思想实现不同模态数据的融合,提供更丰富的信息处理能力。
三、RAG的生态系统构建
RAG技术的生态系统正在不断扩展和丰富:
- 应用领域拓展:RAG技术的应用已经从问答系统扩展到推荐系统、信息抽取和报告生成等多个领域。
- 技术栈发展:市场上出现了更多针对性的RAG工具,如Langchain和LlamaIndex等,推动了RAG技术的广泛应用。
- 工具的定制化与简易化:开发更多定制化工具以满足特定场景的需求,同时简化工具的使用,降低技术门槛。
- 功能专业化:面向生产环境,开发更加专业化的RAG工具,以满足实际应用的需求。
结语
RAG技术的未来发展前景广阔,其在垂直优化、多模态拓展和生态系统构建等方面的深入研究将推动人工智能技术的进一步发展。
大模型LLM学习指南
作为一名在互联网行业深耕多年的资深人士,我深知知识分享的重要性。在过去的十余年中,我有幸指导了许多同行,见证了他们的成长和进步。现在,我希望能够将我的经验和知识,通过有效的途径传递给更多渴望学习和提升的朋友。
1. 学习资源的获取在互联网时代,获取学习资源的途径虽然众多,但质量参差不齐。为此,我整理了一系列高质量的AI大模型学习资料,包括但不限于:
- AI大模型入门学习思维导图:帮助你构建起对AI大模型的基本理解。
- 精品AI大模型学习书籍手册:深入学习AI大模型的理论知识。
- 视频教程:通过视频形式,直观学习AI大模型的应用和实践。
- 实战学习录播视频:通过实战案例,掌握AI大模型的实际操作技巧。
2. 学习路径的规划学习任何新技术,都需要有清晰的学习路径。以下是我为大家规划的学习路径:
- 基础阶段:从AI大模型的基本概念和原理学起,理解其工作原理。
- 进阶阶段:深入学习AI大模型的高级应用,包括模型调优、性能优化等。
- 实战阶段:通过项目实践,将理论知识转化为实际操作能力。
3. 持续更新与反馈学习是一个持续的过程,我会不断更新学习资源,同时,也非常欢迎大家提出宝贵的反馈和建议,共同促进学习资源的完善。
4. 获取学习资源如果你对AI大模型的学习感兴趣,并且希望获得上述提到的全套学习资源包,可以通过以下方式获取:
- 扫描提供的二维码,即可免费获取《LLM大模型入门+进阶学习资源包》。 请大家注意,所有提供的资料均为免费,旨在帮助大家更好地学习和掌握AI大模型的相关知识。
希望这份指南能够成为你学习AI大模型的起点,让我们一起在人工智能的浪潮中乘风破浪!
篇幅有限,部分资料如下:
👉LLM大模型学习指南+路线汇总👈
💥大模型入门要点,扫盲必看!
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
路线图很大就不一一展示了 (文末领取)
👉大模型入门实战训练👈
💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉 国内企业大模型落地应用案例 👈
在过去两年中,国内企业在大模型技术的应用上取得了显著进展。《中国大模型落地应用案例集》收录了151个案例,这些案例不仅展示了大模型技术在不同领域的应用,也为研究者和业内人士提供了宝贵的参考。
案例集概览
- 收录数量:151个案例
- 覆盖领域:金融、医疗、教育、交通、制造等
案例集亮点
- 技术研究:为大模型技术的研究者提供深入案例分析
- 业务应用:展示大模型技术在实际业务中的应用方式
案例集价值
- 对于研究者,案例集是理解大模型技术如何影响行业发展的重要资料。
- 对于业内人士,案例集提供了大模型技术在不同业务场景下的实际应用示例。
获取方式感兴趣的读者可以通过文末提供的链接领取《中国大模型落地应用案例集》。
注意事项
- 案例集为专业人士提供了丰富的行业见解和应用策略。
- 通过学习这些案例,读者可以更好地理解大模型技术的实际应用和潜在价值。
(文末领取)
👉GitHub海量高星开源项目👈
💥收集整理了海量的开源项目,地址、代码、文档等等全都下载共享给大家一起学习!
👉LLM大模型学习视频👈
💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
👉 640份AI大模型行业报告合集 👈
💥 报告概览
-
报告数量:640份
-
内容覆盖:理论研究、技术实现、行业应用 🔍 适用人群
-
科研人员
-
工程师
-
AI大模型爱好者 📚 报告内容
- 理论研究:深入探讨AI大模型的科学基础和理论框架。
- 技术实现:详细解析AI大模型的构建过程和技术细节。
- 行业应用:分析AI大模型在不同行业中的应用案例和效果。 💡 报告价值
- 提供行业前沿信息
- 启发创新思维
- 促进技术交流
📈 持续更新 本报告合集将持续更新,以确保信息的时效性和前瞻性。
注意:以上内容为示例,具体报告内容以实际发布为准。
👉获取方式:
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek001/post/20240801/LLM%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%8A%80%E6%9C%AF%E5%AE%9E%E6%88%98%E4%B8%93%E8%A1%A5%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9F%AD%E6%9D%BF%E7%9A%84RAG%E4%B8%8E%E6%8F%90%E5%8D%87%E6%90%9C%E7%B4%A2%E5%8F%AC%E5%9B%9E%E7%8E%87--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com