ベクトル検索の概要

この機能に関するフィードバックを提供したり、サポートをリクエストしたりするには、bq-vector-search@google.com までメールをお送りください。

このドキュメントでは、BigQuery でのベクトル検索の概要について説明します。ベクトル検索を使用すると、エンベディングを検索して、意味的に類似したエンティティを識別できます。

エンベディングは、テキストや音声ファイルなど、特定のエンティティを表す高次元の数値ベクトルです。機械学習(ML)モデルは、エンベディングを使用してエンティティに関するセマンティクスをエンコードし、エンティティについての推論と比較を容易にします。たとえば、クラスタリング モデル、分類モデル、レコメンデーション モデルでの一般的な操作は、エンベディング空間内のベクトル間の距離を測定し、意味的に最も類似したアイテムを見つけることです。

ベクトル検索を実行するには、VECTOR_SEARCH 関数を使用します。また、必要に応じてベクトル インデックスを使用します。ベクトル インデックスを使用する場合、VECTOR_SEARCH近似最近傍検索の手法を使用して、ベクトル検索のパフォーマンスを向上させますが、再現率が低下するため、より近似的な結果が返されます。ブルート フォースを使用すると、ベクトル インデックスが使用できない場合に正確な結果が返されます。ベクトル インデックスが利用可能な場合でも、ブルート フォースを使って正確な結果を得ることができます。

料金

CREATE VECTOR INDEX ステートメントVECTOR_SEARCH 関数では、BigQuery コンピューティングの料金が使用されます。CREATE VECTOR INDEX ステートメントの場合、処理されたバイト数でインデックス付きの列のみが考慮されます。

組織内のインデックス付きテーブルデータの合計サイズが 20 TB の上限を下回っている場合、ベクトル インデックスの作成と更新に必要な処理は無料です。この上限を超えるインデックス登録をサポートするには、インデックス管理ジョブ用に独自の予約を指定する必要があります。検索インデックスがアクティブな場合、ストレージの費用が発生します。インデックスのストレージ サイズは INFORMATION_SCHEMA.VECTOR_INDEXES ビューで確認できます。検索インデックスのカバレッジが 100% でない場合にも、INFORMATION_SCHEMA.VECTOR_INDEXES ビューで報告されるすべてのインデックス ストレージに対して費用が発生します。

割り当てと上限

詳細については、ベクトル インデックスの上限をご覧ください。

制限事項

  • VECTOR_SEARCH 関数を含むクエリは、BigQuery BI Engine によって高速化されません。
  • VECTOR_SEARCH の使用には、BigQuery のデータ セキュリティとガバナンスのルールが適用されます。詳細については、VECTOR_SEARCH制限事項をご覧ください。これらのルールは、ベクトル インデックスの生成には適用されません。

次のステップ