重排序

Re-ranking

檢索後的二次精準篩選

詳細解釋

重排序(Re-Ranking)是在初步檢索後,用更精確的模型對候選結果重新排序的技術,提升檢索增強生成 (RAG)的檢索質量,平衡效率和精度。

兩階段檢索:

  • 第一階段(召回):
  • 快速檢索大量候選(如top-100)
  • 使用高效索引(HNSW等)
  • 犧牲精度換取速度
  • 第二階段(精排):
  • 對候選用精確模型重排
  • 選出最終top-k(如top-5)
  • 提高最終結果質量

重排序模型:

  • 交叉編碼器(Cross-Encoder):
  • 將查詢和文檔一起輸入模型
  • 計算相關性分數
  • 精度高但計算慢
  • 雙編碼器改進:
  • 更強的embedding模型
  • 微調於特定領域

常見模型:

  • Cohere Rerank:專用重排序API
  • BGE Reranker:開源重排序模型
  • Cross-Encoder MSMARCO:標準實現
  • ColBERT:late interaction高效重排

優勢:

  • 精度提升:顯著提高檢索準確性
  • 效率平衡:不對全庫精排
  • 靈活:可選擇不同精排模型
  • 可解釋:提供相關性分數

應用場景:

  • 檢索增強生成 (RAG):提升文檔檢索質量
  • 搜尋引擎:結果精排
  • 推薦系統:候選精排
  • 電商搜索:商品排序

實現策略:

  • 級聯:多個精排階段(由粗到精)
  • 動態:根據查詢複雜度決定是否重排
  • 預算控制:限制重排序候選數

評估:

  • MRR(Mean Reciprocal Rank):首位相關性
  • NDCG:考慮排序位置
  • 延遲:重排序增加的時間

重排序是高質量檢索系統的標準組件。

探索更多AI詞彙

查看所有分類,繼續學習AI知識