DebiasFirst: 位置偏差影响下的基于LLM的列表式重排序¶
1. 研究背景与动机¶
基于LLM的列表式段落重排序(listwise passage reranking)因其在排序候选段落方面的有效性而受到关注。然而,这些模型存在位置偏差(positional bias)问题:位于输入末尾的段落更不容易被移动到排序结果的顶部位置。
作者假设位置偏差有两个主要来源: 1. LLM架构固有的偏差(LLM → P):LLM普遍使用的旋转位置编码(RoPE)使得注意力随距离衰减,导致模型更关注输入序列前部的token。此外,attention sink 现象使得序列起始位置的token获得不成比例的高注意力。 2. 训练数据中相关文档分布的不平衡(X → P):训练数据中相关文档在输入序列不同位置的分布不均匀——靠前位置的段落更可能是相关的,这加剧了模型对位置线索的敏感性。
2. 预备知识¶
2.1 列表式重排序¶
给定包含查询 $q$ 和候选段落列表 $\{x_i | 1 \leq i \leq k\}$ 的指令提示 $X$,列表式重排序器将这些段落按相关性同时排序。段落 $x_i$ 在重排列中的位置记为 $\tilde{\pi}_q(x_i)$,由LLM预测的相关性分数 $f_\theta(x_i)$ 决定。
真实重排列序列为 $y = [y_1] \gt [y_2] ... \gt [y_k]$,其中 $y_i$ 为第 $i$ 相关文档的标识符。
语言模型目标:
$$\mathcal{L}_{\text{LM}} = -\sum_{i=1}^{|y|} \log(P_\theta(y_i | X, y_{\lt i}))$$
2.2 First 模型¶
First 方法利用第一个生成 token 的输出 logits 直接得到排序。$f_\theta(x_i)$ 为段落 $x_i$ 在 First 模型首 token 生成时的输出词汇 logit。训练目标为:
$$\mathcal{L}_{\text{Rank}} = \sum_{\pi(x_i) \lt \pi(x_j)} \frac{1}{i+j} \delta(f_\theta(x_i), f_\theta(x_j))$$
其中 logistic 损失 $\delta(\cdot) = \log(1 + \exp(\cdot))$ 衡量两个段落预测相关性分数的差异。权重 $1/(i+j)$ 对排名更高的段落赋予更大权重。
First 将 $\mathcal{L}_{\text{Rank}}$ 和 $\mathcal{L}_{\text{LM}}$ 合并为最终联合损失:
$$\mathcal{L}_{\text{First}} = \lambda \mathcal{L}_{\text{Rank}} + \mathcal{L}_{\text{LM}}$$
3. 因果分析¶
论文通过因果有向无环图(DAG)展示了输入数据(X)、LLM模型(LLM)、位置偏差(P)和输出排列($\pi$)之间的因果关系(Figure 1)。
- 架构偏差(LLM → P):RoPE 编码使得注意力随 token 距离衰减,序列前部 token 获得更多关注。此外,LLM 生成失败时,未预测到的段落标识符会按照原始输入顺序追加到输出末尾,进一步强化位置偏差。
- 数据分布偏差(X → P):MS MARCO 训练集中,输入靠前位置的段落显著更可能是相关的(Figure 3(a)),导致模型在微调过程中强化了对靠前段落的偏好。
4. DebiasFirst 方法¶
DebiasFirst 包含两个核心组件:
4.1 基于逆倾向评分(IPS)的位置校准¶
核心思想:通过调整不同输入位置到输出位置转移的损失贡献权重,平衡位置偏差的影响。
给定段落 $x_i$ 及其真实相关位置 $\pi(x_i)$,令 $\omega_{i,\pi(x_i)}$ 表示从输入位置到重排位置转移的倾向度(propensity),用于量化LLM微调中的位置偏差。
基于 IPS 的排序损失:
$$\mathcal{L}_{\text{Rank-IPS}} = \sum_{\pi(x_i) \lt \pi(x_j)} \frac{\delta(f_\theta(x_i), f_\theta(x_j))}{(i+j) \cdot \omega_{i,\pi(x_i)} \cdot \omega_{j,\pi(x_j)}}$$
- 过度表征的转移(高倾向度)被赋予低权重
- 欠表征的转移(低倾向度)被赋予高权重
倾向度估计方法:
- 从 MS MARCO 训练集中采样 3,000 个查询
- 通过 BM25 检索每个查询的 top 20 候选段落
- 对每个查询将 20 个段落随机打乱 $n=10$ 次,生成 30,000 个样本
- 使用 First 模型 checkpoint 对打乱后的样本进行重排序
- 倾向度估计公式:
$$\omega_{i,\bar{\pi}} = \frac{\sum_{(q,i) \in \tilde{\mathcal{X}}} \mathbb{1}_{\tilde{\pi}_q(x_i) = \bar{\pi}}}{|Q| \cdot k \cdot n}$$
4.2 位置感知数据增强(Pos-Aug)¶
为解决训练数据中相关文档分布不均的问题,提出两步数据增强:
- 无偏随机打乱:使用 Fisher-Yates 打乱算法随机打乱每个查询的段落顺序,确保每个段落出现在任意位置的概率相等。
- 分组与旋转:将打乱后的段落分为 $n$ 组,通过旋转这些组生成 $n$ 种段落排列变体,确保相关段落在输入和输出位置上均匀分布。
4.3 最终训练目标¶
$$\mathcal{L}_{\text{DebiasFirst}} = \lambda \mathcal{L}_{\text{Rank-IPS}} + \mathcal{L}_{\text{LM}}$$
在位置感知增强后的数据上优化此损失函数。
5. 实验设置¶
数据集¶
- 训练集:40K 实例(GPT-4 标注),来自 5K 个 MS MARCO 查询
- 域内评估:MS MARCO Dev、TREC DL 2019、TREC DL 2020
- 域外评估:BEIR(包含 HotpotQA, NFCorpus, DBPedia, Trec-covid, Climate-Fever, Scidocs, Scifact 等子集)
第一阶段检索器¶
- Contriever
- Splade++
- BM25
- RRF(三个检索器的倒数排名融合)
Baselines¶
- 微调LLM重排器:RankZephyr、First、ListT5
- 推理阶段去偏方法:PermSC
训练配置¶
- 基座模型:Zephyr-$\beta$(7B参数,基于 Mistral)
- 批量大小:8(梯度累积 4)
- 学习率:$5 \times 10^{-6}$
- 精度:bf16
- 训练 3 个 epoch
- 硬件:4 张 40GB NVIDIA A100 GPU(约 7 小时)
- $\lambda = 0.1$
- 滑动窗口:窗口大小 20,步长 10
- 评估指标:NDCG@10
6. 实验结果¶
RQ1: DebiasFirst 在缓解位置偏差方面的效果¶
在 MS MARCO dev 集上的受控位置实验中(使用 Contriever 检索 top 20 段落,将相关段落系统地放置在 1-20 的不同位置),DebiasFirst 在所有 20 个位置上保持了显著一致的 NDCG@10 性能(Figure 4)。
- 其他基线(First, RankZephyr, ListT5)在相关段落位于后部位置时性能明显下降
- DebiasFirst 的性能曲线最为平坦,表明其对段落位置的依赖性最低
- 权衡:DebiasFirst 在前 3-4 个位置上略低于 RankZephyr 和 ListT5,因为它将注意力更均匀地分配到所有位置
RQ2: 消除位置偏差是否提升跨数据集的重排效果¶
Table 1: 在域内(TREC & MS MARCO)和域外(BEIR)数据集上的评估(Contriever 检索)
| Method | Order | DL19 | DL20 | MSM | FiQA | HQA | NFC | NQ | Scidocs | Scifact | DBP | Tcovid | CFever | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ListT5(r=2) | Original | 69.9 | 67.3 | 46.3 | 41.7 | 71.5 | 36.3 | 53.1 | 17.2 | 74.1 | 46.1 | 80.3 | 24.4 | 49.1 |
| RankZephyr | Original | 69.3 | 71.2 | 42.7 | 42.2 | 71.6 | 37.7 | 65.6 | 20.5 | 76.7 | 50.0 | 78.4 | 25.6 | 51.1 |
| First | Original | 68.2 | 70.2 | 44.3 | 42.4 | 74.2 | 37.4 | 66.3 | 20.5 | 74.6 | 50.8 | 79.0 | 26.9 | 51.6 |
| DebiasFirst | Original | 70.0 | 72.0 | 43.7 | 44.3 | 75.8 | 37.8 | 68.2 | 21.3 | 76.6 | 51.9 | 79.6 | 24.9 | 52.4 |
| ListT5(r=2) | Shuffle | 69.0 | 67.9 | 45.8 | 42.0 | 70.0 | 35.7 | 57.9 | 18.0 | 73.9 | 44.3 | 77.0 | 23.8 | 48.8 |
| RankZephyr | Shuffle | 69.6 | 70.7 | 41.0 | 39.9 | 70.1 | 37.2 | 65.1 | 19.4 | 74.3 | 49.1 | 76.9 | 25.4 | 49.8 |
| First model | Shuffle | 67.3 | 69.0 | 42.1 | 39.2 | 73.3 | 35.1 | 65.6 | 18.9 | 73.5 | 48.6 | 76.4 | 25.4 | 49.8 |
| DebiasFirst | Shuffle | 71.1 | 71.4 | 43.4 | 44.3 | 75.5 | 37.6 | 68.1 | 20.7 | 75.5 | 51.7 | 78.8 | 24.6 | 52.0 |
结论:
- Original order:DebiasFirst 在 12 个数据集中的 6 个上显著优于 First 和 RankZephyr,其余 6 个也有明显提升,平均 NDCG@10 达到 52.4(最高)
- Shuffled order:基线模型在打乱顺序后性能普遍下降,而 DebiasFirst 仅有极小幅度的下降(52.4 → 52.0),展现了强鲁棒性
- 消除位置偏差不仅没有损害整体效果,反而在大多数场景下提升了排序性能
RQ3: 不同第一阶段检索器下的鲁棒性¶
Table 2: 不同第一阶段检索器的评估(NDCG@10)
| Reranker | First-stage | DL19 | DL20 | MSM | FiQA | HQA | NFC | NQ | Scidocs | Scifact | DBP | Tcovid | CFever | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| - | BM25 | 50.6 | 48.0 | 22.8 | 23.6 | 63.3 | 32.2 | 30.6 | 14.9 | 67.9 | 31.8 | 59.5 | 16.5 | 37.8 |
| - | Contriever | 44.5 | 42.1 | 40.7 | 32.9 | 63.8 | 32.8 | 49.8 | 16.5 | 67.7 | 41.3 | 59.6 | 23.7 | 43.1 |
| - | Splade++ | 73.2 | 72.0 | 44.9 | 34.8 | 68.7 | 34.7 | 53.8 | 15.9 | 70.4 | 43.7 | 72.7 | 23.0 | 46.4 |
| - | RRF | 66.8 | 61.0 | 39.1 | 34.5 | 69.0 | 35.2 | 50.0 | 17.4 | 72.9 | 44.4 | 78.0 | 26.3 | 47.5 |
| First | BM25 | 72.7 | 71.1 | 37.7 | 39.3 | 74.7 | 32.2 | 57.5 | 19.5 | 75.4 | 46.2 | 83.1 | 24.0 | 49.0 |
| DebiasFirst | BM25 | 74.5 | 72.7 | 38.5 | 41.4 | 76.3 | 32.2 | 59.1 | 20.7 | 76.3 | 46.7 | 86.1 | 23.7 | 50.1 |
| First | Contriever | 68.2 | 70.2 | 44.3 | 42.4 | 74.2 | 37.4 | 66.3 | 20.5 | 74.6 | 50.8 | 79.0 | 26.9 | 51.6 |
| DebiasFirst | Contriever | 70.0 | 72.0 | 43.7 | 44.3 | 75.8 | 37.8 | 68.2 | 21.3 | 76.6 | 51.9 | 79.6 | 24.9 | 52.4 |
| First | Splade++ | 75.6 | 79.4 | 45.1 | 42.8 | 76.7 | 37.5 | 66.6 | 20.0 | 75.7 | 51.3 | 85.6 | 26.3 | 52.7 |
| DebiasFirst | Splade++ | 76.9 | 82.2 | 43.9 | 44.4 | 78.3 | 37.5 | 68.5 | 21.3 | 76.0 | 52.3 | 86.6 | 24.6 | 53.3 |
| First | RRF | 77.3 | 80.0 | 44.2 | 42.7 | 77.1 | 37.8 | 67.0 | 20.2 | 76.1 | 52.5 | 87.1 | 26.6 | 53.1 |
| DebiasFirst | RRF | 78.4 | 82.4 | 44.0 | 44.8 | 78.6 | 38.7 | 68.7 | 21.6 | 76.2 | 53.3 | 88.0 | 24.7 | 53.9 |
结论:DebiasFirst 在所有四种检索器(BM25、Contriever、Splade++、RRF)上均一致优于 First baseline。在弱检索器(BM25)上改善更为明显,因为 DebiasFirst 能公平评估所有位置上的段落相关性。
RQ4: 与推理阶段去偏方法的互补性¶
通过将 PermSC(推理阶段去偏)与 DebiasFirst 和 First 分别结合,在 DL2019 和 DL2020 上进行 20 次不同打乱顺序的评估(Figure 5):
- DL2019:DebiasFirst 在所有 20 次运行中均一致优于 First + PermSC
- DL2020:DebiasFirst 在 20 次中 17 次优于 First + PermSC
- 微调阶段去偏比推理阶段更有效:DebiasFirst 方差更低(DL2019: 0.08 vs First 的更高方差)
- 互补收益:PermSC 仍可小幅提升 DebiasFirst 性能,但改善幅度更小且需要更少的 shuffle 次数(DebiasFirst 在 shuffle order 4-6 达到峰值,First 需要 6-8)
7. 消融实验¶
Table 3: IPS 和 Pos-Aug 各组件的评估¶
| Strategy | Order | DL19 | DL20 | MSM | FiQA | HQA | NFC | NQ | Scidocs | Scifact | DBP | Tcovid | CFever | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DebiasFirst_NoAug | Original | 57.7 | 54.9 | 43.5 | 40.7 | 74.6 | 35.9 | 65.2 | 19.1 | 75.9 | 46.7 | 72.0 | 27.9 | 50.2 |
| DebiasFirst_RandAug | Original | 68.5 | 70.2 | 44.5 | 42.4 | 74.2 | 37.4 | 66.1 | 20.4 | 74.6 | 50.8 | 79.1 | 26.7 | 51.6 |
| DebiasFirst_PosAug | Original | 69.7 | 70.6 | 43.9 | 44.2 | 75.7 | 37.3 | 68.1 | 21.4 | 74.8 | 51.4 | 78.6 | 23.7 | 51.9 |
| DebiasFirst_Rank-IPS+LM | Original | 70.2 | 71.2 | 44.4 | 44.6 | 75.5 | 37.8 | 68.7 | 20.7 | 76.9 | 51.9 | 78.4 | 25.6 | 52.5 |
| DebiasFirst | Original | 70.0 | 72.0 | 43.7 | 44.3 | 75.8 | 37.8 | 68.2 | 21.3 | 76.6 | 51.9 | 79.6 | 24.9 | 52.4 |
| DebiasFirst_NoAug | Shuffle | 49.0 | 48.4 | 27.2 | 29.4 | 67.0 | 27.7 | 55.1 | 13.0 | 66.3 | 35.4 | 60.0 | 22.0 | 40.3 |
| DebiasFirst_RandAug | Shuffle | 67.3 | 69.0 | 42.1 | 39.2 | 73.3 | 35.1 | 65.6 | 18.9 | 73.5 | 48.6 | 76.4 | 25.4 | 49.8 |
| DebiasFirst_PosAug | Shuffle | 69.3 | 70.3 | 43.3 | 43.7 | 75.4 | 37.7 | 67.8 | 21.2 | 75.1 | 51.3 | 78.7 | 24.5 | 51.9 |
| DebiasFirst_Rank-IPS+LM | Shuffle | 69.6 | 71.2 | 43.4 | 44.6 | 75.3 | 37.0 | 68.5 | 20.1 | 75.7 | 51.5 | 78.0 | 25.2 | 51.9 |
| DebiasFirst | Shuffle | 71.1 | 71.4 | 43.4 | 44.3 | 75.5 | 37.6 | 68.1 | 20.7 | 75.5 | 51.7 | 78.8 | 24.6 | 52.0 |
各组件影响分析:
-
IPS 的影响(Figure 6a-b):IPS 校准降低了不同位置间的性能方差。与不使用 IPS 的变体相比,加入 IPS 后性能更稳定且通常更优。
-
Position-aware augmentation 的影响(Figure 6c):
- 无增强(DebiasFirst_NoAug):从第一到最后位置性能显著下降,位置偏差严重
- 随机增强(DebiasFirst_RandAug):有所缓解但未完全消除偏差
-
位置感知增强(DebiasFirst_PosAug):性能方差最低,位置偏差最小
-
协同效应(Figure 6d):IPS + Pos-Aug 组合进一步降低方差,在所有输入位置上实现最稳定的性能。
-
整体排序性能:完整版 DebiasFirst(IPS + Pos-Aug + LM)在所有变体中整体表现最优。
8. 局限性¶
- 本研究限于窗口大小为 20 的重排场景
- IPS 和 Pos-Aug 在更长上下文(如窗口大小 100)下的有效性尚未探索
- 未来工作将评估这些方法在长上下文设置下的效果
9. 关键贡献总结¶
- 因果分析:从架构偏差和数据分布偏差两个角度系统分析了 LLM 列表式重排序中位置偏差的成因
- IPS 位置校准:首次将逆倾向评分应用于 LLM 重排序的微调阶段,通过重新加权损失函数中不同位置转移的贡献来校准位置偏差
- 位置感知数据增强:通过无偏打乱+分组旋转策略确保训练数据中段落在不同位置均匀出现
- 全面实验验证:在域内(TREC DL, MS MARCO)和域外(BEIR)数据集上、跨多种第一阶段检索器,均展示了 DebiasFirst 的有效性和鲁棒性
- 互补性分析:证明微调阶段去偏比推理阶段更有效,且两者可互补