解説
一度検索して見つかった大量の文書候補を、AIが一つずつ吟味し、本当に質問の答えにふさわしい順に並び替える技術のことです。
さらに詳しく解説
再ランキング(Re-ranking)は、検索やRAGで取得した候補文書を、より高精度なモデルで並び替える二段階検索の後段処理です。「広く拾う初段検索」と「精密に並び替える後段」を組み合わせることで、速度と精度を両立させます。
二段階検索のイメージ
クエリ
↓
初段検索(速い・粗い)→ 上位50〜100件を抽出
↓
再ランキング(遅い・精密)→ 上位3〜10件に絞り込み
↓
LLMへ投入初段は埋め込みモデルによるベクトル検索やキーワード検索(BM25等)が一般的で、後段はクロスエンコーダやLLMが担当します。
なぜ二段階か
| 観点 | 初段検索 | 再ランキング |
|---|---|---|
| 速度 | 速い | 遅い |
| 精度 | やや粗い | 高精度 |
| 計算コスト | 低い | 高い |
| 扱える件数 | 数百万件以上 | 数十〜100件程度 |
全文書に高精度モデルを適用するのは計算コストが見合わないため、初段で粗く絞り込み、後段で精密にする設計が現実的です。
主な再ランキング手法
1. クロスエンコーダ
クエリと文書を同時に入力して関連度を計算するTransformerモデル。代表例:
- Cohere Rerank
- bge-reranker(オープンソース)
- MS-MARCO 系で訓練されたモデル
2. LLMによる再ランキング
LLMに各文書を順位付けさせる方法。柔軟性は高いがコスト大。
3. 学習済みランキングモデル
業務固有のクリック・ユーザー行動データで学習した独自モデル。
RAGでの効果
再ランキングを入れることで、以下の改善が期待できます。
実務での設計ポイント
- 初段の取り過ぎに注意:30〜100件が現実的なバランス
- コスト試算:再ランキングAPI料金が積み上がりやすい
- キャッシュ活用:同じクエリの結果はキャッシュで節約
- 評価セットでの検証:再ランキング有無で精度を必ず測定
代表的なサービス
- Cohere Rerank:API型、商用RAGの定番
- Voyage Rerank:高精度な再ランキングAPI
- Jina Reranker:オープン+商用提供
- bge-reranker / ms-marco:オープンソースで自前運用可能
再ランキングは「検索の最後の磨き上げ」であり、本格的なRAGシステムでLLM回答品質を引き上げる最もコスパの良い施策の1つです。
