メインコンテンツまでスキップ
バージョン: User Guides (Cloud)

リコール率を調整
Public Preview

Zilliz Cloudは、ユーザーが検索の再現率とパフォーマンスをバランスさせるための検索パラメータlevelを導入しています。また、現在の検索の推定再現率をユーザーに提供するために、別の検索パラメータであるenable_recall_estimationも提供しています。これら2つのパラメータを組み合わせて、ベクトル検索の再現率を調整することができます。

📘ノート

この機能はパブリックプレビューであり、Milvus v 2.5.4以降またはMilvus v 2.4.14以降と互換性のあるクラスターを使用する必要があります。

この機能は、次のバージョンのAPIおよびSDKと互換性があります。

  • Python:バージョン2.5.4とバージョン2.4.1 4

  • Java: v 2.5.3およびv 2.4.10

  • Node. js:v 2.5.2とv 2.4.10

  • RESTful:バージョン2.5.4

概要について

Zilliz Cloudのリコール率は、通常、検索によって正常に取得された関連する結果の割合を指します。これは、システムがコレクションからすべての関連アイテムを回復する能力を測定します。

EcvqbDaXpoQ5BUxRfL0cyzk9ntc

検索のリコール率を計算するには、取得された関連アイテムの数を取得すべき該当アイテムの総数で割ることができます。たとえば、検索が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
}
}
)

パラメータのレベル1から10の範囲で、デフォルトは1です。デフォルト値では、ほとんどのユースケースで十分な90%のリコール率が得られます。

高いリコール率(**99%**以上)が必要なシナリオでは、levelパラメータを6から10の整数に設定してみてください。検索効率に問題がない場合は、このパラメータを10に設定して、最も正確な結果を得ることができます。

📘ノート

最上位レベルの設定でも十分でない場合は、Zilliz Cloudサポートにお問い合わせください。

リコール率を調整する

Zilliz Cloudは、チューニング過程を容易にするために、enable_recall_estimationという別の検索パラメータも導入しています。このパラメータを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:

  1. ユーザー定義の値に設定されたlevelパラメータで検索します

  2. 内部高精度モードで別の検索を実行します。

  3. リコール率を推定するために、2番目の検索をグラウンドトゥルースとして使用してください。

enable_recall_estimationTrueに設定すると、levelパラメータの値を調整して複数のリコール率を得ることができます。これらの推定値と各検索の期間を考慮することで、適切なレベル設定をおおよそ推定することができます。

限界

現在、この機能は基本ベクトル検索、フィルター検索、範囲検索のZilliz Cloudクラスターでのみ利用可能です。