論文:Improving Passage Retrieval with Zero-Shot Question Generation
????
EMNLP 2022, arXiv:2204.07496
Code: github.com/DevSinghSachan/unsupervised-passage-reranking
論文:Open-source Large Language Models are Strong Zero-shot Query Likelihood Models for Document Ranking
????
EMNLP 2023, arXiv:2310.13243
Code: github.com/ielab/llm-qlm
一、UPR 論文速讀
關于 Improving Passage Retrieval with Zero-Shot Question Generation 這篇論文
論文提出了一個基于 LLM 的 re-ranker:UPR(Unsupervised Passage Re-ranker),它不需要任何標注數據用于訓練,只需要一個通用的 PLM(pretrained LM),并且可以用在多種類型的檢索思路上。
給定一個 corpus 包含所有的 evidence documents,給定一個 question,由 Retriever 來從 corpus 中檢索出 top-K passages,re-ranker 的任務就是把這 K 個 passages 做重新排序,期待重排后再交給 LLM 做 RAG 能提升效果。

本論文的工作中,使用 LLM 來為每一個 passage 計算一個 relevance score,然后按照 relevance scores 來對這些 passages 做排序。passages z i z_i zi? 的 relevance score 的計算方式是:以 passage z i z_i zi? 為條件,計算 LLM 生成 question q q q 的 log-likelihood log ? p ( q ∣ z i ) \log p(q|z_i) logp(q∣zi?):

關于為什么使用 p ( q ∣ z ) p(q|z) p(q∣z) 來計算 relevance score 而非用 p ( z ∣ q ) p(z|q) p(z∣q),原因在于在假設 log ? p ( z i ) \log p(z_i) logp(zi?) 是都一樣的話,按照 Bayes 公式來算的話, p ( q ∣ z ) p(q|z) p(q∣z) 與 p ( z ∣ q ) p(z|q) p(z∣q) 呈正相關的關系。此外,使用 p(q|z) 允許模型利用交叉注意力機制(cross-attention)在問題和段落之間建立聯系。而且實驗發現使用 p ( q ∣ z ) p(q|z) p(q∣z) 效果更好。
![]()
其實從感性上想一想,也是通過 prompt 讓 LLM 去計算 p ( q ∣ z ) p(q|z) p(q∣z) 來建模 question 和 passage 更合理。
二、開源 LLM 本身就是強 zero-shot 的 QLM re-ranker
QLM(Query Likelihood Model) 是指,通過計算特定 question 下 document 的概率來理解 docs 和 queries 的語義關系。QLM re-ranker 就是借助這個概率得出相關性分數從而做出排名,進而實現 re-rank。前面介紹的 UPR 就是一種 QLM re-ranker。
在前面介紹的 UPR 中,使用了 T0 LLM 模型作為 QLM 從而實現了有效的 re-rank,但是由于 T0 在許多 QG(Question Generation) 數據集上做了微調,所以該工作不能完全反映通用的 zero-shot 的 QLM ranking 場景。
本工作研究了使用 LLaMA 和 Falcon 這兩個 decoder-only 的模型作為 QLM 來做 re-rank 任務的表現,這兩個 LLM 都沒有在 QG 數據集上做訓練。
2.1 多種 QLM re-ranker
本文工作設計了多種 QLM re-ranker,下面分別做一個介紹。
1)Zero-shot QLM re-ranker
類似于前面 UPR 的做法,借助于 QLM 計算出一個 relevance score,計算方法也一樣(以 retrieved doc 為條件的 question 的概率):

2)BM25 插值的 re-ranker
除了使用 QLM 計算出來的分數 S Q L M S_{QLM} SQLM?,還融入第一階段的檢索器 BM25 給出的相關性分數,兩者通過權重共同計算最終的 relevance score:

3)Few-shot QLM re-ranker
在前面 zero-shot 的基礎上,使用 LLM 時,設計一個 prompt template 并加入一些 few-shot exemplars。
2.2 實驗
論文詳細介紹了多個實驗,感興趣可以參考原論文,這里列出幾個結論:
- 在 QG 數據集(NS NARCO 數據集)上微調的 retriever 和 re-ranker 在所有數據集上表現都由于 zero-shot 的 retriever 和 QLM re-ranker,這是意料之中的,因為這些方法會受益于大量人工判斷的 QA 訓練數據,其知識可以有效地遷移到測試數據集中。
- zero-shot 的 QLM 和經過 QG 指令微調的 QLM 表現出相似的競爭力,這一發現時令人驚訝的,這說明 pretrained-only 的 LLM 就具有強大的 zero-shot QLM 排名的能力。
- 如果 QG 任務沒有出現在指令微調的數據中,那么指令微調反而會阻礙 LLM 的 QLM re-rank 能力。猜測原因在于,指令微調的模型往往更關注任務指令,而較少關注輸入內容本身,但是評估 Query Likelihood 的最重要信息都在文檔內容中,所以指令調優不利用 LLM 的 Query Likelihood 的估計。
- BM25 插值策略的改進究竟有沒有用,取決于具體的 LLM 模型。
2.3 一個有效的 ranking pipeline
這篇論文工作(原文 4.3 節)還提出了一個有效的 ranking pipeline。
在第一階段的 retriever 中,將 BM25 和 HyDE 結合作為 zero-shot first-stage hybird retriever,然后再使用 QLM 做 re-rank。
經過實驗發現,這種方法可以與當前 SOTA 模型表現相當,重要的這種方法不需要任何訓練。
總結
這兩篇論文給了我們使用 LLM 來做 QLM re-rank 的思路,展現了通用的 LLM 本身具備強大的 QLM re-rank 的能力。