概述
这很重要,因为纯粹的相关性排序通常会返回近乎重复的段落,从而浪费 RAG 上下文窗口中的空间。
深入探讨
当搜索系统纯粹根据与查询的相关性对文档进行评分时,最上面的结果通常是多余的——五个段落都说同样的事情。卡博内尔和戈尔茨坦于 1998 年推出的 MMR 通过一次选择一个结果来解决这个问题。在每一步中,它都会选择使加权混合最大化的候选者:lambda乘以与查询的相关性,减去(1减lambda)乘以与已选择的任何内容的最大相似度。接近 1 的 lambda 有利于纯粹的相关性;接近 0 有利于多样性。在检索增强生成中,MMR 很受欢迎,用于获取不同的块集,因此语言模型会看到互补的证据,而不是重复相同的事实,从而在不扩大上下文的情况下提高覆盖范围。
现实世界的实施
RAG 聊天机器人使用 MMR 检索,因此其前 5 个块涵盖策略的不同方面,而不是同一段落的五个释义。
研究摘要工具应用 MMR 来挑选尽量减少重叠的段落,从而生成更广泛、更少重复的摘要。
新闻聚合商使用 MMR 对文章进行排名,以显示对同一事件的不同报道,而不是十家媒体重复同一个新闻报道。
LangChain 的向量存储检索器使用 fetch_k 和 lambda_mult 公开 search_type='mmr' 以使返回的文档多样化。
最大边际相关性的未来
MMR 在 LangChain 和 Chroma 等矢量数据库客户端中仍然是一种轻量级默认设置,它作为单行检索模式提供。未来的系统越来越多地将其与学习的多样性目标、基于集群的选择和跨编码器重新排序器结合起来,这些重新排序器在语义上比余弦距离更能判断新颖性。随着上下文窗口的增长,重点从节省空间转向整理真正互补的证据,即使在原始容量充足的情况下,也能保持 MMR 等具有多样性意识的选择相关性。
付诸实践
为什么这很重要
- 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
- 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
- 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。
留意
- 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
- 及时的敏感性可能会在类似的请求中产生不一致的结果。
- 如果访问控制薄弱,敏感文本数据可能会暴露。
后续步骤
- 在推出之前定义输出格式、语气和质量标准。
- 当准确性很重要时,请使用可信来源进行地面响应。
- 为高风险输出保留人工审查检查点。
- 跟踪故障模式并定期重新训练提示或工作流程。
不断探索
常见问题
什么是最大边际相关性?
最大边际相关性 (MMR) 是一种重新排名方法,可平衡结果的相关性和与已选择结果的差异程度。这很重要,因为纯粹的相关性排名通常会返回近似重复的段落,从而浪费 RAG 上下文窗口中的空间。
MMR 旨在解决的主要问题是什么?
MMR 通过奖励新颖性,解决了仅相关性排名的趋势,即显示许多本质上相同的结果。
在MMR公式中,接近1的lambda值强调什么?
Lambda 权重相关性;接近 1 时,相关性项占主导地位,而接近 0 时,多样性(低相似性)项占主导地位。
MMR 如何选择结果?
MMR 是一种贪婪迭代方法:每次选择都会最大化相关性减去与已选择项目的最大相似度。
基于嵌入的 MMR 实现如何衡量查询相关性和文档冗余度?
通用算法允许使用合适的相似度函数;对于向量表示而言,余弦相似度是一个常见的选择。
为什么 MMR 在检索增强生成 (RAG) 中特别有用?
通过使检索到的块多样化,MMR 帮助模型看到不同的证据,而不是重复相同的事实,从而提高覆盖率。