paint-brush
ベクトル検索: リランカーアルゴリズムの対決@datastax
新しい歴史

ベクトル検索: リランカーアルゴリズムの対決

DataStax3m2024/11/26
Read on Terminal Reader

長すぎる; 読むには

リランカーは、検索結果のセットを取得し、関連性を高めるために並べ替える ML モデルです。私たちは 6 つのリランカーをテストしました。
featured image - ベクトル検索: リランカーアルゴリズムの対決
DataStax HackerNoon profile picture
0-item

ベクター検索は、検索拡張生成のための意味的類似性を効果的に提供しますが、短いキーワード検索やドメイン外の検索用語ではうまく機能しません。ベクター検索を BM25 などのキーワード検索で補完し、その結果を再ランク付け機能と組み合わせることが、両方の長所を活かす標準的な方法になりつつあります。


リランカーは、検索結果のセットを取得し、関連性を高めるために並べ替える ML モデルです。各候補結果とペアになっているクエリを詳細に調べます。計算コストはかかりますが、単純な検索方法だけの場合よりも正確な結果が生成されます。これは、単一の検索の 2 番目のステージとして実行できます (ベクトル検索から 100 件の結果を取り出し、リランカーに上位 10 件を特定するよう依頼する)。または、より一般的には、異なる種類の検索 (この場合はベクトル検索とキーワード検索) の結果を組み合わせるために実行できます。


しかし、既製のリランカーはどれほど優れているのでしょうか?それを知るために、私は6つのリランカーを以下のテキストでテストしました。 ViDoReベンチマーク、Gemini Flashを使用して画像からテキストを抽出しました。データセットの詳細については、コルパリ紙特に、TabFQuAD と Shift Project のソースはフランス語ですが、残りは英語です。


私たちは以下のリランカーをテストしました:

  • 相互ランク融合(RRF) は、クエリやドキュメントに関する情報を一切持たずに複数のソースからの結果を組み合わせるための式です。各ソース内の相対的な順序のみに依存します。RRF は、Elastic や LlamaIndex などのプロジェクトで使用されています。




  • 航海再ランク2そして、新しくリリースされたrerank-2-lite( 9月) を信頼できる会社が提供しています。


再ランク付け者には DPR と BM25 の両方から上位 20 件の結果が与えられ、再ランク付けされた NDCG@5 が評価されました。


結果では、生のベクトル検索 (bge-m3 モデルからの埋め込みを使用) は dpr (高密度パッセージ検索) とラベル付けされています。ColPali の著者がベースラインとして使用したため、埋め込みを計算するために BGE-m3 が選択されました。


関連性に関するデータは次のとおりです (NDCG@5):

そして、arxivデータセットでの検索の再ランク付けの速さはこうです。レイテンシは文書の長さに比例します。これはレイテンシをグラフ化したものなので、低いほど良いです。セルフホスト型bgeモデルは、NVIDIA 3090で実行されました。ハグフェイスモデルカード

最後に、6 つのデータセットすべてからほぼ 3,000 件の検索を再ランク付けするのに各モデルでかかった費用を示します。Cohere は検索ごとに料金を請求し (長いドキュメントには追加料金がかかります)、他のモデルはトークンごとに料金を請求します。

分析

  • すべてのモデルは、英語のデータセットと同様に、フランス語のデータセットでもほぼ同じように機能します。


  • Cohereは他のMLリランカーよりもかなり高価で、関連性もわずかに(しかし一貫して)劣りますが、次に速いサービスよりも3倍高速です。さらに、 Cohereの標準レート制限最も寛大です。


  • Voyage rerank-2 は、すべてのデータセットで関連性を再ランク付けする王様であり、レイテンシにさらなる打撃を与えます。特に、これは、特に扱いにくいと思われる arxiv データセットで DPR 単独よりも悪くない唯一のモデルです。


  • Voyage rerank-2-liteとjina reranker v2は非常によく似ています。速度は同じで、同じ価格でホストされており、関連性もほぼ同じです(Voyageの方がわずかに優れています)。しかしVoyageの標準レート制限ダブルジーナの、そしてVoyageでは「本物の」 Pythonクライアント生の HTTP リクエストを行う必要がなくなります。


  • BGE-reranker-v2-m3 は非常に軽量なモデル (600M パラメータ未満) なので、古いコンシューマー GPU でも十分に高速です。

結論

RRF はハイブリッド検索シナリオにほとんど価値を追加しません。データセットの半分では、BM25 または DPR 単独よりもパフォーマンスが悪かったです。対照的に、テストされたすべての ML ベースの再ランク付けツールは、純粋なベクトル検索またはキーワード検索よりも有意な改善をもたらし、Voyage rerank-2 が関連性の基準を設定しました。


トレードオフは依然として存在します。Voyage rerank-2 の優れた精度、Cohere の高速処理、Jina または Voyage のライト モデルによる安定した中間のパフォーマンスなどです。オープンソースの BGE リランカーでさえ、商用オプションには劣るものの、セルフホストを選択するチームにとって大きな価値をもたらします。


基盤モデルが進化し続けるにつれて、さらに優れたパフォーマンスが期待できます。しかし、今日の ML リランカーは、多言語コンテンツ全体に自信を持って展開できるほど十分に成熟しています。



ジョナサン・エリス、DataStax