# 論文閱讀 : jina-reranker-v3: Last but Not Late Interaction for Listwise Document Reranking
## 摘要
### 1. **研究問題:神經文件檢索的效率與效果權衡**
作者指出神經檢索面臨根本性的 trade-off:
### 🔹 Cross-encoders
* 透過 **joint query–document processing** 關聯查詢與文件
* 因此 retrieval 效果最好
* 但需 **每對 Query–Document 都跑一次 forward pass → 成本極高**
### 🔹 Embedding models(Bi-encoders)
* Query 與 Document **分開編碼**
* 只需做向量相似度即可檢索 → **效率高**
* 但缺乏 **細粒度 token-level 互動訊號** → 效果較差
### 🔹 Late interaction models(例如 ColBERT)
* 查詢與文件仍分開編碼
* 在編碼後才透過 token-level 相似度做互動
* 試圖結合效率與效果兩者的優點
---
### 2. **作者提出的方法:(LBNL: Last But Not Late Interaction)**
論文提出一種新的互動方式:
#### 🔹 新概念:Last but not late (LBNL)
此方法的核心創新包含兩點:
#### **(1) Last — 使用每篇文件的最後一個 token 作為 contextual embedding**
* 當 Query 與文件一起進入模型後
* 模型在編碼後取每篇 document 的 **最後一個 token** 作為該文件的最終表示
* 相當於讓整篇文件被 Query 重新 contextualize
#### **(2) Not late — 互動發生在編碼期間,而非編碼後**
與 late interaction 的最大差別在於:
| 方法 | 互動發生時間 |
| ------------------------------ | ------------------------------------------------- |
| **Late interaction (ColBERT)** | Query/document 先獨立 encode → 之後再做 token similarity |
| **本論文 LBNL** | Query **與所有 documents 放在同一個 context 中,編碼時就互動** |
因此:
* 查詢與所有文件在模型內互相注意(causal attention)
* Cross-document、Query–Document 互動在編碼期間直接發生
* 這種 **listwise 排序方式** 無法用分別編碼模型達成
* 也是本方法的核心創新
---
### 3. **技術特點總結**
作者強調的技術突破:
#### ✦ Causal attention 讓 Query 與多文件同時互動
#### ✦ 每篇文件以 “last token” 表示,保留 contextualized 信息
#### ✦ 模型不是 pairwise,也不是 bi-encoder,而是 listwise
#### ✦ 比 late interaction 模型更早互動,因此稱為 **“not late”**
---
### 4. **實驗結果(摘要)**
模型在多項 benchmark 取得 SOTA:
#### BEIR(reranker 任務)
* **61.85 nDCG@10** → 所有評測模型中最高
* 比前一版 **Jina Reranker v2** 高 **4.79%**
#### 多跳檢索(HotpotQA)
* 78.58
#### 事實驗證(FEVER)
* 94.01
#### 多語系與跨語系檢索
* MIRACL(18 種語言):66.83
* MKQA(26 語言 Recall@10):67.92
#### Code retrieval(CoIR)
* 70.64
總結:在多項任務均展現領先性能。
## Related Work
本章回顧與文件重排序(document reranking)相關的技術類別,特別依據**互動方式**與**訓練目標**進行分類,並對傳統、late interaction 模型與 LLM reranker 系列進行比較。
---
### 1. 傳統 Learning-to-Rank 方法(L2R)
#### 🔹 類別
傳統的 L2R 根據學習目標分為三類:
1. **Pointwise**(逐文檔)
* 每篇文件獨立預測 relevance score
* 代表研究:~\citep{bruch2023efficient}
2. **Pairwise**(成對比較)
* 目標為比較兩文件的相對相關性
* 代表方法:RankNet ~\citep{burges2005learning}
3. **Listwise**(整體排序)
* 優化整個排名列表的全域最佳化目標
#### 🔹 Cross-encoders 的地位
* 如 BERT-based rerankers ~\citep{nogueira2019passage}
* 透過**完整的 Query–Document 全交互(full interaction)**取得高效能
* 但因每個 Query–Doc pair 都需要獨立 forward pass → 成本高、無法擴展到大型檢索系統
#### 🔹 近期比較研究
* ~\citep{dejean2024thorough} 發現:
* **LLM-based reranker 的 zero-shot 表現令人印象深刻**
* 但 **傳統 cross-encoders 仍然在多種 retrieval 場景中保持強勢競爭力**
---
### 2. Late Interaction Models(例如 ColBERT 系列)
此類方法的目標是在效率與表現間取得平衡。
#### 🔹 ColBERT 典型機制
* Query 與 Document **各自獨立編碼**(bi-encoder)
* 產生 multi-vector 表示(每個 token 一個向量)
* 利用 token-level 的 **MaxSim** 進行相似度計算
* 優點:
* 文件向量可預先計算、預先儲存(高效率)
* 保留 token 級精細匹配訊號(高效果)
#### 🔹 近期擴展發展
1. **Matching 機制分析、token pruning 理論研究**
* ~\citep{liu2024analysis}
* 提供對 late interaction 原理的深度理解
2. **LITE(Learnable Late Interaction)**
* ~\citep{ji2024efficient}
* 引入可學習的 late interaction 機制
3. **Jina-ColBERT-v2**
* ~\citep{jha2024jina}
* 將 ColBERT 擴展到多語系場景
4. **PyLate Framework**
* ~\citep{chaffin2025pylate}
* 提供訓練與部署 late interaction 模型的框架
5. **Late Chunking**
* ~\citep{gunther2024late}
* 先用 transformer 處理完整文件
* 之後再依 chunk boundary 切分
* 能保留跨 chunk 的 contextual 資訊
* 主要應用於 **retrieval(非 reranking)**
---
### 3. LLM-powered Rerankers(大型語言模型的排序能力)
近年 LLM 推動新的 reranking 家族,包含 discriminative 與 generative 方法。
---
#### 3.1 Generative Ranking Methods
#### 🔹 RankGPT ~\citep{qin2023large}
* 透過 prompt 讓 LLM **直接生成排序結果(ranked list)**
* 利用 LLM 的 reasoning 能力
* 缺點:需較大的模型才能比得過傳統方法
---
### 3.2 Fine-tuning Approaches
### 🔹 RankVicuna ~\citep{pradeep2023rankvicuna}
* 將現有 LLM 微調成 relevance scoring 模型
---
## 3.3 Efficiency-focused Rerankers
1. **FIRST ~\citep{wu2024first}**
* 單 token 解碼加速 inference
2. **PE-Rank ~\citep{qin2024leveraging}**
* 使用 passage embedding
* 可降低延遲約 **4.5×**
---
### 3.4 新型訓練方法
1. **ERank ~\citep{cai2025erank}**
* 將 supervised fine-tuning 與 reinforcement learning 結合
* 提升 rank 質量
2. **Qwen3 Embedding 系列 ~\citep{yang2025qwen3embedding}**
* 展示更複雜、階段化的多階段訓練流程
3. **DeAR ~\citep{abdallah2025dear}**
* 使用 dual-stage reasoning
* 結合 distillation
* 特別擅長 cross-document 分析
## Model Architecture

本節介紹 \model{} 的架構特色,重點在於其「和現有方法完全不同的新型互動方式」。
---
### 1. 模型互動方式:核心創新
\model{} 的主要創新是:
### 🔹 **提供與現有方法(cross-encoder、bi-encoder、late interaction)不同的新型互動機制**
具體做法為:
* **Query 與多篇文件(documents)被放入同一個共享的 context window 中**
* 模型能在編碼過程中一次性處理所有資料(listwise interaction)
* 這讓模型能在編碼階段就進行:
* Query–Document interaction
* Document–Document interaction
這種方式是其他類型的 reranker(尤其是 bi-encoder 或 late interaction)無法做到的。
---
### 2. 基礎模型(Backbone)
\model{} 是基於 **Qwen3-0.6B** 進行改造:
| 組件 | 規格 |
| ------------------ | --------------- |
| 模型大小 | 0.6B 參數 |
| Transformer layers | 28 層 |
| Hidden dimension | 1024 |
| Attention heads | 16 |
| 最大 context length | **131K tokens** |
**超長 context(131K tokens)是本方法的關鍵基礎**,因為需要把 Query + 多篇 Documents 都塞在同一個序列裡。
---
### 3. 共享 Context Window 的運作方式
\model{} 在 inference 時:
* 同時把 Query 與多篇 Documents 放入 transformer 序列
* 使用 causal attention 讓 Query 可以「看到」所有文件
* 文件間也能彼此交互影響
* 最後從每篇 document 的最後一個 token 抽取 contextual embedding(上一段 Introduction 有提到)
這形成一種 **listwise、跨樣本的互動式 reranking**。
---
### 4. 輕量級 MLP Projector
為了將 contextualized embeddings 轉成適合排名任務的向量,模型額外加入一個小型 MLP:
#### 🔹 MLP 結構
* Input: 1024 維
* Layer1: 512 維
* Layer2: 512 維
代表架構:
**1024 → 512 → 512**
用途包括:
* 降維
* 將 contextual representation 轉為 ranking-friendly embedding
* 保持推理成本低(輕量級設計)

## Training(Loss Functions)
\model{} 使用多目標(multi-objective)訓練流程,將 InfoNCE 排序損失與多種輔助損失結合,以提升不同情境下的排名品質。整體訓練目標由四部分組成。
---
### 1. **整體 Loss 結構**
完整損失函數如下:
$$
\ell = \ell_{\mathrm{rank}}
\cdot 0.45 \cdot \ell_{\mathrm{disperse}}
\cdot 0.85 \cdot \ell_{\mathrm{dual}}
\cdot 0.85 \cdot \ell_{\mathrm{similar}}
$$
各 loss 的權重代表作者認為的相對重要性:
| Loss 類型 | 權重 | 功能 |
| ---------------------- | ------ | ---------------------------- |
| **Ranking Loss** | *1.0* | 核心排序訊號 |
| **Disperse Loss** | *0.45* | 防止 embedding 崩塌,增加多樣性 |
| **Dual Matching Loss** | *0.85* | 強化 Query ↔ Document 之間的雙向一致性 |
| **Similarity Loss** | *0.85* | 確保文件語義一致性、強化語義 robustness |
---
### 2. **Ranking Loss(InfoNCE)— 核心訓練訊號**
主體損失為 InfoNCE(contrastive learning),用 Hard Negatives 形成強分辨能力。
$$
\ell_{\mathrm{rank}} = - \frac{1}{N}\sum_{i=1}^N
\log \frac{e^{s(q_i, d_i^+)/\tau}}{
e^{s(q_i, d_i^+)/\tau} +
\sum_{k=1}^{K} e^{s(q_i, d_{i,k}^-)/\tau}}
$$
#### 符號說明:
| 符號 | 含義 |
| ------------------ | ----------------------- |
| $q_i$ | Query embedding |
| $d_i^+$ | Positive document |
| $d_{i,k}^-$ | 第 k 個 negative document |
| $s(\cdot,\cdot)$ | Cosine similarity |
| $\tau$ | Temperature |
| N | 批次大小 |
| K | negatives 數量 |
此 loss 的功能:
* 拉近 Query 與 Positive Doc
* 推開 Query 與 Hard Negatives
* 提供最核心的 ranking 訓練訊號
---
### 3. **Disperse Loss — 防止 embedding collapse**
為避免 embedding 向量聚在一起(representation collapse),作者加入 **dispersive loss**:
$$
\ell_{\mathrm{disperse}} =
\frac{1}{N} \sum_{i=1}^N
\log\frac{1}{K} \sum_{k=1}^K \bigg(
e^{s(d_i^+, d_{i,k}^-)/\tau}
+
\sum_{k'=k}^{K-1} e^{s(d_{i,k}^-, d_{i,k'+1}^-)/\tau}
\bigg)
$$
其核心概念:
#### 🔹 這個 Loss 推動文檔 embeddings 彼此「遠離」
* 增加點與點之間的多樣性
* 避免模型把所有 documents 壓成相似向量,導致 InfoNCE 失去判別力
---
### 4. **Dual Matching Loss — 加強 Query↔Document 雙向一致性**
形式與 ranking loss 相同,但:
#### 🔹 Query embedding 的取法不同
* 作者在 Query 結尾插入特殊 token **〈query_token〉**
* Dual loss 則使用 Query 序列 **前方的 tokens** 生成 Query embedding
* 目標是建立:
$$
\text{Query → Document}
\quad \text{與} \quad
\text{Document → Query}
$$
兩個方向的分數一致性(bidirectional consistency)
#### 功能:
* 讓排序對 Query token 標記位置不敏感
* 降低模型只依賴 Query 某一處 embedding 的風險
* 提升 ranking 在不同 prompt/masking 下的穩健性
---
### 5. **Similarity Loss — 維持語義一致性**
採用 CoSent 函數(Cosine Sentence Loss, ~\citep{huang2024cosent})。
#### 🔹 做法
* 對每篇文件 $d_i$ 做一次 text augmentation,得到 $d_i^{*}$
* 將 $(d_i, d_i^{*})$ 當作 positive pair
* 其他 documents 當作 negative samples
目的:
* 讓模型學到
**「不同字面表現但語義相同的文件,其 embedding 應非常接近」**
例如:
| 原文 | 增強後 |
| --------------------------- | -------------------------------------- |
| “What is LBNL interaction?” | “Explain the LBNL interaction method.” |
模型需理解兩者語義相同。
#### 功能:
* 增強模型對 paraphrase 的魯棒性
* 減少文件因語言風格等表層差異而錯誤判斷為不同語意
## Multi-Stage Training
作者採用了 **三階段、漸進式(progressive)訓練策略**,目標是隨著複雜度逐步提升,使模型在多語言、長文本、跨領域、代碼與多 retrieval 系統中都具備穩健且高品質的 ranking 能力。
---
### 1. **Stage 1:Foundation Specialization(基礎專精階段)**
#### 目標:
在不動 backbone 的前提下,先讓模型取得跨領域、多語言與多任務的基本能力。
#### 設定方式:
* **基礎模型:Qwen-base(預訓練模型)**
* **Fine-tuning:LoRA**
* rank ( r = 16 )
* (\alpha = 32)
* 套用於:
* 所有 attention layers
* 所有 FFN layers
* **backbone 完全凍結**
#### 訓練格式:
* 每個 query 搭配 **16 篇文件(1 positive + 15 negatives)**
* 每篇 document:
* 最長 **768 tokens**
* padding/truncation 一律到 768 tokens
* 整體序列長度:
$$
16 \times 768 = 12,288 \text{ tokens}
$$
#### 訓練資料來源(跨領域)
* **BGE-M3**:15 種語言 → 多語言能力
* **Cornstack**:code retrieval
* **Biomedical datasets**:biomedical domain retriever
* **FollowIR** instruction following dataset
整體來看,Stage 1 是以「凍結 backbone + 多專用 LoRA 配置」打造多語言、多領域的基礎能力。
---
### 2. **Stage 2:Context & Hard Negative Mining(上下文擴張 + 全面硬負例挖掘)**
此階段大幅增加模型處理複雜資料的能力,包括:
#### (1) 上下文擴張(Context Extension)
包含兩種擴張方式:
##### 🔹 (a) 單篇文件長度擴展至 8,192 tokens
* 資料來源:**MLDR**(long-document retrieval dataset)
* 目的:讓模型更能理解超長篇章 → 有助於 BEIR、HotpotQA、多跳 reasoning
##### 🔹 (b) 增加 negative 數量:15 → 45 每個 query
* 在 **維持總序列長度 < 131K tokens** 的前提下實現
* 增加 ranking 的難度 → 強化模型 discriminative 能力
---
#### (2) 全面硬負例(hard negative)挖掘 + 多系統合作
利用多個 retrieval 系統進行跨系統 hard negative 挖掘:
* BGE 系列
* Jina
* GTE 系列
* E5-Large
每個 query **最多採樣 25 個 hard negatives**
使用「非常低的 temperature = 0.05」讓 hard negatives 的分佈更尖銳、對比更明顯。
### 使用的資料集:
* MS-MARCO
* mMARCO(多語言版)
* domain-specific synthetic QA pairs(人工生成 QA)
### 同時進行多領域強化(不同子模型):
| 子系統 | 功能 |
| -------------------- | -------------- |
| **jina-en-v2** | 強化英文 retrieval |
| **miracl-v2** | 多語言 retrieval |
| **cornstack-v2** | code retrieval |
| **context-chunk-v3** | 長文本 retrieval |
Stage 2 聚焦在「難負例 → 長文本 → 多語言 → 多系統 hard negative」的全面 robustification。
---
### 3. **Stage 3:Model Ensemble & Optimization(模型合併與最終優化)**
#### 目標:
把不同專精領域的模型整合成一個泛用但強力的 reranker。
### 合併方式(Linear model merging)
* 將 Stage 1 + Stage 2 訓練得到的多個專門模型:
* biomedical model
* instruction-following model
* multilingual model
* code retrieval model
* long-context model
... 等
* **以線性加權方式 merge**
### 模型權重範圍:
$$
\text{merge weight} \in [0.25,, 0.65]
$$
目的:
* 根據不同 domain 的重要性與效果調整其貢獻
* 保留多專精模型的長處
* 最後得到一個兼具多領域能力、效能高且泛化強的 reranker
---
### 4. **超參數演化(Hyperparameter evolution)**
作者特別指出三階段使用不同超參數策略,反映多目標最佳化需求。
---
#### Stage 1:Foundation(基礎階段)
* **學習率:5e-5(較 aggressive)**
* **負樣本數量:15 negatives**
快速建立多語言、多領域基礎能力
---
#### Stage 2:Context Scaling & Hard Negatives
* **batch size:60 → 6(原因:長文 8K token 太大)**
* **learning rate:6e-6(更保守)**
避免上下文變長後模型不穩定
---
### Loss Weight(依 domain 調整)
| Loss | 範圍或固定值 |
| --------------- | ----------- |
| dispersive loss | **0.45** |
| dual matching | 0.65 ~ 0.85 |
| similarity loss | 0.75 ~ 0.85 |
根據不同領域的資料特性動態調整
---
### 小結:三階段訓練策略的本質
**Stage 1:能力基底(多語言、多領域、多形式)**
→ LoRA + 凍結 backbone,以高效率建立 broad foundation
**Stage 2:難度提升(長文本 + 大量 hard negative + 多系統挖掘)**
→ 擴展 context、增加 negatives、全面強化模型辨識能力
**Stage 3:多專精整合(Linear merging)**
→ 把各領域強項合併成最終通用型模型
## Summary of Experimental Results
---
### 1. Overall:\model{} 在多項檢索任務中展現 SOTA 或接近 SOTA 的強勢表現

* 在 **BEIR(英文檢索)** 取得 **61.85 SOTA**
→ 打破所有既有 reranker 紀錄
→ 比前代模型提升 **+4.79**
* 在 **多語言 MIRACL** 中取得 **66.5**
→ 雖略低於多語專精模型,但跨語系穩定度高
* 在 **跨語言 MKQA** 取得 **67.92**
→ 接近 multilingual SOTA(68.19)
* 在 **Code Retrieval(CoIR)** 取得 **70.64**
→ 具備其他模型少有的 code-domain competence
---
### 2. English BEIR:全面領先、細項任務表現極強

* **HotpotQA(多跳推理)**:78.58
* **FEVER(事實驗證)**:94.01
* **Natural Questions**:74.28
* **ArguAna(argument retrieval)**:73.43
**原因:LBNL listwise interaction 能在 encoding 階段融合多文件訊息,是 bi-encoder / cross-encoder 做不到的。**
---
### 3. Multilingual:高語言穩定性 + 難語言特化能力

* MIRACL 平均:**66.50**
* 在高難度語言中表現亮眼:
* Thai:**81.06**
* Arabic:**78.69**
* Korean:**73.83**
特點:跨語族(Indo-European、Sino-Tibetan、Uralic…)**性能差異極小**。
顯示三階段訓練策略具備強跨語言泛化能力。
---
### 4. 模型大小 vs 效能:顯著的參數效率
與更大型模型比較:
| Model | Params | BEIR |
| ------------ | -------- | -------------- |
| mxbai-large | 1.5B | 61.44 |
| **\model{}** | **0.6B** | **61.85 (更高)** |
**使用 2.5× 更少參數 → 效能反而更好**
來源:
* LBNL shared forward-pass
* 512D ranking projector
* Qwen3 backbone 的強 contextualization
---
### 5. Document Ordering Robustness(文件順序魯棒性)
測試三種文件排列:
| Order | BEIR |
| ---------- | ------------- |
| Random | **62.24(最高)** |
| Descending | 61.85 |
| Ascending | 61.45 |
模型對文件輸入順序 **不敏感** → 表明 LBNL self-attention 能自動聚焦 relevant evidence。
---
### 6. Cross-Lingual QA(MKQA)
* \model{}:**67.92**
* Jina multilingual reranker:68.19
**僅落後 0.27**,但參數更小、架構更高效。
---
### **Final Conclusion(總結)**
**\model{} 透過 LBNL listwise interaction + 三階段訓練策略,達成:**
* **英文檢索 SOTA(BEIR)**
* **跨語言一致性高(MIRACL)**
* **跨語言 QA 競爭力(MKQA)**
* **高 code 檢索能力(CoIR)**
* **遠優於同尺寸模型,也能超越更大模型 1.5B(2.5× 參數效率)**
**是一個兼具效能、效率、跨領域能力的 next-gen reranker。**