LLM 局限

  1. 当设计一个 LLM 问答应用,模型需要处理用户的领域问题时,LLM 通常表现出色
  2. 但有时提供的答案并不准确,甚至出现错误
  3. 当用户需要获取实时信息时,LLM 无法及时提供最新的答案
  4. LLM 在知识理解推理方面展现了卓越的能力,在复杂交互场景中表现尤为突出
  5. LLM 存在无法忽略的局限性

LLM 局限

Limitation Desc
领域知识缺乏 LLM 的知识来源于训练数据,主要为公开数据集,无法覆盖特定领域高度专业化的内部知识
信息过时 LLM 难以处理实时信息,训练过程耗时成本高昂,模型一旦训练完成,就难以处理和获取信息
幻觉 模型基于概率生成文本,有时会输出看似合理实际错误的答案
数据安全 需要在确保数据安全的前提下,使 LLM 有效利用私有数据进行推理生成

RAG 应运而生

  1. 非参数化外部知识库和文档与 LLM 结合
  2. RAG 使 LLM 在生成内容之前,能够先检索相关信息
    • 弥补 LLM 在知识专业性时效性的不足
    • 在确保数据安全的同时,充分利用领域知识私有数据

选择 RAG 而不是直接将所有知识库数据交给 LLM

  1. LLM 能够处理的 Token 数有限,输入过多的 Token 会增加成本
  2. 提供少量相关的关键信息能够带来更优质的回答

将相关的实时信息转化为知识库内容,并通过检索模块检索到与用户查询高度相关的文档片段,提供更有价值的回答

5f10a52ebc4d00ed4bc3ceyy756c6d0a

RAG 定义

  1. RAG 是一种结合检索生成NLP 模型架构
  2. RAG 由 Facebook AI2022 提出,主要是为了提升生成式模型在处理开放域问答对话生成等复杂任务中的性能
  3. RAG 通过引入外部知识库
    • 利用检索模块(Retriever)从大量文档提取相关信息
    • 然后将这些信息传递给生成模块(Generator),从而生成更准确有用的回答
  4. 核心思想 - 通过检索生成的有机结合,弥补 LLM 在处理领域问题实时任务时的不足
    • 传统生成模型在面对复杂问题时,由于知识储备不足,会生成出错误无关的回答
    • RAG 通过 Retriever 获取相关的背景信息,使 Generator 能够参考这些信息,生成更具可信度准确性的答案
    • 增强了生成内容的准确性,提高了 LLM 在应对特定领域知识动态信息适应能力

RAG 应用

RAG 的应用有效优化LLM 的固有缺陷,为 LLM 应用提供了更高的可靠性场景可落地性

  1. RAG 结合了检索生成,满足了 LLM实时性高准确性领域专有知识获取的需求
  2. 企业领域知识管理问答系统
    • RAG 能实时企业领域私有知识库中检索相关信息
    • 确保生成的回答不仅准确且符合企业内部的最新动态,解决了 LLM 在处理特定领域知识时的局限性
  3. 客户支持与智能客服系统
    • RAG 可以动态地将用户的询问与最新的产品信息、客服知识等外部数据相结合
    • 生成的回答更加贴合用户的实际需求,且满足企业需求
  4. 医疗 + 金融
    • 数据准确性时效性有极高的要求,RAG 通过实时检索最新的研究成果、市场动态或文档资料
    • RAG 确保生成的内容不仅基于最新信息,同时具备领域专有知识深度分析能力

RAG 流程

实现了检索生成的有机结合,显著提升了 LLM领域任务中的准确性实时性

7bc529003e05a3ab0561204230a83bdc

Indexing

外部文档转化为可检索的向量,支撑后续的检索生成环节

  1. 将各类数据源及其格式统一解析为纯文本格式
  2. 根据文本的语义结构,将文档分割成为小而语义完整文本块chunk
    • 确保系统能够高效检索和利用 chunk 中包含的信息
  3. 然后,使用文本嵌入模型embedding model),将这些 chunk 进行向量化
    • 生成高维稠密向量,转换为计算机能够理解语义表示
  4. 最后,将这些向量存储在向量数据库vector database)中,并构建索引,完成知识库构建

Retrieval

连接用户查询知识库

  1. 将用户查询query)通过同样文本嵌入模型embedding model)转换为向量表示
    • 将查询(query)映射到知识库内容相同向量空间
  2. 通过相似度度量方法,Retriever向量数据库中筛选出与 query 最相关的前 K 个 chunk
    • 通过相似性搜索,Retriever 有效获取了与 query 切实相关外部知识
    • 生成阶段提供了精确有意义上下文支持
  3. 这些 chunk 将作为生成阶段输入的一部分

Generation

具备领域知识私有信息精确内容生成

  1. 检索到的文本块chunk)与原始查询query)共同构成增强提示词prompt),输入到 LLM
  2. LLM 生成精确且具备上下文关联的回答
    • 符合用户的查询意图 + 充分利用检索到的上下文信息

RAG vs Fine-tuning

rag-fine-tuning

  1. 在 LLM 专业领域场景的应用中,RAG外部知识) 和 Fine-tuning领域能力) 都是可行的选择
  2. RAG - 外部知识 - 动态响应 - 频繁更新
    • 场景 - 频繁处理实时信息、回答复杂依赖外部知识的问题、回答需具备可解释性
    • RAG 通过结合检索系统生成模型,能够实时利用最新信息,生成上下文相关准确的答案
  3. Fine-tuning - 领域能力 - 深度优化推理
    • 场景 - 需求稳定、领域知识固定、不需要频繁更新知识库的场景
    • 通过使用特定领域的数据模型进行深度优化
    • Fine-tuning 可以提升模型在特定任务或领域中的推理能力,确保输出内容的专业性一致性

如果即需要利用最新的外部知识,又需要保持高水平的领域推理能力,可以结合 RAG 和 Fine-tuning,以实现最佳的性能和效果