ベクター検索は、検索拡張生成のための意味的類似性を効果的に提供しますが、短いキーワード検索やドメイン外の検索用語ではうまく機能しません。ベクター検索を BM25 などのキーワード検索で補完し、その結果を再ランク付け機能と組み合わせることが、両方の長所を活かす標準的な方法になりつつあります。
リランカーは、検索結果のセットを取得し、関連性を高めるために並べ替える ML モデルです。各候補結果とペアになっているクエリを詳細に調べます。計算コストはかかりますが、単純な検索方法だけの場合よりも正確な結果が生成されます。これは、単一の検索の 2 番目のステージとして実行できます (ベクトル検索から 100 件の結果を取り出し、リランカーに上位 10 件を特定するよう依頼する)。または、より一般的には、異なる種類の検索 (この場合はベクトル検索とキーワード検索) の結果を組み合わせるために実行できます。
しかし、既製のリランカーはどれほど優れているのでしょうか?それを知るために、私は6つのリランカーを以下のテキストでテストしました。
私たちは以下のリランカーをテストしました:
再ランク付け者には DPR と BM25 の両方から上位 20 件の結果が与えられ、再ランク付けされた NDCG@5 が評価されました。
結果では、生のベクトル検索 (bge-m3 モデルからの埋め込みを使用) は dpr (高密度パッセージ検索) とラベル付けされています。ColPali の著者がベースラインとして使用したため、埋め込みを計算するために BGE-m3 が選択されました。
関連性に関するデータは次のとおりです (NDCG@5):
そして、arxivデータセットでの検索の再ランク付けの速さはこうです。レイテンシは文書の長さに比例します。これはレイテンシをグラフ化したものなので、低いほど良いです。セルフホスト型bgeモデルは、NVIDIA 3090で実行されました。
最後に、6 つのデータセットすべてからほぼ 3,000 件の検索を再ランク付けするのに各モデルでかかった費用を示します。Cohere は検索ごとに料金を請求し (長いドキュメントには追加料金がかかります)、他のモデルはトークンごとに料金を請求します。
RRF はハイブリッド検索シナリオにほとんど価値を追加しません。データセットの半分では、BM25 または DPR 単独よりもパフォーマンスが悪かったです。対照的に、テストされたすべての ML ベースの再ランク付けツールは、純粋なベクトル検索またはキーワード検索よりも有意な改善をもたらし、Voyage rerank-2 が関連性の基準を設定しました。
トレードオフは依然として存在します。Voyage rerank-2 の優れた精度、Cohere の高速処理、Jina または Voyage のライト モデルによる安定した中間のパフォーマンスなどです。オープンソースの BGE リランカーでさえ、商用オプションには劣るものの、セルフホストを選択するチームにとって大きな価値をもたらします。
基盤モデルが進化し続けるにつれて、さらに優れたパフォーマンスが期待できます。しかし、今日の ML リランカーは、多言語コンテンツ全体に自信を持って展開できるほど十分に成熟しています。
ジョナサン・エリス、DataStax