通过知识蒸馏将大语言模型转化为高效的交叉编码器以用于RAG重排序

arXiv cs.CL 论文

摘要

本文提出了一种方法,将LLaMA 3 8B微调为高效的检索增强生成重排序器,利用知识蒸馏和4位量化,在检索指标上比交叉编码器基线提升14-21%,同时降低了推理成本。

arXiv:2607.11933v1 Announce Type: new 摘要:交叉编码器在检索增强生成(RAG)管道中实现了高重排序精度,但二次方推理成本限制了其实时部署。我们通过两阶段管道将LLaMA 3 (8B)微调为即插即用的重排序器来解决这一问题:首先在自定义查询-文档相关性数据集上使用Unsloth框架和LoRA适配器进行监督微调,然后进行4位量化以实现高效推理。生成的模型替换了结合BM25和稠密向量搜索的双检索器RAG管道中的交叉编码器。在使用RAGAS框架评估的特定领域问答基准上,我们微调后的LLaMA 3重排序器在答案相关性上比交叉编码器基线提升14%,上下文精度提升16%,答案相似度提升19%,答案正确性提升21%,同时通过4位量化降低了推理开销。这些结果表明,指令调优的大语言模型可以适应为准确高效的重排序器,而无需传统交叉编码器的二次方复杂度。
查看原文
查看缓存全文

缓存时间: 2026/07/15 04:21

# 通过知识蒸馏将LLM转化为高效的交叉编码器,用于RAG重排序
来源:https://arxiv.org/html/2607.11933
###### 摘要

交叉编码器在检索增强生成(RAG)流程中实现了高精度的重排序,但其二次推理成本限制了实时部署。我们通过采用两阶段流程微调LLaMA 3(8B)作为即插即用的重排序器来解决这一问题:首先在自定义的查询-文档相关性数据集上使用Unsloth框架和LoRA适配器进行监督微调,然后进行4比特量化以实现高效推理。得到的模型替代了结合BM25和稠密向量搜索的双检索器RAG流程中的交叉编码器。在使用RAGAS框架评估的领域特定问答基准上,与交叉编码器基线相比,我们的微调LLaMA 3重排序器在答案相关度上提升了14%,在上下文精确度上提升了16%,在答案相似度上提升了19%,在答案正确性上提升了21%,同时通过4比特量化降低了推理开销。这些结果表明,经过指令微调的LLM可以适配成准确、高效的重排序器,而无需传统交叉编码器的二次复杂度。

本工作于2024年完成。方法论反映了当时可用的开源权重LLM工具和重排序实践的最新水平。

## I. 引言

检索增强生成(RAG)流程通过根据检索到的文档来调节生成,从而改善大语言模型的事实基础[1 (https://arxiv.org/html/2607.11933#bib.bib1)]。高质量RAG的一个关键组件是重排序器:一种模型,它对初始检索到的候选结果进行重排序,以在生成前突出最相关的文档。由于交叉编码器能够联合编码查询和文档,从而实现细粒度的相关性评分[2 (https://arxiv.org/html/2607.11933#bib.bib2)],因此长期以来一直是主流的重排序架构。然而,其二次推理复杂度使其在大规模应用中成本过高。

大语言模型(LLM)的最新进展提供了一种替代方案:通过微调,可以将经过指令微调的LLM适配用于评分和排序任务,并在结合量化的情况下,以更低的推理成本达到交叉编码器的精度。随着LLaMA[5 (https://arxiv.org/html/2607.11933#bib.bib5)]等开源权重模型的发布以及LoRA[6 (https://arxiv.org/html/2607.11933#bib.bib6)]等参数高效微调方法的发展,这一方向日益受到关注。

我们同时解决两个问题。首先,交叉编码器成本高昂:为每个查询-文档对执行完整的Transformer前向传播使其不适合对延迟敏感的应用。其次,大型LLM具有不同的昂贵之处:其参数量使得在不进行压缩的情况下部署成本高昂。我们通过一个微调和量化流程解决了这两个问题,该流程从LLaMA 3 8B中产生了一个紧凑且精确的重排序器。

我们的贡献包括:

- • 一个使用Unsloth框架、LoRA适配器和4比特量化将LLaMA 3 8B适配为重排序器的微调流程,无需完整模型重新训练。
- • 一个结合BM25和稠密向量检索的双检索器RAG集成方案,其中微调的LLaMA 3重排序器取代了重排序阶段的交叉编码器。
- • 使用RAGAS框架进行的实证评估,在四个检索质量指标上均显示出相对于交叉编码器基线的一致改进。
- • 一个可复用的LoRA适配器检查点,无需重新训练即可直接推理。

## II. 相关工作

### II-A 用于重排序的交叉编码器

交叉编码器联合编码一个查询和一个候选文档,通过[CLS]标记上的分类头产生标量相关性分数[2 (https://arxiv.org/html/2607.11933#bib.bib2)]。Nogueira和Cho[2 (https://arxiv.org/html/2607.11933#bib.bib2)]证明,经过微调用于段落重排序的BERT显著优于仅使用BM25。后续工作证实,交叉编码器在多阶段检索基准测试中仍然具有竞争力[9 (https://arxiv.org/html/2607.11933#bib.bib9)],但每个查询O(n)次前向传播(每个候选文档一次)限制了吞吐量。

### II-B LLM作为重排序器

monoT5模型[3 (https://arxiv.org/html/2607.11933#bib.bib3)]微调了一个T5编码器-解码器,以从查询-文档对中生成相关性判断,证明了生成模型可以适配用于重排序。RankGPT[4 (https://arxiv.org/html/2607.11933#bib.bib4)]通过提示在列表式重排序设置中使用GPT模型,展示了强大的零样本性能,但推理成本很高。微调较小的开源权重LLM提供了一个折中方案:成本低于GPT级别的推理,精度高于零样本提示。

### II-C 参数高效微调

LoRA[6 (https://arxiv.org/html/2607.11933#bib.bib6)]将低秩分解引入注意力权重矩阵,使得只需训练一小部分参数即可进行微调。结合量化(QLoRA[7 (https://arxiv.org/html/2607.11933#bib.bib7)]),该方法使得在消费级硬件上微调7B–13B参数的模型成为可能。我们通过Unsloth框架在这些技术基础上进行构建,该框架为LLaMA系列模型提供了优化的LoRA训练内核。

### II-D 检索增强生成

Lewis等人[1 (https://arxiv.org/html/2607.11933#bib.bib1)]首次将RAG作为一个结合稠密检索和序列到序列生成的框架。后续工作探索了将BM25与稠密检索器相结合[8 (https://arxiv.org/html/2607.11933#bib.bib8)]的混合检索策略,以提高召回的多样性,并将重排序作为检索后步骤以提高精度。我们的工作适用于这种多阶段流水线设计。

## III. 背景

### III-A 交叉编码器架构

交叉编码器将拼接后的查询-文档对作为输入:

[CLS] q [SEP] d [SEP]

并将其传递通过一个Transformer编码器。[CLS]标记的表示被投影为一个标量相关性分数:

score(q,d) = σ(W_out z_CLS + b)

其中z_CLS是最后一层的[CLS]表示,W_out是一个学习到的投影矩阵,σ是sigmoid或线性激活函数。标记i和j之间的注意力分数计算为:

score(i,j) = (q_i · k_j) / √(d_k)

并在所有位置上进行softmax归一化。这种联合编码捕捉了细粒度的查询-文档交互,但每个候选文档需要一次前向传播。

参照图注 图1:基于BERT Transformer的交叉编码器架构。查询和文档被拼接并联合编码;[CLS]标记的表示被投影为标量相关性分数。
### III-B 检索增强生成

RAG流程分为两个阶段。在检索阶段,给定查询q,从语料库中检索出一组候选文档D = {d_1, ..., d_k},通常使用双编码器或基于关键词的检索器。在生成阶段,语言模型p_θ(a | q, D)根据查询和检索到的上下文生成答案。重排序位于这两个阶段之间:它对D进行重新排序,使最相关的文档排在前面,从而提高生成上下文的质量。

参照图注 图2:使用交叉编码器作为重排序组件的RAG流程架构。检索到的文档在传递给生成模型之前,会逐对与查询进行评分。

## IV. 方法论

### IV-A 微调流程

我们使用Unsloth框架和LoRA适配器将LLaMA 3 8B[5 (https://arxiv.org/html/2607.11933#bib.bib5)]微调为重排序器。模型使用llama-3-8b-bnb-4bit检查点以4比特精度初始化。

#### 数据集构建

我们构建了一个包含(查询,文档,相关性)三元组的监督数据集,具有三个字段:

- • 输入:查询与一组待排序的候选文档配对。
- • 提示:指示模型根据与查询的相关性对文档进行排序的指令(例如,“请按与查询的相关性顺序对以下文档进行排序。”)。
- • 输出:真实相关性排序或每个文档的相关性分数。

这种指令格式遵循列表式重排序范式,允许模型在单次前向传播中生成结构化排序,而不是独立地对每个文档进行评分。

#### LoRA配置

LoRA适配器应用于查询、键、值和输出投影层(q_proj, k_proj, v_proj, o_proj),秩r=16,缩放因子α=32。启用梯度检查点以减少内存消耗。训练使用8比特精度的AdamW优化器,学习率2×10^{-4},权重衰减0.01,并在前10%的训练步骤中进行预热。全程使用混合精度(fp16或bf16,取决于硬件)。

参照图注 图3:基于Transformer的LLM架构。LLaMA 3遵循此结构;微调期间LoRA适配器被注入注意力投影层。
#### 量化

微调后,合并LoRA适配器,模型以4比特GGUF格式保存以实现高效推理,从而能够在无法承载全精度8B模型的硬件上进行部署。

### IV-B RAG流程集成

微调的LLaMA 3重排序器被集成到一个多阶段RAG流程中:

1. 1. 文档摄入:上传的文档(PDF、DOCX、TXT)被分块并使用OpenAI的text-embedding-ada-002模型进行嵌入;嵌入存储在一个Chroma向量数据库中。
2. 2. 双检索:给定一个查询,向量存储检索器通过余弦相似度检索前k个文档,BM25检索器通过关键词重叠检索前k个文档。结果被集成以形成一个多样化的候选集。
3. 3. 重排序:微调的LLaMA 3模型根据与查询的相关性对集成的候选结果进行重排序。
4. 4. 生成:排名靠前的文档作为上下文传递给GPT-4o,由其生成最终答案。

在基线流程中,步骤3使用一个标准的基于BERT的交叉编码器,而非微调的LLaMA 3模型;所有其他步骤相同。

参照图注 图4:使用微调LLaMA 3重排序器替代交叉编码器的RAG流程架构。双检索器集成结果在GPT-4o生成之前输入LLaMA 3重排序器。

## V. 实验

### V-A 评估框架

我们使用RAGAS[10 (https://arxiv.org/html/2607.11933#bib.bib10)]评估两个流程,RAGAS是一个自动化的RAG评估框架,通过将生成的答案与真实答案进行比较来计算无参考指标。我们报告四个指标:

- • 答案相关度:生成的答案与查询意图的一致性。
- • 上下文精确度:检索到的上下文中与查询相关的部分所占的比例。
- • 答案相似度:生成答案与真实答案之间的语义相似度。
- • 答案正确性:生成答案相对于真实答案的事实准确性。

### V-B 实验设置

我们在一个领域特定的问答数据集上进行评估,该数据集包含关于学术项目细节、政策和课程要求的查询。文档来源于机构的PDF和DOCX文件。真实答案由人工标注。两个流程使用相同的检索配置(每个检索器k=5)、相同的嵌入模型和相同的GPT-4o生成模型。唯一的变量是重排序器:交叉编码器与微调LLaMA 3。

### V-C 结果

表I:RAG流程指标上的重排序器比较

表I (https://arxiv.org/html/2607.11933#S5.T1) 总结了结果。微调的LLaMA 3重排序器在所有四个指标上均优于交叉编码器基线。上下文精确度提升了16%(0.75 → 0.87),表明基于LLM的重排序器更准确地筛选出相关文档,并减少了生成上下文中的噪声。答案正确性提升了21%(0.70 → 0.85),这是最大的绝对提升,表明改进的上下文质量直接转化为更准确的事实生成。答案相关度和答案相似度分别提升了14%和19%。

### V-D 分析

性能提升在所有指标上一致,表明改进不是由单个指标定义造成的假象。答案正确性和上下文精确度的最大提升表明,微调的LLaMA 3重排序器在识别包含事实相关信息的文档方面更为有效,而不仅仅是语义相似的文本。这与以下假设一致:经过指令微调的LLM比仅编码器的交叉编码器具有更丰富的世界知识表示,这可能有助于它们区分有信息量的文档和表面相关的文档。

4比特量化模型保留了完整的微调精度,同时减少了内存需求,使得在标准推理硬件上部署变得可行。

### V-E 局限性

评估数据集是领域特定的且相对较小;在开放域QA基准(如MS-MARCO[11 (https://arxiv.org/html/2607.11933#bib.bib11)]或BEIR[12 (https://arxiv.org/html/2607.11933#bib.bib12)])上的泛化能力仍有待展示。对比仅限于单一的交叉编码器基线;与monoT5[3 (https://arxiv.org/html/2607.11933#bib.bib3)]和RankGPT[4 (https://arxiv.org/html/2607.11933#bib.bib4)]的更广泛比较将增强实证结果的说服力。未报告延迟测量;交叉编码器与量化LLaMA 3重排序器之间的吞吐量比较对于部署决策将很有价值。

## VI. 结论

我们提出了一种微调流程,使用LoRA适配器和通过Unsloth框架进行的4比特量化,将LLaMA 3 8B适配为RAG流程中的即插即用重排序器。集成到结合BM25和稠密向量检索的双检索器RAG流程中后,微调模型在所有RAGAS指标上均优于基于BERT的交叉编码器基线,根据指标不同,提升幅度为14–21%。得到的LoRA适配器无需重新训练即可直接推理,降低了部署门槛。

#### 未来工作

自然的扩展包括:(i) 在标准开放域基准(MS-MARCO、BEIR)上进行评估以测试泛化能力;(ii) 与交叉编码器进行延迟基准测试,以量化推理效率的提升;(iii) 与列表式重排序器(如RankGPT)进行比较;(iv) 探索更小的基础模型(LLaMA 3 1B、3B)以进一步降低部署成本。

## 参考文献

- [1] P. Lewis, E. Perez, A. Piktus, F. Petroni, V. Karpukhin, N. Goyal, H. Küttler, M. Lewis, W. Yih, T. Rocktäschel, S. Riedel, and D. Kiela, “Retrieval-augmented generation for knowledge-intensive NLP tasks,” in *Advances in Neural Information Processing Systems*, 2020.
- [2] R. Nogueira and K. Cho, “Passage re-ranking with BERT,” *arXiv preprint arXiv:1901.04085*, 2019.
- [3] R. Nogueira, Z. Jiang, R. Pradeep, and J. Lin, “Document ranking with a pretrained sequence-to-sequence model,” in *Findings of EMNLP*, 2020.
- [4] W. Sun, L. Yan, X. Ma, S. Wang, P. Ren, Z. Chen, D. Yin, and Z. Ren, “Is ChatGPT good at search? Investigating the power of large language models in document ranking,” *arXiv preprint arXiv:2304.09542*, 2023.

相似文章

基于局部分布还原的高精度低位KV缓存量化

arXiv cs.LG

本文发现低位KV缓存量化会因logits的结构化局部误排名而降低大语言模型精度,提出DGAP方法,通过恢复Top-K候选的局部分布,在Llama-3.1-8B模型上将RULER准确率从47.8%恢复至83.2%,且仅增加极小的开销。