密ベクトル検索に関する質問

(The bot translated the original post https://lists.apache.org/thread/p2bj254qppx55wtv086wbf2qz9wf7tyo into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
こんにちは。
私は Solr 9.8 のベクトル検索を使って、テキスト断片に対応するベクトルを検索しています。
そのために「knn Query Parser」を使用しています。これまでは「Top-K」を 1000 に設定しており、パフォーマンスと関連性のバランスが自分にはちょうど良いように思えていました。
しかし現在、ベクトル数が 100 万を超え、レイテンシが非常に高くなってきました(10 秒以上)。そこで「Top-K」を下げ始めました(実際には 1000 件もの結果は必要ありません)。
確かに「Top-K」を下げることで応答時間は大幅に改善されましたが、関連性が下がってしまいました。非常に良い回答が「Top-K」を下げた場合には返されなくなってしまいます。
この種の「トレードオフ」は HNSW アルゴリズムの本質に内在するものだと理解しています。ただし「hnswMaxConnections」と「hnswBeamWidth」パラメータの役割を試してみたいと思っています。これらが関連性と性能のバランス改善に役立つかどうか確認したいのです。
これらのパラメータはインデックス作成時に関与するのでしょうか?検索時でしょうか?それとも両方でしょうか?テストのたびに全てのベクトルを再インデックスする必要があるのかを知りたいのです。
もしそうでなければ、性能改善に最も影響する要因は何でしょうか?Solr コア自体はあまりメモリを消費していないように思えます。HNSW アルゴリズム(またはベクトル関連キャッシュ)により多くのメモリを割り当てることは可能でしょうか?
ご検討いただきありがとうございます。
Guillaume
トピックへ返信するには、ログインが必要です。