
Reranker 的上限在哪里召回失败还是排序失败——SciFact 100 条开发查询实验系列从最小复现到可检验的科研问题日期2026-09-28读者研究生、科研新人和工程型研究者范围完整 5,183 篇语料的既有检索结果抽取 100 条开发查询每条重排 50 个候选不代表完整基准。一、复现价值把一个总分拆成两个问题重排器reranker接收检索器已经选出的文档改变其顺序。若相关论文未进入候选集合再强的排序函数也无法凭空补回。若它已经进入候选只是排在第十三名则模型有机会把它推到前十。两类情况需要不同实验混在一个均值里会误导改进方向。【论文报告】Nogueira 与 Cho 的《Passage Re-ranking with BERT》把查询和候选段落联合输入 BERT再按相关性得分排序论文研究的是检索后的第二阶段。原文使用 BERT-LARGE 并进行训练。本篇采用公开 MiniLM 检查点推理不声称复现原论文训练或成绩。[1]【本次实际验证】沿用 SciFact 与 BEIR 的版本和划分809 条 BEIR train 查询作为开发资源300 条 BEIR test 查询继续保留。082 已核对后者对应原始 SciFact 开发划分这是一份本项目未用于调参的确认资源不是外部密封盲测。检索相关性也不等于支持、反驳或事实核验正确率。[2][3]二、核心思想联合读一对文本而非比较两个向量双编码器分别计算查询和文档向量交叉编码器把两段文本放入同一次前向计算使查询中的词可以与候选正文交互。这里的打分可简写为s θ ( q , d ) f θ ( tokens ( q , t i t l e ( d ) ∥ t e x t ( d ) ) ) ∈ R . s_\theta(q,d)f_\theta(\operatorname{tokens}(q,\mathrm{title}(d)\Vert\mathrm{text}(d)))\in\mathbb R.sθ(q,d)fθ(tokens(q,title(d)∥text(d)))∈R.其中(q) 是查询(d) 是候选文档(\Vert) 表示用单个空格拼接(f_\theta) 包括冻结的编码器与分类头。输出是一个实数 logit即未做概率归一化的模型得分数值较大排在前面不把它当作“相关概率”。本模型固定配置使用 Identity 激活直接保留原始得分。[4]本次形状检查实际得到输入编号张量[2,512]、末层隐藏状态[2,512,384]、分类头输出[2,1]官方预测接口再展平成[2]。两个样例的直接前向 logit 与接口输出最大差为零。这里的二表示两对查询文档五百一十二是含特殊符号的联合长度上限它不是分别允许查询与摘要各五百一十二个 token。三、官方代码阅读路线最需要检查的是边界从源码地图先读 BEIR 的Rerank.rerank它遍历候选构造查询与“标题 空格 摘要”文本对同时保存查询、文档编号调用预测接口后再把得分放回对应编号。若这一步错位指标可能正常输出实验却已经失效。[5]随后读 Sentence Transformers 的smart_batching_collate_text_only确认去除首尾空白、动态补齐与longest_first截断再读predict核对关闭训练模式、关闭梯度、激活函数和批次输出顺序。正文的张量检查对应这条实际链路不是另写一个相似网络代替官方实现。[6]源码包原样保留 BEIR 重排模块及 Apache 2.0 许可未改其打分或编号映射。模型加载使用已安装的官方依赖本地新增的是协议、哈希核验、指标复算和错误诊断。源码地图给出实际核验的提交、文件与行号并区分复制代码与独立教学实现。四、最小实验只让排序变化运行前登记规则将 809 个开发查询编号按SHA256(85: query_id)排序取前 100 个每条保留上一篇固定 RRF 参数六十所得的前五十候选。不根据相关标签、重排得分或失败案例挑样本。原始检索覆盖完整语料本次缩小的是查询数量与候选预算不能与上一篇的全量均值直接比较。冻结模型为cross-encoder/ms-marco-MiniLM-L6-v2权重和分词器 revision 均为233902d25c440f23af6f7d6e94d2946bac0bee0a。数据归档没有独立 Git revision沿用已校验下载地址、归档哈希与文件哈希作为版本身份。CPU、四线程、批量十六、联合长度五百一十二、单精度、随机种子八十五没有提示词、训练或解码过程。[4]先执行五条查询、每条十候选的试跑。五十对真实文本推理耗时 1.30 秒峰值进程内存约 0.90 GB线性估计低于预登记的九百秒预算才进入五千对主实验。试跑得分不用于改模型或改协议。正式重排耗时 135.33 秒含导入、校验、加载与审计的总运行耗时 141.98 秒峰值进程内存约 1.11 GB这些是本机测量不包含此前检索与网络下载。缓存身份记录模型、分词器、数据、文本规则、候选、配置和源码哈希。下载、预处理、模型加载、推理、评测分别留状态逐对结果保存原名次、新名次、logit、相关标签和截断情况。模型权重留在显式缓存中源码归档不携带环境或权重。五、评测协议理想候选顺序给出什么上限主指标 nDCG10 是“归一化折损累计增益”相关文档排得越靠前贡献越大再除以全体已标注相关文档的理想得分。分母不能只用已召回文档否则漏召回会被掩盖。辅助报告前十召回率、前五十召回率以及首个相关结果倒数排名的均值 MRR10。令 (C_q) 为冻结候选集(R_q) 为已标注相关集候选内最优 nDCG 为U q ∑ i 1 min ( 10 , ∣ C q ∩ R q ∣ ) 1 / log 2 ( i 1 ) ∑ i 1 min ( 10 , ∣ R q ∣ ) 1 / log 2 ( i 1 ) . U_q\frac{\sum_{i1}^{\min(10,|C_q\cap R_q|)}1/\log_2(i1)}{\sum_{i1}^{\min(10,|R_q|)}1/\log_2(i1)}.Uq∑i1min(10,∣Rq∣)1/log2(i1)∑i1min(10,∣Cq∩Rq∣)1/log2(i1).这里二元相关标签决定哪些文档可以贡献一分把所有已召回相关文档排到最前即可达到这个 oracle即知道标签的理想参照。它使用答案计算不能作为可部署系统也没有参与模型输入或方案选择。若模型实际得到 (M_q)则 (1-M_q(1-U_q)(U_q-M_q))。右边依次表示候选集合造成的指标缺口与当前排序相对候选上限的缺口。它是固定标注、固定候选和固定指标下的算术分解不证明后一项全能由换模型消除。数据偏差、截断与标签遗漏也可能影响它。六、实际结果召回更多不一定排得更好同一百条查询nDCG10Recall10Recall50MRR10原 RRF 顺序0.67090.77750.90500.6374交叉编码器重排0.66910.81750.90500.6267候选内理想顺序0.90610.90500.90500.9100主指标差值为 −0.001774逐查询为二十胜、六十二平、十八负。前十召回率提高但主要指标与首个相关结果位置均值略降说明“进入前十”和“排到最前”是不同目标。未估计置信区间不能据此宣称模型显著更差更不能推广到完整 SciFact 或其他重排器。五十候选成员完全一致因此前五十召回率必然不变独立审计逐条验证了这一点。九条查询没有任何相关候选八条存在相关候选但重排后前十未命中八十三条前十至少命中一次。另外一条只召回部分相关文档不能用“命中过”代替完整覆盖。平均候选缺口为 0.09387平均排序缺口为 0.23700二者共同组成剩余误差。七、失败排查先检查记录再提出解释自动选取差值最小与最大的各三条不声称人工标注。查询 817 的首个相关文档由第二名降到第十五名是明确的候选内排序失败查询 764 则由第十三名升到第二名。查询 309 从第一名降到第六名前十仍命中却损失大量折损收益。这解释了为什么胜的查询略多总均值仍可下降。排查顺序应从编号对应、候选集合和评价分母开始再检查 token 与内容。本次五千对中有 569 对发生截断原始合计 1,834,958 个 token截断后保留 1,761,679 个这是文本对累计量同一查询被重复计算且不含动态补齐的额外计算。不能直接与双编码器一次性文档编码的 token 量比较。所有指标由标准评测器产生再由独立代码复算同时检查每对分数与排名、理想上限闭式公式及误差分解。未标注文档按评测协议记为不相关不代表其科学内容真的无关。只看高分错误样例就推断模型“不懂科学”证据仍然不足。还应区分零召回与部分缺失一条查询有多篇相关文档时只找回其中一篇也可能命中前十但其理想候选得分仍低于完整标注下的理想值。本篇直接使用全部相关标注计算分母保留这种差异。这个上限依赖现有标注是否完整未来补充判定可能改变相关集合和误差分解所以它是当前协议下的可检查边界不是对真实科学相关性的最终裁决。八、可检验问题给失败保留竞争解释【作者推断】第一种解释是截断损失了决定相关性的片段第二种解释是 MS MARCO 训练所得排序偏好与科学声明检索不匹配。当前运行同时含有这两种可能性不能把任意一项写成已确认原因。下一篇可固定这批查询、候选、模型和评测预登记标题拼接与长度的对照。如果增加可见文本后被截断相关文档的恢复明显不同于未截断组才增加对第一种解释的支持。还要报告额外 token 与耗时只延长输入并得到提升不能排除计算预算的影响。若恢复没有出现也应保留这个负结果。所有选择仍限开发资源确认集继续隔离。源码与复现入口源码已公开并完成匿名拉取核验固定版本目录、README 与运行说明、SOURCE_MAP 源码地图、运行入口。远端五十一个文件与本地归档逐文件哈希一致压缩包解压后完整重跑关键结果逐字节一致。按 README 安装依赖并下载固定资源后最小命令为python run.py --cache ./cache --out results/smoke --smoke预期生成五十对得分、逐查询指标、形状和分阶段状态。本次实际执行了试跑与完整的一百查询、五千文本对实验省略--smoke可复跑该范围。源码提供数据下载、离线审计和绘图入口不需要作者机器上的隐含路径。总结本次重排没有改善主要指标但已经回答了更具体的问题哪些误差在固定候选下不可恢复哪些文档被模型重新排坏。下一步研究应围绕可以冻结和改变的变量展开用可复算的失败记录约束解释而不是先为一个方法预留胜利结论。参考资料检索与实际访问日期2026-09-28。固定源码的浏览缓存失效时已通过官方原始地址下载并核验不引用动态榜单数值。Rodrigo Nogueira、Kyunghyun Cho2019 初版、2020 v5Passage Re-ranking with BERT。David Wadden 等EMNLP 2020Fact or Fiction: Verifying Scientific Claims。Nandan Thakur 等2021BEIR: A Heterogenous Benchmark for Zero-shot Evaluation of Information Retrieval Models。Sentence TransformersMiniLM-L6-v2 固定模型卡与配置。BEIR固定版本 Rerank 实现。Sentence Transformers固定版本 CrossEncoder。