大模型面经(一) Prompt + RAG + 微调

目录

大模型微调

[问题一:领域微调中,如何平衡 "领域知识习得" 和 "通用能力保留"?](#问题一:领域微调中,如何平衡 “领域知识习得” 和 “通用能力保留”?)

[问题二:SFT 后模型出现 "指令遵循能力下降"](#问题二:SFT 后模型出现 “指令遵循能力下降”)

[问题三:PEFT(Parameter-Efficient Fine-Tuning)三大核心方法](#问题三:PEFT(Parameter-Efficient Fine-Tuning)三大核心方法)

[一、LoRA(Low-Rank Adaptation,低秩适应)](#一、LoRA(Low-Rank Adaptation,低秩适应))

二、Prefix-Tuning(前缀微调)

三、Adapter(适配器微调)

[问题四:QLoRA 对比 LoRA 有哪些核心创新点?](#问题四:QLoRA 对比 LoRA 有哪些核心创新点?)

[① 4-bit 量化](#① 4-bit 量化)

[② 分页优化器](#② 分页优化器)

[③ 双重量化](#③ 双重量化)

[问题五:DPO 相比 RLHF 的优势?](#问题五:DPO 相比 RLHF 的优势?)

[① 省去 RM 训练](#① 省去 RM 训练)

[② 训练稳定](#② 训练稳定)

[③ 显存效率高](#③ 显存效率高)

Prompt

[1. ReAct Reasoning + Action 推理 + 行动](#1. ReAct Reasoning + Action 推理 + 行动)

[2. CoT(Chain of Thought,思维链)](#2. CoT(Chain of Thought,思维链))

[3. ToT(Tree of Thoughts,思维树)](#3. ToT(Tree of Thoughts,思维树))

[4. Prompt Caching 提示缓存](#4. Prompt Caching 提示缓存)

[5. Reflection 迭代改进](#5. Reflection 迭代改进)

[6. 温度值 / top - p / top - k](#6. 温度值 / top - p / top - k)

RAG

问题一:内容缺失问题

问题二:错过排名靠前的文档

[问题三:脱离上下文 - 整合策略的限制](#问题三:脱离上下文 - 整合策略的限制)

问题五:格式错误问题

问题六:特异性错误

问题七:回答不全面

问题八:数据处理能力的挑战

问题九:结构化数据查询的难题

[问题十:从复杂 PDF 文件中提取数据](#问题十:从复杂 PDF 文件中提取数据)

问题十一:备用模型

问题十二:大语言模型(LLM)的安全挑战

[问题十三:RAG 有哪些优点?](#问题十三:RAG 有哪些优点?)

[问题十四:RAG 存在哪些局限性?](#问题十四:RAG 存在哪些局限性?)

[问题十五:为什么需要 RAG - Fusion?](#问题十五:为什么需要 RAG - Fusion?)

[问题十六:说一下 RAG - Fusion 核心技术?](#问题十六:说一下 RAG - Fusion 核心技术?)

[问题十七:说一下 RAG - Fusion 工作流程?](#问题十七:说一下 RAG - Fusion 工作流程?)

[问题十八:RAG - Fusion 的优势和不足](#问题十八:RAG - Fusion 的优势和不足)

[问题二十:RAG 各模块有哪些优化策略?](#问题二十:RAG 各模块有哪些优化策略?)

[问题二十一:RAG 架构优化有哪些优化策略?](#问题二十一:RAG 架构优化有哪些优化策略?)

[问题二十二:RAG 索引优化有哪些优化策略?](#问题二十二:RAG 索引优化有哪些优化策略?)

[问题二十三:RAG 索引数据优化有哪些优化策略?](#问题二十三:RAG 索引数据优化有哪些优化策略?)

[问题二十四:RAG 未来发展方向?](#问题二十四:RAG 未来发展方向?)

[问题二十五:LLMs 已经具备了较强能力了,存在哪些不足点?](#问题二十五:LLMs 已经具备了较强能力了,存在哪些不足点?)

[问题二十六:RAG V.S. SFT?](#问题二十六:RAG V.S. SFT?)


大模型微调

问题一:领域微调中,如何平衡 "领域知识习得" 和 "通用能力保留"?

平衡的核心是 "既让模型学习领域知识 ,又不覆盖通用参数"(遗忘),具体策略:

数据层面

  • 混合通用数据 :领域数据中混入 10%-20% 的通用数据 (如 Wikipedia、通用对话),例如训练金融模型时,用 "80% 金融研报 + 20% 通用常识问答",让模型在学习领域知识时 "复习" 通用能力
  • 领域 - 通用交叉数据:设计包含领域知识和通用逻辑的样本,例如 "用通俗语言解释什么是市盈率"(需结合金融知识和通用表达能力)。

训练策略层面

  • 参数冻结与微调结合冻结模型底层(如前 6 层,存储通用语义),仅微调上层(如后 4 层,学习领域知识),减少通用参数被修改的概率。
  • 学习率差异化 :对领域相关层(如输出层)用较高学习率 (5e-5),对通用层用极低学习率(1e-6),控制参数更新幅度。
  • 正则化约束 :使用 EWC(弹性权重整合)正则化,对通用能力关键参数 (预训练时更新频繁的参数)施加惩罚,限制其在微调中的变化。

问题二:SFT 后模型出现 "指令遵循能力下降"

可能原因

  1. 数据缺陷 :SFT 数据中 "指令 - 响应" 匹配度低(如 "简洁回答" 的样本中,响应依然冗长),或缺乏对应指令类型的样本。
  2. 训练过度 :学习率过高(如 > 1e-4)或轮次过多,导致模型过拟合训练数据中的句式,忽略指令本身。
  3. 基座模型选择不当:使用 Base 模型(无 指令微调基础)而非 Chat 模型,原生指令理解能力弱。

诊断方法

  • 抽样检查 SFT 数据,验证 "指令类型覆盖率" 和 "响应是否符合指令要求";
  • 对比微调前后模型在 "指令遵循测试集"(如自定义的 "简洁回答""详细分析" 等指令)上的表现,定位能力下降节点

解决策略

  • 补充高质量指令数据:增加 "指令 - 响应" 强匹配的样本(如明确标注 "简洁回答需控制在 20 字内");
  • 调整训练策略:降低学习率 (如至 2e-5)、减少轮次(从 5 轮减至 2 轮),并加入 "指令遵循正则项"(如对不匹配指令的响应增加损失);
  • 迁移学习:若用 Base 模型 ,可先用通用指令数据(如 ShareGPT)预微调 一次,再进行领域 SFT,增强基础指令理解能力

问题三:PEFT(Parameter-Efficient Fine-Tuning)三大核心方法

一、LoRA(Low-Rank Adaptation,低秩适应)

1. 核心原理

基于 "大模型微调时,参数更新量(ΔW)具有低秩性 " 的假设,通过低秩矩阵分解 近似表示参数更新:不直接修改原模型权重(W₀),而是引入两个低秩矩阵 (A∈R^d×r、B∈R^r×d,r≪d,r 通常取 8-32),使 ΔW≈A×B,最终模型权重为W=W₀+A×B

2. 实现方式

  • 层选择 :优先在 Transformer 的注意力层(如 Q/K/V 投影层) 插入 LoRA 结构(非注意力层适配效果弱,较少使用);
  • 参数初始化 :矩阵 A 用随机正态分布 初始化(均值 0、方差 1/r),矩阵 B 初始化为全 0 矩阵,确保初始时 ΔW=0,模型保留预训练能力;
  • 训练过程 :冻结原模型所有参数(W₀),仅训练 A 和 B 两个低秩矩阵;
  • 推理融合:训练完成后,将 A×B 的结果与原权重 W₀合并(W=W₀+A×B),推理时无需加载额外矩阵,与原模型推理逻辑一致。

3. 优缺点概括

  • 优点 :推理无额外延迟 / 开销,显存占用极低(参数量仅为全量微调的 1% 以下);
  • 缺点 :对非注意力层优化效果弱 ,超参数(秩 r )需针对性调优
二、Prefix-Tuning(前缀微调)

1. 核心原理

在输入序列前插入一段可训练的 "软前缀向量"(Prefix Embedding) ,通过优化前缀向量 引导模型适配任务:前缀向量会参与每一层注意力计算,相当于为模型注入 "任务专属上下文",而原模型参数完全冻结。

2. 实现方式

  • 前缀构造
    • 生成固定长度(如 10-100 个 token)的前缀向量,维度与模型词嵌入维度一致;
    • 前缀向量可通过 "随机初始化→训练优化" 得到,或用预训练词嵌入初始化后微调;
  • 层间传递 :前缀向量会随输入序列一起传入 Transformer 每一层,与输入序列的 token 向量共同参与自注意力计算(计算 Q/K/V 时包含前缀);
  • 训练与推理 :仅训练前缀向量 ,原模型参数冻结;推理时需在输入前拼接训练好的前缀向量,再传入模型。

3. 优缺点概括

  • 优点 :参数量极少(仅优化前缀向量),对生成任务引导性强;
  • 缺点 :推理需额外携带前缀,长文本场景下前缀占比提升,计算效率下降。
三、Adapter(适配器微调)

1. 核心原理

在 Transformer 模型的层间(如注意力层与前馈层之间、前馈层输出后)插入小型可训练模块(Adapter) ,通过优化 Adapter 实现任务适配:原模型参数冻结 ,仅用少量 Adapter 参数学习任务特征。

2. 实现方式

  • Adapter 结构设计
    • 核心为 "降维→激活→升维 " 的 bottleneck 结构:通常包含 1 个降维 线性层(将模型隐藏层维度 d 降至 d/r,r 为压缩比,通常取 4-8)、1 个非线性激活函数 (如 GELU)、1 个升维线性层(将维度恢复至 d);
    • 部分变体(如 AdapterFusion)会添加残差连接,避免 Adapter 对原模型特征的干扰;
  • 插入位置 :可灵活选择插入层(如仅插入编码器层、仅插入解码器层,或全层插入),不同任务可定制插入策略;
  • 训练与推理 :冻结原模型参数,仅训练所有 Adapter 模块;推理时需加载原模型 + 训练好的 Adapter 模块,计算时按 "原模型层→Adapter→原模型层" 的顺序执行。

3. 优缺点概括

  • 优点 :模块化设计,可针对不同层 / 任务定制,多任务学习适配性强
  • 缺点 :推理需加载额外 Adapter 模块,增加少量计算量与延迟。

问题四:QLoRA 对比 LoRA 有哪些核心创新点?

首先,要理解 QLoRA,必须先明白 LoRA 在做什么。

LoRA 的核心思想: 在微调时,冻结预训练大模型的原始权重,只向模型中插入一些低秩的适配器模块。训练时,只更新这些适配器的参数。由于适配器非常小,大大减少了需要训练的参数量和显存占用。

QLoRA 在 LoRA 的基础上,进一步解决了"虽然训练参数少,但模型本身仍然很大,加载进来就很占显存"的问题。 它的核心创新点可以详细解释如下:

① 4-bit 量化
  • 目标: 最大程度减少模型权重的显存占用。

  • 技术细节:

    • 普通量化: 常见的做法是将 FP16(16位浮点数)直接转换为INT4 (4位整数)。但这对神经网络的权重来说非常不友好,因为权重分布通常不均匀,直接低精度整数化会损失大量信息,导致性能急剧下降。

    • QLoRA 的 NF4: 这是一种专为神经网络权重设计的 4-bit 数据类型。

      1. 理论依据: 它假设神经网络权重服从一个零均值、单位方差的正态分布

      2. 实现方式: NF4 为这个理论分布预先定义了一组最优的量化常数。在量化时,它将权重归一化到这个分布,然后映射到这组预定义的 4-bit 值上。这样,4-bit 的每一个数值都能得到最充分的利用,信息损失最小。

    • 效果: 通过 NF4 量化,可以将一个庞大的 FP16 模型压缩到约原来的 1/4,从而能够将之前无法加载进 GPU 显存的大模型"塞进去"。

② 分页优化器
  • 目标: 防止在训练过程中因显存瞬间峰值而出现内存不足错误。

  • 技术细节:

    • 在训练时,优化器状态(如 Adam 优化器的动量、方差等)会占用大量显存,有时甚至是模型权重的 2倍。

    • 工作原理: 分页优化器的工作原理类似于操作系统的虚拟内存。它将优化器状态在 GPU 显存和 CPU 内存之间进行动态交换。

    • 具体过程: 在 GPU 显存充足时,优化器状态保留在显存中以获得最快速度。当 GPU 即将因内存峰值而溢出时,它会自动将一部分优化器状态"换出"到 CPU 的主内存 中;当需要时,再将其"换入"回 GPU 显存

    • 效果: 这相当于为 GPU 显存提供了一个巨大的"后备仓库",有效避免了训练过程中的 out-of-memory 错误,保证了训练的稳定性,尤其是在使用大批量大小时。

③ 双重量化
  • 目标: 在 4-bit 量化的基础上,进一步压缩存储空间。

  • 技术细节:

    • 第一次量化: 将模型权重从 FP16 量化为 NF4。这个过程中,需要一个"量化常数"来将浮点数值缩放到整数范围。

    • 第二次量化:第一次量化产生的所有量化常数 再进行一次 8-bit 量化。因为量化常数本身也是 FP16 的数值,且数量相对较少,对它们进行二次量化带来的误差极小,但能进一步节省空间。

总结: QLoRA 的核心创新是 "量化" 。它通过 NF4 将模型权重"压扁",通过双重量化 把边角料也"压扁",再通过分页优化器 来"借"用 CPU 内存,最终实现了在极少的显存开销下,性能几乎不损失地微调任意大型模型


问题五:DPO 相比 RLHF 的优势?

要理解 DPO,必须先明白 RLHF 的流程。

RLHF 的三步曲:

  1. 监督微调: 用高质量的问答数据微调一个预训练模型 ,得到 SFT 模型。

  2. 奖励模型训练: 收集人类对多个回答的排序数据 ,训练一个独立的 RM,让它学会判断哪个回答更好。

  3. 强化学习优化: 使用PPO 等强化学习算法,以 SFT 模型为初始策略,以 RM 为奖励信号,优化模型,使其生成能获得高奖励的回答。

DPO 则提供了一种更优雅的替代方案,其优势如下:

① 省去 RM 训练
  • RLHF 的问题: 训练一个高质量、且与最终目标对齐的 RM 本身就是一个非常困难且不稳定的任务。它引入了额外的训练开销、数据需求和不确定性(比如奖励黑客)。

  • DPO 的解决方案: DPO 的核心洞察是,奖励模型的学习和策略模型的优化可以统一到一个步骤中 。它利用一个巧妙的数学变换(Bradley-Terry 模型),将偏好数据的概率直接映射到最优策略上。

  • 效果: 你不再需要训练和存储一个独立的 RM。只需要直接使用偏好数据对 ,通过一个类似于分类损失的目标函数,直接优化你的语言模型。这大大简化了训练流程和系统复杂性。

② 训练稳定
  • RLHF 的问题: PPO 是一个复杂的 on-policy 强化学习算法,它需要同时维护策略模型、价值网络、参考模型等多个组件 。这带来了大量的超参数 需要调整,训练过程非常不稳定 ,对学习率、批大小等极其敏感,容易出现崩溃或模式坍塌

  • DPO 的解决方案: DPO 的训练目标是一个简单的基于损失函数的监督学习。它直接最大化优选回答的概率,并最小化劣选回答的概率。训练过程就像普通的模型微调一样稳定。

  • 效果: 训练曲线平滑,收敛性更好,几乎不需要像 PPO 那样进行繁琐的超参数调优,大大降低了研究和工程落地的门槛。

③ 显存效率高
  • RLHF 的问题: 在 PPO 阶段,通常需要在 GPU 显存中同时加载多个模型副本

    • 被训练的策略模型

    • 用于提供奖励的 RM

    • 用于防止模型跑偏的参考模型

    • 有时还需要一个价值网络

      这导致了巨大的显存开销。

  • DPO 的解决方案: DPO 是单阶段 训练。在训练时,它本质上只需要加载一个需要被微调的模型。虽然计算损失时需要用到参考模型的输出,但参考模型的权重是被冻结的,并且可以通过一些技术手段高效地计算,无需同时驻留多个大模型在显存中。

  • 效果: 显著降低了训练所需的显存,使得在有限的硬件资源下进行对齐训练变得更加可行。

总结: DPO 的核心优势是 "简化" 。它通过一个巧妙的理论推导,绕过了 RLHF 中不稳定且复杂的强化学习环节 ,将对齐问题重新转化为一个稳定、高效的单阶段监督学习问题。


Prompt

1. ReAct Reasoning + Action 推理 + 行动

ReAct 是一种让大模型结合 "推理(Reasoning)" 与 "行动(Action)" 的框架。它的核心是让模型在解决问题时,像人类思考一样,先推理该做什么,再执行相应行动(比如调用工具、检索信息等),然后根据行动结果继续推理,形成**"推理 - 行动 - 推理 - 行动"**的循环。

通过设计特定的提示词,引导模型生成包含 "Thought(思考步骤)" 和 "Action(行动指令)" 的内容。例如,给模型一个问题后,提示它先思考需要哪些信息 ,然后生成调用工具 的指令,工具返回结果后,再提示模型基于结果进一步思考,直到得出答案。

2. CoT(Chain of Thought,思维链

引导大模型在回答问题时,逐步展示推理过程,就像人解题时一步步思考一样。

通过分解复杂问题 为多个简单的推理步骤,大模型能更好地处理需要多步逻辑推导的任务。

缺点在于,它依赖模型本身的知识和推理能力,对于超出模型训练分布的极复杂问题 ,可能推理步骤会出错或不连贯 ;而且生成思维链会增加 token 消耗 ,提升成本;另外,在一些简单任务 上,使用 CoT 可能反而因为步骤冗余而降低效率。

3. ToT(Tree of Thoughts,思维树)

多路径的:通过"生成多个想法 -> 评估 -> 选择"来探索不同的可能性。

有三大核心组件:

  1. 思维生成器 :在给定问题状态下,生成多个后续推理步骤

  2. 状态评估器评估每个推理状态的进展质量

  3. 搜索算法 :管理推理树的搜索策略

4. Prompt Caching 提示缓存

一种优化技术,指将之前输入的提示以及对应的模型输出存储起来 。当再次遇到相同或相似的提示 时,直接从缓存中获取结果,而不用再调用大模型重新生成,以此节省时间和成本。

5. Reflection 迭代改进

让LLM对自己的初始回答进行批判性检查,识别错误或不足,然后生成改进后的答案

python 复制代码
初始答案 → 反思批评 → 改进答案 → 再次反思 → 进一步改进...

6. 温度值 / top - p / top - k

  • 温度值(Temperature) :用于控制大模型生成文本的随机性。温度值越高,生成的内容越随机、多样;温度值越低,生成的内容越确定、集中。
  • top - p(核采样) :它是一种采样策略,会选取累积概率达到 p 的最小词汇集合 来生成下一个词。这样能在保证生成多样性 的同时,过滤掉一些低概率的奇怪词汇。
  • top - k :选取概率最高的 k 个词汇 来生成下一个词,只从这 k 个词里选。

各场景最佳设置参考

  • 事实问答、代码生成:温度值设为 0 或较低(如 0.1 - 0.3),top - p 设为 0.9 左右,top - k 设为 50 左右,以保证准确性。
  • 创意写作、故事生成:温度值设为 0.7 - 1.0,top - p 设为 0.95 左右,top - k 设为 100 左右,增加随机性和创意。
  • 对话交互:温度值设为 0.5 - 0.7,top - p 设为 0.9,top - k 设为 80 左右,平衡自然度和合理性。

RAG

RAG(Retrieval - Augmented Generation,检索增强生成)是一种结合检索与生成的大模型应用范式。它先从外部知识库中检索与用户查询相关的文档,再将这些文档作为提示的一部分输入大模型,让大模型基于检索到的信息生成更准确、更贴合需求的内容。

问题一:内容缺失问题

  • 原因 :检索阶段,可能由于知识库覆盖不全 ,缺少与查询相关的关键文档;或者文档本身存在信息遗漏,无法为生成提供充分素材。
  • 解决思路扩充知识库,持续收集、整理相关领域的文档资料;对已有文档进行质量检查与补充,确保信息完整性。

问题二:错过排名靠前的文档

  • 检索算法 (如向量检索的嵌入模型、语义匹配策略)不够精准,导致与查询高度相关 的文档未能被优先检索出来; 优化检索算法,比如更换更适合任务的嵌入模型 ,调整语义匹配的权重参数;
  • 文档的索引构建存在缺陷,影响了检索排序。改进文档索引结构,采用更高效的索引策略,提升检索准确性与排序合理性。

问题三:脱离上下文 - 整合策略的限制

  • 原因 :在将检索到的文档内容整合到提示词时,没有很好地考虑文档间的逻辑关系和上下文连贯性 ,只是简单拼接,导致生成的内容缺乏整体逻辑
  • 解决思路 :设计更智能的内容整合策略,比如先对检索到的文档进行语义分析、逻辑梳理,再按照合理的上下文结构整合到提示词中。

问题五:格式错误问题

  • 原因 :生成阶段,模型对输出格式的理解不到位,或者整合的文档内容格式杂乱,影响了最终生成内容的格式规范。
  • 解决思路 :在提示词中明确输出格式要求,对整合的文档内容进行格式标准化处理,让模型能依据规范生成格式正确的内容。

问题六:特异性错误

  • 原因 :对于一些具有特殊领域知识、特殊场景的查询,知识库中相关特异性信息不足,或者模型对特异性内容的处理能力欠缺,导致生成错误内容。
  • 解决思路 :针对性地补充特殊领域、特殊场景的文档到知识库中;对模型进行针对特异性任务的微调或提示工程优化,提升其处理特异性内容的能力。

问题七:回答不全面

  • 原因 :检索到的文档覆盖的信息维度 不足,没有包含回答问题所需的全部要点;或者模型在生成时,对检索到的多维度信息整合能力不够,遗漏了部分内容。
  • 解决思路 :优化检索策略,确保能检索到更全面的相关文档;改进提示词 ,引导模型充分整合检索到的所有有效信息,生成更全面的回答

问题八:数据处理能力的挑战

  • 原因 :RAG 涉及对大量文档数据的检索、筛选、整合,大模型在面对海量数据时,处理速度慢、资源消耗大 ,且可能出现数据混淆、错误传递等情况。
  • 解决思路 :采用更高效的数据索引和检索技术 ,如向量数据库的优化、分布式检索架构;对数据进行预处理,过滤冗余、无效数据,减轻后续处理压力。

问题九:结构化数据查询的难题

  • 原因 :传统 RAG 更擅长处理非结构化文本 ,对于数据库等结构化数据,缺乏有效的检索和查询方法,难以将结构化数据的查询需求转化为合适的检索指令并获取准确结果。
  • 解决思路 :结合结构化数据查询语言 (如 SQL),设计专门的结构化数据检索模块,将结构化查询需求转换为模型可理解的提示,再结合检索结果生成答案。

问题十:从复杂 PDF 文件中提取数据

  • 原因PDF 文件格式复杂,可能包含多栏排版、表格、图片、特殊字体等元素,现有 PDF 解析工具难以精准提取其中的文本和结构信息,导致检索时无法获取有效内容。
  • 解决思路 :使用更先进的 PDF 解析工具,能识别复杂排版、提取表格数据等;对解析后的 PDF 内容进行语义化处理,转化为适合检索的文本形式。

问题十一:备用模型

  • 原因 :主用的大模型可能存在性能波动、服务中断 或者在特定任务上效果不佳的情况,需要备用模型来保障系统的稳定性和可用性。
  • 解决思路 :选择与主模型能力互补 或性能相近的模型作为备用;建立模型切换机制,当主模型出现问题时,能快速切换到备用模型,同时对备用模型进行与主模型一致的 RAG 流程适配

问题十二:大语言模型(LLM)的安全挑战

  • 原因 :LLM 可能生成有害、错误、隐私泄露的内容 ,在 RAG 中,若检索到的文档包含敏感信息 ,模型可能不当生成;此外,还面临 prompt 注入、模型被恶意引导等安全问题。
  • 解决思路 :在提示词层面加入安全过滤 规则,对生成内容进行审核;对检索文档进行敏感信息检测与过滤;对模型进行安全强化训练,提升其抵御恶意攻击、生成安全内容的能力。

问题十三:RAG 有哪些优点?

  • 能结合外部知识库 ,为大模型提供最新、特定领域 的信息,弥补模型训练数据滞后领域知识不足的问题。
  • 降低大模型对训练数据的依赖,减少模型微调 的成本和周期,通过检索即可获取新信息用于生成。
  • 提升生成内容的准确性和可信度 ,因为生成基于真实存在的文档内容减少模型 "幻觉"(生成错误信息)的情况。

问题十四:RAG 存在哪些局限性?

  • 检索环节依赖文档质量和检索算法,若文档不相关或检索不准确,会影响生成效果。
  • 处理复杂长文档时,可能无法高效提取关键信息,导致生成内容缺乏深度或不全面。
  • 对于一些需要深度推理跨多个文档关联的复杂任务,RAG 的表现可能不佳,因为它更侧重于基于检索到的现有信息生成。

问题十五:为什么需要 RAG - Fusion?

传统 RAG 在检索和生成过程中,可能存在检索结果单一 、不同检索源信息整合不佳等问题。

RAG - Fusion 可以融合多种检索方式 (如不同的向量 检索、关键词 检索等)的结果,或者融合多个来源 的信息,从而提升检索的全面性和准确性,进而让生成的内容质量更高。

问题十六:说一下 RAG - Fusion 核心技术?

  • 多源检索融合 :整合不同检索系统(如向量数据库检索、全文搜索引擎检索)的结果,对重复或相关的检索内容进行去重、合并与权重分配
  • 信息增强与重排序 :对初步检索到的文档,根据语义相关性、信息完整性等进行重新排序,确保更优质的信息被优先用于生成。
  • 跨文档语义融合 :分析不同文档间的语义关联 ,将分散在多个文档 中的相关信息进行语义层面的整合,形成更连贯、全面的信息集合。

问题十七:说一下 RAG - Fusion 工作流程?

  1. 多源检索:同时使用多种检索方法(如向量检索、关键词检索)从知识库中获取相关文档。
  2. 结果融合与过滤 :对不同检索方法得到的结果进行融合过滤掉重复、无关的文档,对保留的文档进行初步的信息提取与整合。
  3. 重排序与优化 :根据信息的相关性、重要性 等对融合后的文档进行重排序 ,挑选出最优质的文档集合。
  4. 生成增强 :将优化后的文档信息作为提示,输入到大模型中,生成更准确、全面的内容。

问题十八:RAG - Fusion 的优势和不足

  • 优势
    • 融合多源检索结果,能获取更全面、准确的信息,提升生成内容的质量。
    • 通过对检索结果的重排序和语义融合 ,增强了对复杂信息 的处理能力,更适合处理需要多文档关联的任务。
  • 不足
    • 增加了系统的复杂度 ,多源检索、结果融合等环节需要更多的计算资源和技术投入
    • 融合策略的设计较为复杂,若融合策略不合理,可能会引入冗余或错误信息,影响最终效果。

问题二十:RAG 各模块有哪些优化策略?

  • 检索模块优化检索算法 ,如采用更高效的向量相似度 计算方法;丰富检索数据源,确保覆盖更多相关信息。
  • 嵌入模块 :选用更适合任务的embedding 模型 ,或对模型进行微调,提升文本向量化的准确性。
  • 生成模块优化提示词工程 ,让大模型更好地利用检索到的信息;对大模型进行针对性微调,增强生成与检索内容的匹配度。

问题二十一:RAG 架构优化有哪些优化策略?

  • 模块化拆分与协同 :将 RAG 各环节(检索、嵌入、生成等)拆分为独立且可高效协同的模块,明确各模块职责与交互方式。
  • 分布式架构 :采用分布式部署,把检索、生成等任务分配到不同服务器,提升整体处理速度和并发能力。
  • 缓存机制引入 :对频繁 查询的结果或热门文档建立缓存,减少重复检索和生成的开销。

问题二十二:RAG 索引优化有哪些优化策略?

  • 索引类型优化 :根据数据特点选择合适索引类型 ,如文本类数据用倒排索引 ,向量数据用 HNSW 等向量索引
  • 索引构建参数调优 :调整索引构建时的参数,如向量索引的距离度量方式 、倒排索引的分词策略等,提升检索效率。
  • 增量索引更新 :支持对新增文档的增量索引构建,无需每次全量更新,保证索引时效性同时降低成本。

问题二十三:RAG 索引数据优化有哪些优化策略?

  • 数据清洗 :去除数据中的噪声(如无意义字符、重复内容),提升数据质量,便于索引和检索。
  • 数据分块优化 :合理划分文档数据块大小,既保证每个块有足够语义信息,又避免块过大影响检索精度。
  • 元数据增强 :为数据添加丰富元数据 (如文档来源、主题标签),辅助检索时的筛选与排序。

问题二十四:RAG 未来发展方向?

  • 多模态融合:不仅融合文本信息,还能整合图像、音频等多模态数据,拓展应用场景。
  • 深度推理增强 :提升 RAG 在复杂推理任务上的能力,能更好地处理需要跨文档、多步骤推理的问题。
  • 与其他技术结合 :和强化学习、知识图谱等技术深度结合,进一步优化检索与生成效果。

问题二十五:LLMs 已经具备了较强能力了,存在哪些不足点?

  • 知识时效性 :训练数据存在滞后性,对最新知识的掌握不足。
  • 领域局限性 :在某些专业领域(如特定医学细分领域),知识深度和准确性不够。
  • 推理复杂度 :处理需要多步骤、复杂逻辑推理的任务时,容易出现错误或推理不连贯。

问题二十六:RAG V.S. SFT?

  • RAG(检索增强生成) :侧重于通过外部检索获取信息 来辅助生成,不改变大模型本身参数 ,能快速引入新数据,适合需要实时、多样知识的场景,但依赖检索质量。
  • SFT(有监督微调) :通过标注数据对大模型参数进行微调 ,能让模型更精准地适配特定任务,在任务适配性上表现好,但微调成本高,且难以快速融入最新外部知识。
相关推荐
学技术的大胜嗷2 小时前
使用BatchNorm偏置填充边界:确保推理一致性与数值稳定性
人工智能·深度学习·图像生成
玩转AGI2 小时前
【必收藏】12-Factor Agents:让大模型Agent从能跑起来到能用起来的企业级设计指南
人工智能·程序员·llm
聪明的笨猪猪2 小时前
Java 内存模型(JMM)面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
今天也想MK代码2 小时前
2.1.2 扩展知识:AI 语音通话
人工智能
2401_841495642 小时前
【计算机视觉】概述
图像处理·人工智能·计算机视觉·跟踪·模式识别·识别·视觉分析
用户5191495848452 小时前
在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名计算机控制AI框架需求洞察
人工智能·aigc
2401_841495642 小时前
【计算机视觉】霍夫变换检测
图像处理·人工智能·python·opencv·算法·计算机视觉·霍夫变换
IT_陈寒3 小时前
「JavaScript 性能优化:10个让V8引擎疯狂提速的编码技巧」
前端·人工智能·后端
关关长语3 小时前
Dotnet接入AI通过Response创建一个简单控制台案例
人工智能·.net·ai dotnet