(2024/7/25) 有新增內容 LLM-based Ranker 在最後
接續上一篇 Embedding 模型評測,這次我們來看看搭配 Reranker (重排)模型,做成二階段檢索會是什麼情況。
圖片出處: Boosting Your Search and RAG with Voyage’s Rerankers
什麼是二階段檢索?
Reranker 模型是另一種不一樣的模型(學名叫做 Cross-Encoder),不同於 embedding 模型(學名叫做 Bi-Encoder) 輸入是文字,輸出是高維度向量。Reranker 模型的輸入是兩段文字,輸出一個相關性分數 0 到 1 之間,也就是我們會將用戶 query 跟每一份文件都去算相關性分數,然後根據分數排序。
Reranker 的執行速度較慢,成本較高,但在判斷相關性上面,比 embedding 模型更準確
因此當資料非常多、想要快又要準時,跟 embeddings 模型搭配,做成兩階段檢索,是前人做推薦引擎時就發明的招式。
- 第一階段: 從上萬上億筆資料中,用 Embedding 向量相似性,搜尋出前數十名到數百筆
- 第二階段: 從數十到幾百筆資料中,用 Reranker 進行精細的相關性排序