PaperAgent 06月01日 21:28
R1时代,RAG-Retrieval技术总结与展望~
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

RAG-Retrieval提供了一整套RAG检索模型的微调、推理和蒸馏代码,支持多种损失函数和检索模型。它涵盖了Embedding模型微调,包括有监督和无监督蒸馏,特别支持多机多卡训练和动态消减向量维度。Reranker模型方面,支持point-wise和group-wise训练方式,并探索了LLM在Reranker任务上的最佳实践。此外,还发布了Stella和Jasper模型的技术报告,并设计评估框架来衡量检索模型在不同答案位置的性能表现。展望未来,RAG-Retrieval将探索RL在检索领域的应用,尤其是在reranker和query改写方面。

💡Embedding模型支持微调大多数开源模型,包括基于LLM或BERT的模型,并提供有监督微调(InfoNCE loss)和无监督蒸馏(如Stella模型)等多种训练方式,同时支持多机多卡和动态消减向量维度的MRL。

🔀Reranker模型支持point-wise和group-wise训练方式,适用于MSE、BCE loss以及pairwise RankNet loss和Listwise Cross Entropy Loss等。此外,还探索了LLM在Reranker任务上的最佳实践,并将LLM的Reranker模型蒸馏到BERT中。

🔍针对检索模型的短视陷阱,设计了一套评估框架,衡量现代SOTA检索模型在答案位于文档不同位置时的性能表现,结果表明BM25具有极强的鲁棒性,而嵌入模型和ColBERT式检索器的性能会随答案位置后移而下降。

🚀RAG-Retrieval专注于重排序(reranker),开发了一个轻量级的 python 包 rag-retrieval,提供统一的方式调用任意不同的 RAG 排序模型(cross encoder, llm-based reranker),并对长文本推理进行优化。

车中草同学 2025-06-01 13:12 河南

RAG-Retrieval提供了全链路的 RAG 检索模型的微调(train)和推理(infer)以及蒸馏(distill)代码,也支持了多种loss,多个检索模型,一些先进的方法和trick。

首先呢,和大家介绍下RAG-Retrieval每个模块完整的功能以及最近的一些工作(学术方面的),最后进行一个总结和展望(R1时代,RAG-Retrieval技术新思路)。

https://zhuanlan.zhihu.com/p/1910467318322004914

1.Embedding模型。

支持的模型:支持微调大多数开源的embedding模型(不管是基于llm的还是基于bert,也可以从裸的语言模型开始训练,只要你的模型支持sentence_transformers,我们就可以训练)。

支持的训练方式:

有监督微调:支持了InfoNCE loss,两种数据,1.query和pos(batch内随机负例,支持cross-device的随机负例,scale up负例个数,来提升效果),2.query和pos以及hard neg。(负例是难负例以及batch内随机负例)

无监督蒸馏:我们实现了stella模型先进的向量蒸馏方法(stella在发布时,在MTEB模型以1.5b击败7b模型,取得英文第一,总共被下载800W次),理论上,你可以通过我们的代码通过蒸馏取得MTEB 第一名。

特别支持:

1.支持多机多卡(deepspeeds和fsdp)。

2.对于有监督微调的infoNCE loss,支持了cross-device的batch内随机负例。(scale up负例个数,来提升效果),在业务场景验证有效果。

3.以上所有的训练方法,我们都支持了动态消减向量维度的俄罗斯套娃表征学习(MRL)(你可以减少开源检索模型的向量维度,减少存储压力,工业界友好),我们做过消融。

4.在学术上,也复现REPLUG类方法,基于LLM偏好监督Fusion-In-Decoder方法来指导RAG embedding微调。

2.Reranker模型

支持的模型:可以微调大多数开源的reranker模型(基于llm的和基于bert的)。

支持的数据格式&训练方式:point-wise和group-wise( point-wise代表监督信号来自单点评估,group-wise 代表监督信号来自列表排序评估,例如 RankGPT,或者模型蒸馏场景

1. point-wise训练方式:支持了MSE 和BCE loss(二分类以及soft label下的交叉熵loss)。

支持的loss:

point-wise支持的loss

2. group-wise训练方式:支持了pairwise RankNet loss 和Listwise Cross Entropy Loss。

pairwise RankNet loss:会自动根据query和doc的score,来组成pair对计算loss,并通过两者的差值来自动对loss加权。

pairwise RankNet loss

Listwise Cross Entropy Loss:支持传统的listwise loss(一个正例,多个负例),或者蒸馏场景下的使用。

特别支持:

1.支持多机多卡(deepspeeds和fsdp)。

2.我们也基于RAG-Retrieval写了一篇博客,探索 LLM 在 Reranker 任务上的最佳实践:在不同数据量,不同难负例下,探索了 LLM 做 Reranker 任务的两种建模方式(生成和判别),并与 BERT 类模型做比较,同时尝试将 LLM 的 Reranker 模型蒸馏到 BERT 中。其全部代码也发布在RAG-Retrieval中了。

3.学术方面

    Stella和Jasper模型的技术报告:

我们发布了被下载了800w次的stella模型和jasper模型的技术报告,介绍了其中的向量蒸馏技术,目前发布4个月已经有21个引用了,对应的代码已发布在RAG-Retrieval中。

https://arxiv.org/abs/2412.19048

Jasper and Stella: distillation of SOTA embedding models

2. 检索模型的短视陷阱。

我们最近设计了一套评估框架(两个数据集),来衡量当gold answer出现在文档不同位置的内容(前,中,后)时,现代 SOTA 检索模型(包括 BM25、嵌入模型、ColBERT 类模型和重排序器)的性能表现。

https://arxiv.org/pdf/2505.13950

一些结论:

4.总结&展望

总的来说:RAG-Retrieval提供了全链路的 RAG 检索模型的微调(train)和推理(infer)以及蒸馏(distill)代码。

对于微调:RAG-Retrieval 支持微调任意开源的 RAG 检索模型,包括向量模型(bert-based,llm-based embedding)、迟交互式模型(colbert)、重排序模型(bert-based, llm-based reranker)。

对于推理:RAG-Retrieval 专注于重排序(reranker),开发了一个轻量级的 python 包 rag-retrieval,提供统一的方式调用任意不同的 RAG 排序模型(cross encoder, llm-based reranker),并对长文本推理进行优化。

对于蒸馏: RAG-Retrieval 支持向量和排序模型的蒸馏,可以将较大的模型蒸馏到较小的模型中。

高级算法:对于 embedding 模型,支持增加 MRL loss(动态向量维度),以及集成了 Stella 模型的向量蒸馏算法。

多卡训练:支持 FSDP 以及 DeepSpeed。

展望:

1,目前得益于deepseek-r1的横空出世,让RL-based 训练方法如火如荼的发展,在检索领域也有很多应用RL的工作。

一类是很火的deepsearch 或者说search-agent,比如search-r1(直接用强化学习来端到端的让模型边推理,边利用搜索引擎来生成最后的答案)

一类是直接将RL应用于检索任务,比如用rl做reranker,做query改写。

对于直接将RL应用于检索任务的工作,但目前除了做改写任务让人比较惊艳外,其他暂时还没看到 比较惊艳的工作。我们也在探索这个方向,希望后续能和大家分享一些工作吧,这里先分享一些这个方向的论文。

O1 Embedder: Let Retrievers Think Before Action

Rank1: Test-Time Compute for Reranking in Information Retrieval

Rank-R1: Enhancing Reasoning in LLM-based Document Rerankers via Reinforcement Learning

ReasonIR: Training Retrievers for Reasoning Tasks

Rank-K: Test-Time Reasoning for Listwise Reranking

DeepRetrieval: Powerful Query Generation for Information Retrieval with Reinforcement Learning

推荐阅读


    欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。

    阅读原文

    跳转微信打开

    Fish AI Reader

    Fish AI Reader

    AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

    FishAI

    FishAI

    鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

    联系邮箱 441953276@qq.com

    相关标签

    RAG-Retrieval 检索模型 微调 蒸馏 Reranker
    相关文章