MMRvsReranking
AI领域术语对比 — 快速理解两者的核心差异
概览对比
MMR
MMR 是一种信息检索排序算法,核心思想是:每选一条结果,不仅要和查询相关,还要和已选结果尽量不同。这避免了向量检索中常见的「返回一堆语义相似但内容重复的文档」问题,在 RAG 系统中被广泛用于提升 LLM 回答的信息覆盖度。
Reranking
Reranking 在初步检索后用更精确的模型对结果重新排序,将最相关的内容排到前面。这是 RAG 系统提升检索质量最有效的手段之一,通常能提升 10-20% 的准确率。
核心要点
MMR
- 1998 年由 Carbonell 和 Goldstein 在 CMU 提出,至今仍是检索多样性的事实标准
- 核心公式通过 λ 参数在相关性和多样性之间做权衡——λ=1 纯相关性,λ=0 纯多样性
- LangChain、LlamaIndex、Elasticsearch、Qdrant 等主流框架均内置 MMR 检索模式
Reranking
- 在粗检索之后做精排,两阶段检索架构
- Cross-encoder 比 Bi-encoder 更精确但更慢
- Cohere Rerank 和 BGE-Reranker 是主流选择
正式定义
MMR
一种通过在相关性和多样性之间做边际权衡来对检索结果排序的算法,减少冗余的同时保持查询相关性。
Reranking
对初步检索结果使用更精确的模型进行重新排序以提升相关性的技术
应用场景
MMR
- RAG 系统中为 LLM 提供多角度、低冗余的上下文文档
- 搜索引擎结果去重,避免返回语义高度重复的页面
- 自动摘要生成时选取覆盖面最广的关键段落
Reranking
- RAG 系统的检索质量优化
- 搜索引擎的结果精排
- 推荐系统的候选重排
详细解读
MMR
MMR 算法迭代式地构建结果集:第一步选最相关的文档,之后每一步都选「与查询相关但与已选文档最不相似」的文档。公式为 MMR = argmax[λ·Sim(d,q) - (1-λ)·max Sim(d,dᵢ)],其中 λ 控制相关性与多样性的权衡。在 RAG 场景中,MMR 确保送入 LLM 的上下文窗口包含多角度信息而非冗余内容,直接提升回答质量。2024-2025 年随着 RAG 成为 LLM 应用标配,MMR 从学术概念变成了工程必备——Elasticsearch、Qdrant、OpenSearch、Google Bigtable 等向量数据库和检索引擎均已原生支持。不过 MMR 的 λ 参数调优依赖经验,且在大规模候选集上计算开销较高,近期有 VRSD 等新算法尝试改进。
Reranking
Reranking 采用两阶段检索架构:第一阶段用 Embedding 快速召回 Top-K 候选(速度优先),第二阶段用 Cross-encoder 模型对候选进行精细排序(精度优先)。Cross-encoder 同时编码查询和文档,能捕捉更细粒度的语义关系,但计算成本高,只适合对少量候选重排。在 RAG 系统中加入 Reranking 通常能将回答准确率提升 10-20%,是性价比最高的优化手段之一。
快速对比
| 维度 | MMR | Reranking |
|---|---|---|
| 类型 | 专业术语 | 专业术语 |
| 标签 | RAG、LLM | RAG、NLP |
| 热度 | 65 | 65 |