リコール率を調整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のリコール率は、通常、検索によって正常に取得された関連する結果の割合を指します。これは、システムがコレクションからすべての関連アイテムを回復する能力を測定します。
検索のリコール率を計算するには、取得された関連アイテムの数を取得すべき該当アイテムの総数で割ることができます。たとえば、検索が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:
-
ユーザー定義の値に設定された
level
パラメータで検索します -
内部高精度モードで別の検索を実行します。
-
リコール率を推定するために、2番目の検索をグラウンドトゥルースとして使用してください。
enable_recall_estimation
をTrue
に設定すると、level
パラメータの値を調整して複数のリコール率を得ることができます。これらの推定値と各検索の期間を考慮することで、適切なレベル設定をおおよそ推定することができます。
限界
現在、この機能は基本ベクトル検索、フィルター検索、範囲検索のZilliz Cloudクラスターでのみ利用可能です。