在浩瀚的信息宇宙中,语言模型(LLMs)好比探索星辰的航天器,它们在文本生成与复杂任务解决上展现出惊人能力。然而,在面对复杂任务时,单一的信息提示往往力不从心。近期,一项关于复合检索的新方法揭示了一种“逐步组合”检索策略,通过将多个信息碎片串联起来,构成丰富而协同的信息上下文,从而使得大型语言模型在生成程序、解析语义问题等任务中表现更加精准。接下来,让我们沿着本文的脉络,从问题的提出、方法的设计、实验的细致分析,到局限性的讨论,一窥这一领域的新进展。
🌌 引言:语言模型与信息拼图的时代
近年来,大型语言模型因其在文本生成和问题求解中的卓越表现引人注目。然而,正如一场精彩的话剧需要恰到好处的舞台布景,LLMs也需要与任务相关的信息上下文辅助,才能更好地理解问题和生成答案。传统的检索增强系统通常依赖于一次性选取出排名靠前的文档,而在实际应用中,许多任务要求多个信息片段有机组合——正如画家用不同色块描绘出一个完整的风景画。
为解决这一需求,论文提出了“复合检索”问题,将检索过程建模为一个马尔科夫决策过程(MDP),利用逐步的条件概率组合出最具代表性的信息集。也就是说,在第一次检索得到第一个例子后,每一步都根据已选出的信息来决定下一个检索目标,使得最终构成的信息集合能够覆盖任务所需的全部关键信息,并最大化地降低重复冗余。
🔍 问题定义与MDP建模:复合检索的挑战
对于如何构筑一个既精准又多样的上下文组合,传统的 top‑k 检索方案存在明显弊端:它们往往将每个候选项当作互不干扰的个体处理,忽视了候选项之间的相互作用。而在实际任务中,多个信息之间的逻辑关系和互为补充的效果至关重要。例如,在将自然语言查询解析为逻辑程序的场景中,仅凭一个案例的提示往往难以覆盖程序中的全部局部结构,因此需要多个示例协同作用。
为此,论文将复合检索定义为逐步选择构成候选集合的问题,并给出如下公式描述整个过程:
\mathcal{P}(y \mid x) \approx \sum_{\mathcal{Z}} \mathcal{P}_{\rm LM}(y\mid \mathcal{Z}, x) \, \mathcal{P}(\mathcal{Z}\mid x),
其中,\mathcal{Z} = [z_1, z_2, \dots, z_k] 表示由 k 个候选示例组成的信息集合,每一步的选择都依赖于此前已经选定的示例,从而构建出条件概率的链条:
\mathcal{P}(\mathcal{Z}\mid x) = \mathcal{P}(z_1\mid x)\prod_{i=2}^{k} \mathcal{P}(z_i\mid x, z_1,\dots, z_{i-1}).
这种对候选示例之间显式建模依赖关系的方法为我们带来全新的复合检索视角,也为后续利用强化学习优化检索策略提供了理论支撑。
在这一过程中,整个检索系统被建模为一个马尔科夫决策过程(MDP),其中:
- 状态 (State): 定义为 (x, z_1, \dots, z_{t-1}),即输入查询和已经选择的部分检索序列;
- 策略 (Policy): 论文采用三编码器架构,将输入查询与已选示例分别编码,同时对候选项进行独立编码,从而计算选择候选的得分;
- 动作 (Action): 在每一步,从候选池中采样一个未被选过的候选示例;
- 奖励 (Reward): 根据最终 LLM 生成的程序与参考程序之间的局部结构覆盖率计算 Jaccard 相似度,从而引导模型生成高质量的检索组合。
这种基于 MDP 的建模方法为复合检索提供了一种有效的决策框架,使得新的候选示例不仅满足单个信息的相关性要求,更在全局上保证了示例间信息互补的效果。
🛠️ 方法解析:三编码器与分阶段强化优化
为了高效地实现基于 MDP 的复合检索,论文设计了一种名为“三编码器顺序检索器”的模型。整个方法分为两个阶段:首先,是利用监督微调(Supervised Fine-Tuning, SFT)构造初始策略;其次,通过强化学习(Reinforcement Learning, RL)进一步调整策略,与 LLM 的偏好逐步对齐。
1. 监督微调阶段(SFT)
在SFT阶段,研究者通过构造一个高质量的训练数据集来学习一个初步的检索策略。这里的关键信息在于:
- 选择的每一个示例应当能够最大化地覆盖目标程序中的局部结构。
- 每一次选择后,依据已选择示例中尚未覆盖的局部结构来从候选池中挑选出下一个最佳示例。
这种贪婪式的示例选择过程可以通过一个简单的算法实现。具体而言,对于每一个输入 (x, y),首先将参考程序 y转化为局部结构的集合 LS^l(y)(其中 l 表示局部结构的最大规模),之后逐步从候选集合 \mathcal{C} 中选择与当前剩余未覆盖局部结构交集最大的候选项,直至获得 k 个示例构成完整的上下文。
同时,为了使得模型在对比学习时能够更有效地区分正例与负例,论文采用了 InfoNCE 损失函数进行训练,其中包括 in‐batch 负例以及利用 BM25 得到的“硬负例”。其损失函数形式如下:
\mathcal{L}(x, \mathcal{Z}_{t-1}, c_{t}, \mathcal{N}) = -\log \frac{\exp(q(x,\mathcal{Z}_{t-1}, c_t))}{\sum_{c_j \in \{\mathcal{N} \cup c_t\}} \exp(q(x,\mathcal{Z}_{t-1}, c_j))},
其中 q(x, \mathcal{Z}_{t-1}, c_j) 由三编码器架构计算得分,充分体现了已选示例对当前选择的制约作用。
2. 强化学习阶段(RL)
尽管初步的 SFT 阶段已经能够保证较高的局部结构覆盖率,但仍有可能在最终 LLM 生成程序正确性上打折扣。因此,论文在 SFT 之后进一步利用 RL 对策略进行微调。此处,设计了一种基于“群体相对策略优化”(Group Relative Policy Optimization,简称 GRPO)的强化学习方法。
在 RL 阶段,针对每个查询 x,模型利用旧策略采样得到一组输出示例链,然后通过 LLM 对最终生成程序进行评分,从而计算出奖励 r。奖励基于如下公式计算局部结构覆盖率的 Jaccard 相似度:
r(o) = \frac{|LS^l(\hat{y}) \cap LS^l(y)|}{|LS^l(\hat{y}) \cup LS^l(y)|}.
RL 阶段的目标是最大化以下期望回报:
\mathcal{J}(\theta) = \frac{1}{G} \sum_{i=1}^{G} \left( \min\Big(r_\theta(o_i)A_i,\; \text{clip}(r_\theta(o_i), 1-\epsilon, 1+\epsilon)A_i\Big) - \beta D_{KL}(\pi_\theta \parallel \pi_{\text{ref}})\right),
其中,A_i 为优势函数,由组内奖励的归一化差异计算得来,且 KL 散度项则防止策略偏离初始训练策略 terlalu 大,保持稳定改进。
这种二阶段的训练范式能够在保留初始覆盖率优势的基础上,通过任务驱动的 RL 进一步使得检索策略符合 LLM 的下游生成需求,取得了显著性能提升。
三编码器架构:精妙之处
与传统的单一编码器方法相比,三编码器架构分别引入了查询编码器 \mathbf{E}_x、上下文编码器 \mathbf{E}_z 以及候选编码器 \mathbf{E}_c。例如,针对给定查询 x 与已选示例 \mathcal{Z}_{t-1},模型计算候选 c_j 的得分为:
q(x,\mathcal{Z}_{t-1}, c_j)= \mathbf{E}_c(c_j)^\top \left(\mathbf{E}_x(x) + \lambda \sum_{i=1}^{t-1} \mathbf{E}_z(z_i)\right).
这种设计有助于在检索过程中既不丢失查询的原始信号,也能充分捕捉选中示例带来的上下文语义,有效地复原目标程序的局部结构。值得一提的是,通过分离编码,整个查询只需计算一次编码,从而大大降低了计算成本,保障了系统的实时性。
🎓 实验探索:从GeoQuery到COVR-10的微妙对决
为了验证复合检索方法的有效性,论文作者在两个语义解析数据集上进行了详尽的实验:GeoQuery 和 COVR-10。其中,GeoQuery 数据集中包含 880 个美国地理相关查询,而 COVR-10 则是一个专为测评复合生成能力设计的合成数据集。
数据集与分割策略
GeoQuery 数据集
为了考察复合检索的泛化能力,GeoQuery 按照模板拆分、TMCD 拆分以及长度拆分等不同策略进行分割。模板拆分要求训练集与测试集中的逻辑程序模板截然不同,而 TMCD 拆分则刻意制造出训练与测试中化合物分布的巨大差异;长度拆分则关注模型如何应对更长、更深的程序逻辑。
COVR-10 数据集
该数据集采用了 10 个不同的组合语法拆分,每一拆分确保测试集中包含的局部结构在训练中从未出现,从而强迫模型在未知的组合情境下作出正确解析。
模型设置与评价指标
在实验中,所有编码器均采用了 bert-base-uncased 预训练模型初始化;而生成程序的推理阶段则采用了 gpt-3.5-turbo-instruct 作为下游 LLM。评价指标主要为精确匹配准确率(Exact Match Accuracy),以 3 个不同随机种子进行平均。
实验过程中,检索的步骤数设定为 k=4,局部结构的最大大小 l=4;同时,文中还探讨了 GRPO 中群体大小对 RL 效果的影响。从实验结果的对比表格中不难看出,新方法在大多数拆分上均显著超越了传统的 top‑k、BM25、BERT 以及顺序检索(se²)等方法。例如,在 GeoQuery 数据集中,新方法在“模板拆分”上取得了近 33.83% 的准确率,相比于其他方法表现更加出色,而在 COVR-10 数据集上也取得了稳健的成绩。
在下文的表格中,我们摘录部分对比数据:
检索方法 | GeoQuery i.i.d. | Template 1 | Template 2 | Template 3 |
BM25 | 72.14 | 40.36 | 26.89 | 44.85 |
BERT | 77.50 | 43.97 | 26.28 | 45.75 |
Contriever | 69.28 | 41.86 | 27.79 | 30.30 |
se² (顺序检索) | 74.28 | 30.42 | 26.28 | 41.21 |
RCR (全流程方法) | 78.21 | 58.73 | 28.39 | 45.76 |
表1:GeoQuery 数据集不同分割下,各检索方法的精确匹配准确率(百分比)
这些数据清晰展示了通过三编码器以及强化学习阶段优化后,RCR 方法在复合检索任务上展现的优势:不仅在整体准确率上有所提升,同时在检索过程中有效避免了冗余信息带来的负面影响。
RL 优势估计的对比
此外,论文还对不同形式的 RL 优势估计方法进行了比较:包括直接使用原始奖励(NB)、贪婪采样得到的 baseline(Remax)、以及 GRPO 的群体相对策略优化方法。实验表明,GRPO 方法因其更稳定的优势估计,能够在所有拆分上取得最高表现,证明了群体维度的优势在强化学习中的重要性。
检索效率与步数之间的折衷
另一项引人关注的实验探索讨论了在不同检索步数下,模型的准确率与计算成本之间的关系。从图示数据来看,当步数设为 4 时,检索性能达到最优,同时计算的时间成本显著低于更长的检索序列。原因在于三编码器架构对查询输入的单次编码利用,使得后续每一步只需针对新候选项进行编码,保证了系统整体的计算效率呈线性扩展。
🤖 强化学习在检索中的魔力:SFT 与 RL 的双重奏
从方法设计上看,SFT 阶段通过贪心策略构造训练数据,为初始策略奠定了良好基础;而 RL 阶段则借助 LLM 的反馈对策略进一步精细调整。强化学习不仅实现了策略对 LLM 下游任务的适应,还通过局部结构覆盖率作为奖励信号,使得选择出的示例在语义和结构上更加契合正确答案。
具体来说,奖励函数的设计关注于程序局部结构的相似性,这样做的意义在于:
- 减少生成冗长、重复的程序结构;
- 保证生成结果在整体上与参考程序保持高覆盖率;
- 提供连续且细粒度的反馈信号,使得策略更新更为平滑稳定。
通过采用 GRPO 进行策略优化,论文有效地防止了策略在 RL 阶段发生剧烈漂移,从而确保了最终生成程序的质量与稳定性。
📊 数据与结果背后的故事:图表与分析
除了前文提及的数值对比,论文中还通过图表详细展示了训练样本数量与 RL 性能之间的关系。在 GeoQuery-Template2 拆分中,随着 RL 阶段训练样本数量从 10 增加到 40 时,性能呈明显上升趋势;而样本数达 60 至 100 后,性能增益趋于平稳。这表明在复合检索任务中,初期数据的补充有助于策略的快速改进,但达到一定阶段后,额外数据的边际效应开始下降。
另外,关于 GRPO 中群体大小的实验也揭示了一个有趣的现象:适度增大群体大小能显著提高 RL 表现,但超过某个最佳值后,收益反而不明显,甚至可能因计算资源浪费而降低效率。这也为实际应用中如何平衡准确性和计算成本提供了有益启示。
下面是一张用 Markdown 格式绘制的简表,直观地展示了某个实验拆分下不同方法的表现:
方法 | GeoQuery i.i.d. | Template 2 | TMCD 1 | Length |
BM25 | 72.14 | 26.89 | 46.67 | 52.89 |
BERT | 77.50 | 26.28 | 55.45 | 29.09 |
se² (顺序检索) | 74.28 | 26.28 | 49.69 | 42.12 |
RCR (全流程方法) | 78.21 | 28.39 | 46.97 | 43.94 |
表2:部分实验结果对比展示
🚀 讨论与局限:效率、冗余与未来的探索
尽管复合检索方法在多个数据集上取得了令人瞩目的成绩,但其局限性也不容忽视。首先,由于检索策略是在固定候选集上预先训练好的,一旦模型训练完成后,动态添加新信息的能力较弱。其次,随着检索步数的增加,虽然可以理论上涵盖更多信息,但同时也会带来计算成本的线性增长,并可能因逐步积累的误差而导致整体学习稳定性下降。因此,论文在实验中选择了一个相对较小的检索步数(即 k=4),以便在效率和效果之间取得平衡。
未来的工作可以考虑引入更具扩展性的检索机制,如自适应步数调整或动态候选扩充策略,进一步增强系统在大规模信息环境下的鲁棒性与灵活性。此外,将黑盒奖励信号与白盒模型予以更紧密的结合,也有望为任务特定的检索策略带来更多创新空间。
📝 结语:重构复合检索的未来
综上所述,该研究通过建立一个基于马尔科夫决策过程的复合检索框架,利用三编码器架构和分阶段训练方法(SFT 与 RL 联袂出击),成功突破了传统检索方法在示例依赖关系建模上的局限。无论是在 GeoQuery 还是 COVR-10 数据集上,方法均充分展现了复合检索在构筑多元信息上下文方面的潜力,为提升 LLM 下游生成质量提供了全新思路。
正如星河中每一颗星星都有其独特光芒,这种逐步拼接信息的方式使得生成模型既能捕捉局部细节,又不会忽略全局语义。在信息爆炸的今天,这样的技术无疑为我们未来构建更智能、更高效的信息检索系统铺就了康庄大道。
参考文献
- Ahmadian, A., Cremer, C., Gallé, M., et al. (2024). Back to basics: Revisiting reinforce style optimization for learning from human feedback in LLMs. arXiv preprint arXiv:2402.14740.
- An, S., Lin, Z., Fu, Q., et al. (2023). How do in-context examples affect compositional generalization? In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics.
- Chen, Y., Chen, T., Jhamtani, H., et al. (2024). Learning to retrieve iteratively for in-context learning. In Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing.
- Levy, I., Bogin, B., & Berant, J. (2023). Diverse demonstrations improve in-context compositional generalization. In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics.
- Liu, H., Liu, J., Huang, S., et al. (2024). se²: Sequential example selection for in-context learning. In Findings of the Association for Computational Linguistics: ACL 2024.
通过本文,我们领略了如何利用复合检索一步步构筑出更为精准、信息丰富的上下文,为大型语言模型的应用拓展全新的边界。正如探索星河需要不断拼凑微光,构造完美的检索组合亦需要智慧和技术的双重加持。未来,随着研究的不断深入,复合检索必将在更多多元任务中大放异彩。