博主头像

RAG解析:从BM25到智能体RAG | 斯坦福大学CS329Z课程第3讲(Diyi Yang)

外来客 • 2026-11-13 05:16:20

分享
𝕏 f ◉
声明:本文为对公开内容的摘要整理, 未经本站独立核实,可能与原内容存在出入,不代表本站立场、观点或建议; 观点与版权归原作者及原平台所有。 如涉及版权问题,请联系我们,核实后立即删除。 [ 免责声明 ]

(原标题:RAG Explained: From BM25 to Agentic RAG | Stanford CS329Z Lecture 3 with Diyi Yang)

🎯 RAG核心机制与架构演进

  • 检索增强生成(RAG)的核心设计原则在于避免模型记忆所有事实,转而通过“即时”(Just-in-Time)检索在需要时获取相关信息。这种机制实现了动态更新索引而非权重,并支持引用溯源以增强可解释性。
  • 经典RAG架构由非参数化的文档索引(如MIPS搜索)和参数化的生成器组成。在训练阶段,采用端到端联合训练策略,梯度流经生成器至查询编码器,而庞大的文档索引保持冻结状态。
  • 性能表现方面,RAG在Natural Questions等数据集上显著优于单纯的DPR或早期BART模型。其优势主要归功于检索内容提供了更扎实的依据(Grounding),从而提升了事实性与具体性。
  • 现代Agentic RAG将搜索、路由、记忆等功能解耦为可组合模块,使系统从被动响应转向主动决策。智能体需自主决定“是否检索”、“生成何种查询”及“何时停止”,以克服传统系统的局限性。

🛠️ 工程实现与优化策略

  • 分块(Chunking)是RAG的基础环节。固定大小分块通常设为100–500 tokens,并保留10%–20%的重叠以维持上下文连贯。此外,也可采用语义分段或AI驱动的动态分块以识别自然断点。
  • 检索增强技术涵盖预检索阶段的查询重写/扩展,以及后检索阶段的重排序、摘要融合等模块化操作。混合检索策略结合向量嵌入(语义匹配)与BM25(精确词项匹配),能显著降低检索失败率,兼顾语义理解与关键词精准度。
  • 嵌入表示经历了从静态词向量(Word2Vec)到上下文嵌入(BERT/DPR),进而扩展到多模态(CLIP处理图文)及图神经网络节点向量的演进过程。匹配方式主要配合余弦相似度或内积进行计算。
  • 层级化索引旨在提升全局理解能力,解决答案分散于多段落或多文档的问题。从线性分块进化到树状结构(PEPTOR)及知识图谱,支持更高层级的主题综合问答。

🔍 关键算法与事实论据

  • 上下文嵌入技术通过在分块前添加约50-100 tokens的文档级摘要,将Top 20检索失败率从5.7%降至3.7%;结合混合策略后进一步降至2.9%。这一由Anthropic提出的方法显著提升了检索精度。
  • BM25机制中,IDF项赋予低频独特词正权重、高频通用词负权重;TF项通过参数 $k_1$ 控制词频饱和,防止单一词汇主导得分。这种精确的词项匹配是混合检索的重要组成部分。
  • DPR(稠密段落检索)采用对比损失进行训练,结合In-batch negatives与BM25 Hard Negatives。仅需1000-2000个标注对即可超越传统系统RAM,且在4/5数据集上优于BM25。
  • HNSW(分层可导航小世界图)架构通过构建多层级图结构,从顶层稀疏节点开始逐层向下细化搜索,实现 $O(\log n)$ 复杂度的快速检索。这种近似最近邻算法以少量召回损失换取巨大的速度提升,平衡了速度与精度。

🧠 编码器对比与融合策略

  • 表示过程分为双编码器、交叉编码器及晚期交互三类。双编码器独立编码查询与文档,速度最快且支持离线预计算;交叉编码器联合处理并执行全注意力机制,最复杂且耗时;晚期交互在评分时进行令牌级匹配。
  • ColBERT作为晚期交互的代表,通过为每个查询令牌寻找文档中最佳匹配令牌并累加分数,实现了优于BM25的高召回率与低延迟平衡。
  • 倒数排名融合(Reciprocal Rank Fusion)用于合并不同检索器的位置而非原始分数。该方法无需参数调优且适用于任意数量的检索器,是混合检索系统中常见的融合手段。

🤖 Agentic RAG系统演进

  • Self-RAG通过引入反思令牌,使单一模型执行按需检索、并行生成片段及自我批判(评估相关性与支持度),最终保留最佳片段。这种机制增强了模型的自我修正能力。
  • CRAG在检索器与生成器之间插入轻量级评估器,根据置信分数决定保留文档或重写查询并重新搜索。该架构无需修改生成器即可提升鲁棒性。
  • Search-R1利用强化学习(RL)替代手工设计的循环,模型通过“思考-搜索-阅读”轨迹自主优化查询。其架构在PPO基础上仅增加搜索模块,以最终答案正确性为奖励信号,性能优于R1、SFT及传统RAG基线。

⚠️ 系统失效模式与风险评估

  • 检索层风险包括遗漏关键证据、离线文档数据过时或检索到不应访问的内容。这些基础错误会直接导致后续生成环节的质量下降。
  • 阅读层干扰主要源于“中间迷失”效应,模型易被长文本中的无关信息分散注意力,或被相互冲突的真实证据误导。
  • 循环层隐患涉及复合错误累积风险,且面临恶意行为者在搜索文档中植入提示注入(Prompt Injection)以攻击整个流水线的安全威胁。Agentic系统的自主性增加了此类安全漏洞的攻击面。

📊 评估准则与指标选择

  • 课程项目评估鼓励选择具有明确研究问题、新颖且能“教会我们某些东西”的主题。严禁仅依赖单次演示成功,必须展示系统的严谨性。
  • 评估维度需涵盖数据来源、成功标准定义、多种评估手段(如LLM-as-a-Judge、人工评分)及基线对比。重点分析Agent在长尾案例或边缘情况下的失败模式。
  • 资源考量是项目可行性的关键,取决于数据可用性、计算资源、Agentic框架支持及评估方法的完备性。缺失任一环节可能导致项目失败。
  • 常用评估指标包括Hit@K(相关性存在)、NDCG@K(排序质量)和MRR(首个相关结果排名)。其中NDCG对排序位置敏感,适合衡量整体列表质量;Hit@K则关注是否存在相关结果。

💡 结论与系统选型建议

  • 商业大规模QA系统仍偏好早期快速技术以覆盖多数问题,追求高吞吐量与低延迟。复杂结构(如图谱)适用于需跨文档综合的高阶问题,但面临误差累积风险。
  • 在引入复杂Agentic机制时,需权衡成本与收益。应引入反思机制或保持模型轻量化以控制计算成本,避免过度设计导致系统不稳定。
  • RAG系统的优化是一个系统工程,需要从分块策略、检索算法、编码器选择到评估指标的全链路协同。混合检索与层级化索引是当前提升鲁棒性的主要方向。

博主头像 👤 同一博主

查看该博主全部 47 篇

🧭 类似博主

0 条评论

发表评论

请先 登录 后参与讨论。