详细内容或原文请订阅后点击阅览
重新排序也不是魔法:当交叉编码器层值得付出代价时
企业文档智能 [卷。 1 #2bis] 为什么在弱检索之上堆叠重排序器并不能保存它,交叉编码器实际修复了什么与它们没有修复什么,以及该系列的编辑位置。重新排序器也不是魔法:当交叉编码器层值得付出代价的帖子首先出现在走向数据科学上。
来源:走向数据科学文章。两种情况。
场景 1. 一个构建 RAG 系统的团队已经阅读了第 2 条。嵌入在否定、精确标识符、问题与其答案之间的差距上中断。该团队的第一反应是文献中建议的:添加重新排序器。交叉编码器,比 LLM 小,比余弦更智能,将其置于嵌入和 LLM 之间。他们连接 bge-reranker-base,从嵌入阶段发送前 100 名,保留前 10 名。昨天被破坏的一些查询今天似乎可以工作。团队受到鼓舞。
场景 2。两周后,与第 2 条相同的操作模式又回来了。用户询问“列出所有提到终止的条款”,系统返回三个“最相关”的条款,正好三个,按顺序排列。合同有十一个。用户询问“非员工的取消规则是什么?”重新排名者从未见过该公司的“非员工劳工”一词,并将一个不相关的段落排名在顶部。用户问“是否有没有提及赔偿的条款?”同样否定失败;交叉编码器看不到比嵌入更多的逻辑互补。与此同时,延迟现在为数百毫秒。交叉编码器在查询时对每个候选者运行,并且无法预先计算它。更糟糕的是:当他们在没有重新排序器的情况下与 text-embedding-3-large 进行并排比较时,单独的嵌入通常会匹配或击败 ada-002 + bge-reranker-base。
本文根据经验测试了成本性能梯度:从 2014 年到 2024 年的四个嵌入模型,加上三个现成的交叉编码器重新排序器,在第 2 条编目的案例上并排评分。结果比漏斗显示的更令人惊讶。
测试的七个模型及其许可证证明 URL(模型作者自己声明许可证的页面的 URL):
