リコール率の調整
Zilliz Cloud では、検索パラメータ level を導入し、ユーザーが検索のリコール率とパフォーマンスのバランスを取れるようにしています。また、別の検索パラメータ enable_recall_calculation も提供しており、現在の検索における推定リコール率をユーザーに提示します。これらの2つのパラメータを組み合わせることで、ベクトル検索のリコール率を調整できます。
これは、基本的なベクトル検索、フィルター検索、範囲検索、グループ化検索单、ハイブリッド検索、および検索イテレータを含むすべての検索に適用されます。
概要
Zilliz Cloud におけるリコール率とは、通常、検索によって正常に取得された関連結果の割合を指します。これは、コレクションからすべての関連アイテムをシステムがどれだけ回収できるかを測定する指標です。

検索のリコール率を計算するには、取得された関連アイテム数を取得すべき関連アイテム総数で割ります。例えば、100個の関連アイテムのうち90個が検索で取得された場合、リコール率は 0.9 または 90% となります。
高いリコール率は通常、より正確な検索結果を示しますが、その分処理時間が長くなる可能性があります。ベクトル検索の精度と効率のバランスを取るために、リコール率を調整したい場合があるでしょう。
検索リクエストの設定
調整可能なリコール率を持つ検索リクエストを設定するには、以下のように検索パラメータ内に level パラメータを含める必要があります:
query_vector = [0.3580376395471989, ..., 0.9029438446296592],
res = client.search(
collection_name="quick_setup",
data=[query_vector],
limit=3, # The number of results to return
search_params={
"params": {
"level": 1 # The precision control
}
}
)
level パラメータは 1 から 10 の範囲で設定でき、デフォルト値は 1 です。このデフォルト値ではリコール率が 90% となり、ほとんどのユースケースで十分です。
リコール率を高くする必要がある場合(99% 以上)、level パラメータを 6 から 10 の間の整数に設定してみてください。検索効率を考慮しないのであれば、このパラメータを 10 に設定することで最も精度の高い結果を得られます。
最上位レベルの設定でも要件を満たせない場合は、Zilliz Cloud サポートまでお問い合わせください。
リコール率の調整
Zilliz Cloud では、調整プロセスを支援するために enable_recall_calculation という別の検索パラメータも導入されています。このパラメータを True に設定すると、Zilliz Cloud は現在の検索に対するリコール率を推定し、その推定値を検索結果とともに返します。
query_vector = [0.3580376395471989, ..., 0.9029438446296592],
res = client.search(
collection_name="quick_setup",
data=[query_vector],
limit=3, # The number of results to return
search_params={
"params": {
"level": 6 # The precision control
"enable_recall_calculation": True # Ask for recall rate calculation
}
}
)
上記の検索リクエストを使用すると、現在の検索の推定リコール率を次のように取得できます。
# data: [...], recalls: [0.98]
推定プロセス中に、Zilliz Cloud は以下の処理を実行します。
- ユーザーが定義した値に設定された
levelパラメータを使用して検索を実行し、 - 内部の高精度モードで別の検索を実行します。
- 2 番目の検索結果を正解(ground truth)として使用し、リコール率を推定します。
enable_recall_calculation を True に設定すると、level パラメータの値を調整して複数のリコール率を取得できます。これらの推定値と各検索の所要時間を考慮することで、適切な level 設定を概算できます。
enable_recall_calculation を有効にすると検索パフォーマンスに影響を与える可能性があるため、本番環境での使用は推奨されません。
制限
現在、この機能は Zilliz Cloud クラスターにおける基本的なベクトル検索、フィルター検索、および範囲検索でのみ利用可能です。