複数のインデックスセグメントを同時にクエリすると、ベクトル検索のランキングが変わるのはなぜですか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

ベクトルの順位は複数のセグメント間で変わることがあります。これは、近似候補の検索がグローバルな top-k マージの前に個別に行われ、不完全な結果セット同士を比較するためです。

プライベートインデックスでは、大きな基盤セグメントに加えて、最近のドキュメント更新用に小さなセグメントを保持することがあります。クエリは各構造に対して実行され、限られた数の候補を収集してスコアをマージします。セグメントのサイズ、グラフやパーティションの品質、検索予算、削除済みレコード、スコアの正規化、更新の分布によって、どの近傍が残るかが決まります。すべてのベクトルが同じ埋め込みモデルを使用している場合でも同様です。

各セグメントは局所的に不完全な候補セットを生成する

近似最近傍検索では、インデックスの一部だけを探索します。コーパスが分割されている場合、各セグメントには独自のビーム幅、プローブ数、または top-k 制限が適用され、グローバルマージが順位付けできるのは、これらの局所検索から返された候補だけです。

マルチレベルベクトル検索は、階層型グラフインデックスとログ構造化レベルを組み合わせ、動的なベクトル更新に対応します。この設計は、セグメント化されたストレージを1回の正確な距離スキャンとして扱うのではなく、ベクトルが各レベルのどこに存在するかを検索戦略で考慮する必要があることを示しています。

小さな最近のセグメントは予約済みの割り当て量を持つため、質の低い候補しか返さないことがあります。一方、大きな基盤セグメントは、局所的な検索予算が狭すぎるために真の近傍を除外することがあります。最終的な top-k を増やしても、どのセグメントからも提示されなかった項目を復元することはできません。

パーティションの品質と鮮度はセグメントごとに異なる

古いセグメントには十分に最適化されたグラフやクラスタがある一方、新しいセグメントには、異なるデータ分布のもとで蓄積された挿入や削除マーカーが含まれます。そのため、スコアがグローバルマージに到達する前から、再現率、走査コスト、候補密度が異なる可能性があります。

ストリーミンググラフ更新は、高い再現率を維持しながらリアルタイムのグラフ更新を行い、定期的な全体再構築を回避します。この研究は、動的ベクトル検索では、静的なグラフが常に代表性を保つと仮定するのではなく、明示的な更新ルールが必要である理由を示しています。

重複したドキュメントのバージョンが異なるセグメントに存在し、top-k 内で競合することもあります。ANN 検索後にバージョンフィルターを適用すると、局所的な候補枠を無駄に消費します。アクティブバージョンや権限の制約を候補生成に組み込むことで、この見えにくい順位競争を軽減できます。

グローバルなスコアマージでは、欠落した証拠や比較不能な証拠を修正できない

コサイン、内積、距離の値は、ベクトルと正規化が一致している場合にのみ数学的に比較可能です。量子化、セグメント固有の変換、一貫性のないスコア変換があると、同じように見える数値が異なる近似誤差を表すことがあります。この違いは、後の家庭環境でのテストでも確認できます。

局所パーティションの再平衡化は、データの変化に応じて高コストなグローバル再構築を行う代わりに、局所的なパーティション再平衡化を実施します。その評価では、再構築を中心とする方式における検索レイテンシと精度の変動が報告されており、統合ポリシーが観測可能な順位挙動を変える理由が示されています。自動化を進める前に、中間結果を確認できる状態にしておく必要があります。

失敗の境界は、近いスコアの項目同士で決定的な順序を期待することです。浮動小数点カーネル、同時更新、近似走査によって、1つのセグメント内でもスコアがほぼ同じ近傍の順序が入れ替わることがあります。再現率、証拠の品質、またはバージョンの正確性が定義済みの許容範囲を超えた場合にのみ、順位の変化を不具合として扱ってください。

統合前にセグメントの寄与を測定する

正確な最近傍と関連ドキュメントの判定結果を含む、固定されたクエリセットを作成します。各セグメントを単独および全体で実行し、局所的な top-k、グラフのビーム幅、プローブ、削除フィルター、新しいベクトルの割合を変化させます。

結果を統合後の近傍におけるコンパクション後の挙動と比較します。最終候補に各セグメントがどの候補を提供したか、局所順位、未加工の距離、正規化スコア、後段でフィルターされた候補、グローバル再現率、順位相関、レイテンシ、バージョンの正確性を記録します。この境界は、現実的な運用条件のもとで個別に測定する必要があります。

関連する近傍の取りこぼしがコストを正当化する場合にのみ、局所的な検索予算を増やします。セグメント間で埋め込みやスコア変換に互換性がない場合は、再構築するか分離してください。候補生成後にグローバルマージを行っても、壊れた表現を補正することはできません。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.