智源发布三款BGE新模型,再次刷新向量检索最佳水平

近期,以大语言模型(LLM)为基础的向量模型(embedding model)变得愈发流行。得益于大语言模型强大的语义理解能力,相关模型在下游任务中的检索精度得到了显著的提升。然而,当前基于大模型的向量模型(LLM-backended embedding model)仍然单纯依靠标签数据进行微调,缺乏灵活应对不同下游任务的能力。与此同时,当前的模型大都支持英文且主要面对向量检索任务(dense retrieval),相比之下,针对其他语言以及更多检索任务的模型较为不足。

针对上述问题,智源研究院发布三款全新模型:英文向量模型BGE-EN-ICL,多语言向量模型BGE-Multilingual-Gemma2,多语言重排序模型BGE-Reranker-v2.5-Gemma2-Lightweight。这些模型进一步刷新了MTEB、BEIR、MIRACL、AIR-Bench等主要评测基准的最佳水平,同时借助情境学习(in-context learning)获得了出色的自适应能力,这为向量模型的进一步发展带来了新的可能性。

模型链接:

(1) BGE-EN-ICL: https://huggingface.co/BAAI/bge-en-icl

(2) BGE-Multilingual-Gemma2: https://huggingface.co/BAAI/bge-multilingual-gemma2

(3) BGE-Reranker-v2.5-Gemma2-Lightweight: https://huggingface.co/BAAI/bge-reranker-v2.5-gemma2-lightweight

特点

(1)基于大模型训练

智源推出的三款新模型均基于大语言模型进行训练,因而具备卓越的领域适应能力和广泛的泛化性能,使其能够在各种任务中展现出色的表现,适应不同应用场景的需求。

(2)情境学习能力

在以往的工作中,例如 e5-mistral-7b 和 SFR,虽然已经提出通过在查询前提供任务描述来提升查询嵌入的语义丰富性,但这些方法并未充分挖掘模型的上下文学习能力。为此,智源推出了 BGE-EN-ICL 模型。在查询端,除了提供任务描述外,还引入了任务相关的查询-文档示例作为少量示例(few-shot examples),这进一步增强了模型的语义表达能力,使其在复杂任务或是训练数据中所未见过的任务中表现更加优越。

(3)蒸馏技术

BGE-EN-ICL和BGE-Multilingual-Gemma2模型在检索数据集上采用重排器作为教师模型进行蒸馏训练。这不仅提升了模型的整体性能,还增强了其在检索任务中的能力,使其在面对多样化数据时更加高效。

(4)轻量化设计

针对用户对模型使用便捷性的需求,BGE-Reranker-v2.5-Gemma2-Lightweight模型在bge-reranker-v2-minicpm-layerwise的基础上进行了进一步优化。该模型不仅支持逐层提前输出,还能在前向传输过程中实现token压缩。这两种技术的结合大大节省了计算资源,同时保持了卓越的性能表现。

实验结果

A. 中英文能力

(1)MTEB

在MTEB榜单中,多语言模型BGE-Multilingual-Gemma2表现出色,而BGE-EN-ICL的few-shot表现尤为突出

(2)BEIR

在BEIR榜单中,多语言模型BGE-Multilingual-Gemma2依然表现优异,而BGE-EN-ICL few-shot的结果更为出色。

基于bge-large-en-v1.5和e5-mistral-7b-instruct,BGE-Reranker-v2.5-Gemma2-Lightweight分别对它们的BEIR检索结果的top-100进行重排,达到了更好的结果,并在节省60% flops的情况下仍保证了优越的效果。

(3)AIR-Bench

在AIR-Bench上,BGE-Multilingual-Gemma2和BGE-EN-ICL表现出强大的泛化性,在新领域上表现优异,in-context learning能力进一步增强了BGE-EN-ICL的表现。

Long-doc:

QA-en:

QA-en&zh:

(4)C-MTEB

在中文任务即C-MTEB任务上,BGE-Multilingual-Gemma2的中文能力进一步增强,相比之前的bge-large-zh-v1.5有显著提升。

B. 多语言能力

(1)MIRACL

在多语言能力方面,BGE-Multilingual-Gemma2表现出显著优势,尤其在中英文能力提升方面表现突出。

BGE-Reranker-v2.5-Gemma2-Lightweight对bge-m3的MIRACL检索结果的top-100进行重排,达到了更好的结果,并在节省60% flops的情况下仍保证了优越的效果。

(2)MTEB-FR/PL

在MTEB的法语和波兰语榜单上,BGE-Multilingual-Gemma2表现尤为突出,展现其出色的多语言能力。

<think>好的,我现在需要向用户介绍什么是rerank模型。用户之前已经询问过bce-embedding-base_v1模型,现在可能是在构建一个检索系统,想了解rerank模型的作用。首先,我应该回顾一下之前的问题,确保回答的连贯性。 用户可能对embedding模型rerank模型的区别不太清楚。需要先解释rerank的基本概念,然后说明它在NLP中的应用场景。可能需要从信息检索的角度切入,比如在搜索引擎或问答系统中,先用检索模型得到大量候选结果,再用rerank模型进行精细排序。 接下来,要说明rerank模型的工作原理。可能需要提到它如何处理候选文档查询的相关性,使用的技术比如交叉编码器(Cross-Encoder),与双编码器(Bi-Encoder)的区别。需要强调rerank模型的计算复杂度更高,但精度更好,适合在候选集较小的情况下使用。 还要列举一些常见的rerank模型,比如Sentence-BERT的交叉编码版本、Cohere的rerank模型,或者百度的可能产品。同时,给出使用场景的例子,比如RAG系统、推荐系统、问答系统等,帮助用户理解实际应用。 需要对比embedding模型rerank模型的优缺点,比如效率与精度的权衡,这样用户可以根据需求选择合适的模型。最后,给出使用建议,比如在召回阶段用embedding快速筛选,再用rerank精细排序,这样结合两者优势。 要确保语言简洁,避免技术术语过多,必要时用例子说明。可能需要检查是否有错误,比如rerank模型是否都是基于交叉编码器,或者是否有其他结构。另外,是否需要提到具体的评估指标,比如MRR、NDCG等,但可能用户更关注应用层面,所以可以省略。 最后,确认回答结构是否清晰,分点是否明确,是否覆盖了定义、作用、原理、常见模型、应用场景以及与embedding模型的对比。可能需要补充一个代码示例,但考虑到不同框架,可能保持简洁,或提到使用现有库如sentence-transformers。 总结,需要组织信息,确保用户能够理解rerank模型的作用如何使用,同时与之前介绍的embedding模型形成对比,帮助用户构建完整的检索系统流程。</think>**Rerank 模型**(重排序模型)是自然语言处理(NLP)中用于优化检索结果的关键组件,主要作用是对初步检索得到的候选结果(如文档、段落、答案等)进行精细化排序,以提升最终返回结果的准确性相关性。以下是详细介绍: --- ### **1. 核心作用** 在典型的检索系统中(如搜索引擎、问答系统、推荐系统),通常分为两个阶段: 1. **召回(Retrieval)**:使用快速检索模型(如 BM25、Embedding 模型)从海量数据中筛选出数百/千条相关候选。 2. **重排序(Reranking)**:通过更复杂的模型对候选结果重打分排序,保留最相关的 Top-K 条结果。 **Rerank 模型的核心任务**: 在召回阶段的结果基础上,进一步计算查询(Query)与每个候选之间的细粒度相关性,消除召回阶段的噪声,提升结果精度。 --- ### **2. 工作原理** - **输入**:用户查询(Query) + 召回阶段返回的候选列表(例如 100 条文档)。 - **输出**:对候选列表重打分,按相关性从高到低排序。 - **技术实现**: - 通常基于 **交叉编码器(Cross-Encoder)**,直接建模 Query 候选文本的交互(如拼接后输入模型,计算相关性分数)。 - 与双编码器(Bi-Encoder,如 Embedding 模型)相比,计算量更大但精度更高,适合小规模候选集(百级以内)。 --- ### **3. 常见模型与工具** | 模型/工具 | 特点 | |--------------------------|----------------------------------------------------------------------| | **Cross-Encoder** | Sentence-BERT 提供的交叉编码器,适合短文本对(如 MS MARCO 数据集训练)。 | | **Cohere Rerank** | Cohere 公司的 API 服务,直接调用对候选结果重排序。 | | **BAAI/bge-reranker** | 北京研究院开的 Rerank 模型,支持中英文。 | | **专属领域微调模型** | 基于业务数据(如客服对话、商品描述)微调的 Rerank 模型,针对性更强。 | --- ### **4. 典型应用场景** 1. **检索增强生成(RAG)** - 在 RAG 中,先通过 Embedding 模型召回相关文档,再用 Rerank 模型筛选出最相关的几条输入给大模型生成答案。 2. **搜索引擎优化** - 对初步检索的网页/商品/视频结果重排序,提升用户体验(如 Google 搜索的 BERT 重排序)。 3. **问答系统** - 从知识库中召回多个候选答案,通过 Rerank 模型选择最匹配的答案。 4. **推荐系统** - 对用户历史行为召回的推荐内容进行最终排序。 --- ### **5. 与 Embedding 模型的对比** | 特性 | Embedding 模型(Bi-Encoder) | Rerank 模型(Cross-Encoder) | |---------------------|--------------------------------------|--------------------------------------| | **计算方式** | 独立编码 Query 候选,计算向量相似度 | 联合编码 Query 候选,直接交互计算相关性 | | **速度** | 快(适合大规模召回) | 慢(适合百级候选重排序) | | **精度** | 较低(无法捕捉细粒度交互) | 较高(捕捉词级、句级交互) | | **典型用途** | 第一阶段:海量数据快速召回 | 第二阶段:精细化排序 | --- ### **6. 使用示例(伪代码)** 以 `sentence-transformers` 库为例: ```python from sentence_transformers import CrossEncoder # 加载预训练 Rerank 模型 rerank_model = CrossEncoder("cross-encoder/ms-marco-MiniLM-L-6-v2") # 假设用户查询召回结果 query = "如何学习机器学习?" candidates = [ "机器学习入门教程", "深度学习框架对比", "Python 编程基础", "机器学习模型调参技巧" ] # 生成 Query-Candidate 对并打分 pairs = [(query, candidate) for candidate in candidates] scores = rerank_model.predict(pairs) # 按分数排序 ranked_results = sorted(zip(candidates, scores), key=lambda x: x[1], reverse=True) # 输出:["机器学习入门教程", "机器学习模型调参技巧", ...] ``` --- ### **7. 注意事项** - **性能权衡**:Rerank 模型计算成本高,需限制候选数量(通常不超过 100 条)。 - **领域适配**:通用 Rerank 模型可能在垂直领域表现不佳,需针对性微调。 - **端到端优化**:可与召回模型联合训练,构建检索-排序一体化系统。 --- 通过结合 Embedding 模型(高效召回) Rerank 模型(精准排序),可以显著提升检索系统的整体效果,尤其在需要高相关性的场景(如问答、推荐)中价值突出。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值