jina-reranker-v3.5:通过混合 Attention 和自蒸馏实现更快的 Listwise Reranking

作者:来自 jina.ai/

一个 0.6B 参数的 listwise reranker,在 BEIR 基准测试中超过 Qwen3-Reranker-4B,相比 v3 最多提升 1.56 倍 reranking 速度,并在半结构化检索中提升 9.6 nDCG@10。

huggingface.co/jinaai/jina...

2607.18152 jina-reranker-v3.5: An Efficient Listwise Reranker with Hybrid Attention and Self-Distillation

今天,我们发布了 jina-reranker-v3.5,这是一个 0.6B 参数的 listwise reranker。它保留了 jina-reranker-v3last but not late interaction 机制,并使其速度更快,同时在企业实际搜索的数据场景中具备更强的能力。

它在 BEIR 上达到 63.20 nDCG@10 ,超过了 Qwen3-Reranker-4B,但参数量大约只有后者的 1/7。在长文档场景下,它的 reranking 速度相比 v3 最快提升 1.56 倍

它最大的提升来自半结构化检索:在字段约束记录场景中,相比 v3 提升 +9.6 nDCG@10

我们通过三个改进实现了这些提升:

  1. 混合 Attention 调度

    使用 sliding window attention 替代大多数 global 层,同时将最后一层固定为 global attention。

  2. 针对失败模式优化的训练数据混合

    训练数据经过精心筛选,覆盖法律、医疗、金融、多语言以及结构化检索中的典型失败场景。

  3. 三阶段自蒸馏训练方案

    teacher 和 student 使用相同规模的模型,唯一差异在于 Attention 模式。

下图展示了四种 benchmark 场景下,模型质量与参数量之间的关系。

jina-reranker-v3.5 在所有四个场景中都处于 Pareto 前沿:我们评估的模型中,没有任何模型能够同时做到更小且效果更好。

在基于 jina-embeddings-v5-text-small 召回的 top-100 候选结果上进行 reranking 后,在 BEIR 的 13 个数据集上测量英文 zero-shot retrieval 效果,指标为 nDCG@10。

红线表示 Pareto 前沿,阴影区域表示被支配区域:对于该区域中的任何模型,都存在另一个模型在规模更小、效果更好,或者两者兼具。

jina-reranker-v3.563.20 的成绩直接定义了 Pareto 前沿,高于:

1.5B 参数的 mxbai-rerank-large-v2(62.45)4B 参数的 Qwen3-Reranker-4B(62.28)

我们评估的更大模型,没有任何一个能够在 BEIR 质量上超过它。

在 MIRACL 的 18 种语言多语言检索任务中进行评估,采用相同的 top-100 reranking 流程。

jina-reranker-v3.5 在 0.6B 参数规模这一角落占据 Pareto 前沿,达到 74.11 ,是所有紧凑型模型中的最高分。

与此同时,Qwen3-Reranker-4B 在 4B 参数规模下达到 76.56

相比 jina-reranker-v3,v3.5 在单语言上的最大提升来自:

Yoruba(约鲁巴语): +4.4 Farsi(波斯语): +3.1 French(法语): +3.0

专业领域检索评估基于 RTEB,覆盖法律、金融、编程和医疗语料库。

jina-reranker-v3.5 达到 70.95 ,以 0.6B 参数规模超过了:

同等规模的 Qwen3-Reranker-0.6B(68.41)1.5B 参数的 mxbai-rerank-large-v2(70.81)

而它自身仅运行在 0.6B 参数规模下。

与 Qwen3-Reranker-4B(77.68)之间的剩余差距,主要集中在少数法律和医疗任务上。

在 Struct-IR 的受控候选池(controlled candidate pool)上进行半结构化检索评估。该评估将所有正确文档(gold documents)与第一阶段检索中最难的 30 个干扰文档(distractors)一起注入候选池,因此该指标专门衡量模型在字段约束条件下的区分能力,而不是第一阶段检索覆盖能力。

jina-reranker-v3.5 达到 48.3 ,相比 jina-reranker-v3 提升 9.6 分 ,这是本次发布中单项任务最大的提升。

需要注意的是,该评估协议与 SSRB retrieval leaderboard 不具备可比性。

架构

Listwise reranking 会在一次 forward pass 中为所有候选文档打分,因此,对于一个包含 100 个文档的列表,完整 self-attention 的计算量会呈平方增长,并且会增加 KV cache 的开销。

显而易见的优化方式是使用 sliding-window attention。但在 LBNL interaction 架构中,这种直接优化会破坏模型效果。

在 LBNL 中,query 和所有候选文档会组成一个因果序列(causal sequence),而 query embedding token 位于序列最末端。它必须能够一直关注到第一个候选文档,以构建具备跨文档感知能力的表示。

有限窗口会切断这种依赖关系。

因此,我们始终将最后一层固定为 global attention,使 query 和 document embedding token 在提取表示时能够观察完整的候选上下文。

如果将这一层也替换为 sliding-window attention,listwise ranking 能力会显著下降;而只保留这一层为 global attention,则可以在不使用完整 global attention 堆栈的情况下保留联合编码能力。

对于剩余的 27 层,我们测试了多种 attention 调度方案:

  • 1L1G

  • 1L2G

  • 3L2G

  • 5L1G

最终 3L2G 获胜:

即连续三层 sliding-window attention,然后接两层 global attention,循环执行。

该方案最终形成:

  • 17 层 local attention

  • 11 层 global attention

  • window size 为 1,024 tokens

其中:

  • local layer 将 attention 计算成本从 O(L²) 降低到 O(L·w)

  • 每隔三层插入 global layer,在网络不同深度持续刷新跨候选文档的长距离信息

更密集的 global attention 调度并没有带来吞吐提升;更激进的 5L1G 方案在复杂多文档任务上的表现反而呈下降趋势。

基于 3L2G 混合 Qwen3-0.6B backbone 的 LBNL listwise 编码架构。

Query 和所有候选文档共享同一个 causal context:

L 层 使用大小为 1,024 tokens 的 sliding window attention。 G 层 使用 global attention。最后一层 G * 始终固定为 global attention,因此位于序列末端的 query embedding 可以看到整个候选列表。

随后,通过一个 MLP 将表示投影到共享空间,并使用 cosine similarity 计算相似度,从而生成排序结果。

右图:三阶段训练方案。

其中,Stage I 的 full-attention teacher 模型保持冻结,并在 Stage III 中指导 student 模型训练。

跨 Attention 差异的自蒸馏

这里的蒸馏方式比较特殊。我们并不是将一个大模型压缩成小模型。Teacher 和 student 都是 0.6B 参数规模,唯一差异在于 Attention 模式:

  • Teacher 使用完整 full attention,计算成本为平方级。

  • Student 使用 3L2G 混合 Attention。

如果同时要求 student 切换 Attention mask,并且匹配 teacher 的输出,模型会在两个目标上都失败。因此,该训练方案将这两个压力拆开处理:

  • 阶段 I --- full-attention teacher

    从公开的 jina-reranker-v3 checkpoint 开始,在完整的 v3.5 训练数据混合集上进行 full fine-tuning。

    此时不使用 sliding-window 限制,训练出一个 teacher 模型,用于建立该参数规模下的质量上限。

  • 阶段 II --- sparse-attention 适配

    Student 从 Stage I 的权重初始化,并启用 3L2G Attention。

    首先,只训练 Attention projection,其余参数全部冻结。这样可以让 sparse mask 学习如何路由信息,同时避免破坏 full attention 阶段已经学习到的表示。

    然后解冻全部参数,让 student 重新适配新的 Attention 结构。

    在这一阶段,student 已经可以部署,并且速度更快,但在 BEIR、RTEB-legal 和 MIRACL 上仍然与 teacher 存在稳定差距。

  • 阶段 III --- teacher 引导的蒸馏

    保持 teacher 冻结,同时从四个层面让 student 对齐:

    1. 基于 softmax 归一化 score 分布的 listwise KL loss

    2. 绝对 score 的 MSE loss

    3. 最后一层 hidden state 的 MSE loss

    4. 投影后 embedding 的 cosine loss

    此外,还加入:

    • in-context similarity 正则化

    • dispersion 正则化

顺序非常重要。

仅执行 Stage II 会留下明显差距,因为 student 必须先在较弱的 Attention mask 下改变信息路由方式,然后才能安全地模仿 teacher 的 score 和状态表示。

Stage III 随后恢复了大部分差距,这说明:一旦 sparse student 完成结构适配,full attention 模型中的能力可以有效迁移过去。

该方案针对 3L2G 设计,但整体方法可以推广到其他 Attention 调度不匹配的场景。

训练数据

v3 的训练数据混合在通用检索方面表现良好,但在专业领域上的表现较弱。

我们没有简单地增加更多数据,而是对 RTEB 和 STARK 开发集进行了错误分析,并构建了每个新的数据分片(shard),使其精准覆盖通用模型容易失败的检索模式。

困难负样本(hard negatives)同时来自多个 retriever:

  • BM25

  • Jina

  • BGE

  • GTE

  • E5

  • ColBERT

这样可以避免模型学习某一个 retriever 特有的捷径。

法律领域数据分片包含:

  • EUR-Lex multilingual

  • CLERC

  • AILA

  • Canadian case law

  • Swiss case summarization

  • EuroVoc

由于法律文本通常具有大量引用关系,并且文本长度较长,因此法律数据被进行了过采样。

医疗领域数据分片针对:

  • 临床表达方式

  • 实体密集型文本片段

金融领域数据分片重点关注:

  • 数值声明

  • 监管语言

  • 表格相关文本

多语言覆盖范围也扩展到了 MIRACL 和 mMARCO 之外,包括:

  • 支持 50 多种语言的 WebFAQ

  • SWIM-IR 跨语言负样本

  • Ruri-v3 日语语义匹配数据

结构化数据获得了最高的采样权重,因为它处于标准 benchmark 假设的自由文本分布之外。

记录和表格中的相关性判断依赖:

  • 等值匹配(equality)

  • 数值和日期范围约束

  • 列表成员关系

  • 跨字段逻辑组合

而不是简单的词汇重叠。

早期实验中,结构化数据场景的表现下降最明显,因此我们直接合成了大量具有约束条件的训练 pair,以覆盖这些检索模式。

用于字段约束检索的合成监督数据。

我们从一个 anchor record(锚点记录)中采样带类型的约束条件,然后让 LLM 将这些约束改写成查询语句。接着,我们对一个或两个受约束字段进行扰动,构造近重复(near-duplicate)的 hard negative。

这种 hard negative 保持相同的表面形式,但违反了某个约束条件。

随后,通过 dense mining 添加更多候选样本,并由 LLM judge:

提升真正匹配的样本优化过于宽泛的查询丢弃存在歧义的案例

这些反馈会再次用于查询生成过程。

右侧示例说明了为什么词汇重叠(lexical overlap)在这种场景中没有意义:

正样本和 hard negative 几乎完全相同,唯一差异只是某一个字段的值不同。

实验结果

所有指标均基于统一的 MTEB v2 pipeline,对 jina-embeddings-v5-text-small 召回的 top-100 候选结果进行 reranking。

因此,这些结果可能与各厂商报告的指标存在轻微差异。

完整的按数据集和按语言划分的结果表,请参阅论文。

Model Params BEIR MIRACL RTEB Struct-IR
jina-embeddings-v5-text-small (1st stage) 0.5B 56.26 65.15 64.60 --
mxbai-rerank-base-v2 0.5B 59.58 64.90 61.44 30.4
Qwen3-Reranker-0.6B 0.6B 56.94 67.12 68.41 41.9
mxbai-rerank-large-v2 1.5B 62.45 69.65 70.81 43.0
Qwen3-Reranker-4B 4.0B 62.28 76.56 77.68 55.6
jina-reranker-v3 0.6B 62.10 72.20 68.01 38.7
<strong>jina-reranker-v3.5</strong> 0.6B 63.20 74.11 70.95 48.3

v3.5 在相同参数规模下,在所有 benchmark 类型上都优于 v3,其中最大的提升来自半结构化检索。

RTEB 的提升主要集中在训练数据针对的领域:

  • AILA-Statute 相比 v3 提升 14.0 分

  • AILA-Case 相比 v3 提升 11.7 分

  • FinQA 达到 86.91,是所有测试模型中的最高成绩

在 STARK 上,v3.5 在全部三个官方指标上都超过 v3,并获得整体最佳的 Hit@5 成绩。

关于 Struct-IR,需要说明一个评估协议细节:

该 benchmark 针对每种 schema 索引数百万个对象,而第一阶段 schema 内检索的 Recall@5 大约只有 0.04

因此,端到端的 retrieve-then-rerank 流程几乎完全受限于第一阶段召回能力,难以有效区分不同 reranker 的能力。

因此,我们采用了另一种评估方式:

将所有 gold documents 与第一阶段检索出的 30 个最难 distractors 一起注入候选池。

这种方式可以单独衡量字段约束条件下的区分能力,而不受第一阶段检索覆盖率影响。

需要注意的是,该候选池下的结果与 SSRB retrieval leaderboard 不具备可比性。

效率

测试环境:

  • 单张 NVIDIA A100

  • batch size:1

  • top-100 listwise 输入

  • FlashAttention-2

短上下文场景,BEIR Natural Questions 数据集。

在 254 个计时查询中,query 和 document 的平均长度分别为:

query:10.3 tokensdocument:145.5 tokens

对于 top-100 listwise reranking:

平均延迟从 371 ms 降低到 305 ms 提速 1.22× document 吞吐量从 270 docs/s 提升到 328 docs/s

长上下文场景,RTEB AILACasedocs 数据集。

在 48 个计时查询中,query 和 document 的平均长度分别为:

query:689.8 tokensdocument:1,904.0 tokens

对于 top-100 listwise reranking:

平均延迟从 16.1 秒 降低到 10.3 秒 提速 1.56× prefill 吞吐量从 11.9k tokens/s 提升到 18.6k tokens/s

当候选文本较长时,Hybrid Attention 的优势最为明显。

由于生产环境中的 listwise reranking 主要受限于对新候选集合执行的一次 prefill,因此这些性能提升可以直接转化为:

  • 在固定 serving 预算下支持更长的候选列表;

  • 支持更大的文档输入。

开始使用

arduino 复制代码
`

1.  curl -X POST \
2.    https://api.jina.ai/v1/rerank \
3.    -H "Content-Type: application/json" \
4.    -H "Authorization: Bearer ***" \
5.    -d '{
6.    "model": "jina-reranker-v3.5",
7.    "query": "trail-running shoes under $150, rated 4.5+, released since 2022",
8.    "documents": [
9.      "...",
10.      "..."
11.    ],
12.    "return_documents": false
13.  }'

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

通过 Elastic Inference Service

jina-reranker-v3.5 从 Stack 9.3 开始可通过 Elastic Inference Service(EIS)使用,因此你可以在托管 GPU 上执行 rerank,而无需自行部署和托管模型。

创建一个引用该模型的 inference endpoint,然后像调用其他 rerank task 一样调用它。

bash 复制代码
`

1.  PUT _inference/rerank/eis-jina-reranker-v3-5
2.  {
3.    "service": "elastic",
4.    "service_settings": {
5.      "model_id": "jina-reranker-v3.5"
6.    }
7.  }

`AI写代码
bash 复制代码
`

1.  POST _inference/rerank/eis-jina-reranker-v3-5
2.  {
3.    "query": "trail-running shoes under $150, rated 4.5+, released since 2022",
4.    "input": [
5.      "...",
6.      "..."
7.    ]
8.  }

`AI写代码

响应会返回一个按相关性排序的 rerank 数组,每个条目包含候选文档的原始索引以及对应的 score。

由于它是一个标准的 inference endpoint,因此可以直接在搜索查询中的 text_similarity_reranker retriever 中引用该 inference_id

通过 transformers

ini 复制代码
`

1.  from transformers import AutoModel

3.  model = AutoModel.from_pretrained(
4.      'jinaai/jina-reranker-v3.5',
5.      dtype="auto",
6.      trust_remote_code=True,
7.  )
8.  model.eval()

10.  query = "What are the health benefits of green tea?"
11.  documents = [
12.      "Green tea contains catechins that may help reduce inflammation.",
13.      "El precio del cafe ha aumentado un 20% este ano.",
14.      "绿茶富含儿茶素等抗氧化剂,可以降低心脏病风险。",
15.      "Le the vert est riche en antioxydants.",
16.  ]

18.  for r in model.rerank(query, documents):
19.      print(f"{r['relevance_score']:.4f}  {r['document'][:70]}")

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

结论

jina-reranker-v3.5 的实际结论是明确且可验证的:

0.6B 参数规模 下,通过针对性的训练,可以缩小与 4B 通用 reranker 之间的大部分差距;而在 BEIR 上,它已经完全追平甚至超过了这些模型,同时运行速度还快于它所替代的模型。

对于企业级检索场景,这说明与默认选择最大规模模型相比,更值得投入的是:

  • 在紧凑 backbone 上进行针对性的监督训练;

  • 针对真实业务检索模式优化数据和训练目标。

需要明确指出两个限制:

首先,listwise reranker 仍然存在 pointwise 和 late-interaction 模型没有的输入限制,尤其是:

  • 候选数量存在固定上限;

  • 候选文档总长度存在限制。

其次,在以下场景中,4B Qwen 仍然保持明显优势:

  • RTEB 法律和医疗任务;

  • 受控候选池下的 Struct-IR;

  • 低资源语言的 MIRACL。

这些仍然是最具挑战性的场景,我们直接指出这些差距,而不是用平均指标掩盖它们。

原文:jina.ai/news/jina-r...

相关推荐
Elasticsearch1 小时前
Elasticsearch 转型为 Agent 基础设施:混合搜索、长期记忆与工程化框架
elasticsearch
Elasticsearch3 小时前
在隔离网络和断开连接的环境中部署 Elastic
elasticsearch
Elasticsearch4 小时前
从搜索到结账只需 20 行代码:使用 OpenTelemetry 构建四阶段转化漏斗
elasticsearch
Elasticsearch4 小时前
你的堆内存图表看不到的隐藏压力:AutoOps 现已监控向量堆外内存
elasticsearch
程序员小八7771 天前
一篇文章讲透 Elasticsearch:从倒排索引到实战落地
大数据·elasticsearch·搜索引擎
Elasticsearch1 天前
Kibana Dashboards API:适用于所有面板类型的稳定接口,在正式发布前经过 50 多个团队验证
elasticsearch
Elasticsearch1 天前
Elasticsearch ES|QL 将全文搜索带到你从未建立索引的数据中
elasticsearch
Elasticsearch1 天前
用 start-local 脚本在本地运行 Elastic Stack 并创建 AI agents
elasticsearch