Google CloudはMemorystore for ValkeyとRedis Clusterにスケーラブルなベクトル検索機能を導入した。このアップデートにより、開発者は何十億ものベクトルに対して超低レイテンシーでベクトル検索を実行できるようになる。
この機能強化は、検索拡張生成(RAG)、レコメンデーションシステム、セマンティック検索など、生成AIに依存するアプリケーションに特に有益である。
今回のアップデートでは、クラスタ内のノード間でベクトルインデックスをパーティション化する機能を活用している。各ノードには、キー空間の一部に対応するインデックスのパーティションが含まれ、クラスタが数十億のベクトルを扱いながら、単桁ミリ秒のレイテンシーと99%以上のリコールを維持できる。このアーキテクチャは、ノードの追加に伴ってインデックス構築時間をリニアに高速化するだけでなく、検索性能も最適化する。HNSW(hierarchical navigable small-world)検索では対数的に、ブルートフォース検索に対しては線形的に最適化される。
開発者は、これらの新しい能力を使用して、クラスタを250シャードまでスケールアウトし、単一のインスタンスに数十億のベクトルを保存できる。このスケーラビリティは、膨大なデータセットに対してセマンティック検索を実行する必要があるエンタープライズアプリケーションにとって不可欠である。
スケーラビリティに加えて、今回のアップデートではハイブリッドクエリのサポートも導入された。ハイブリッドクエリによって、開発者はベクトル検索と数値フィールドやタグフィールドのフィルタを組み合わせることができる。この機能は、特定の条件に基づいて検索結果を微調整する際に特に役立つ。例えば、オンラインの衣料品小売業者は、ハイブリッド検索を使用して、衣料品の種類と価格帯に基づいて結果をフィルタリングしながら、類似したアイテムを推薦することができる。
ハイブリッドクエリを実装するには、開発者はフィルタリング用の追加フィールドを持つ新しいベクトルインデックスを作成できる。
FT.CREATE inventory_index SCHEMA embedding VECTOR HNSW 6 DIM 128 TYPE FLOAT32 DISTANCE_METRIC L2 clothing_type TAG clothing_price_usd NUMERIC
これは、インデックス 'inventory_index' を作成するもので、衣類のセマンティックエンベッディングを表すベクトルフィールド 'embedding'、衣類のタイプを表すタグフィールド 'clothing_type'(例えば、「ドレス」や「帽子」)、衣類の価格を表す数値フィールド*'clothing_price_usd'*を持つ。
'inventory_index' に対してハイブリッドクエリを実行する:
FT.SEARCH inventory_index “(@clothing_type:{dress} @clothing_price_usd:[100-200])=>[KNN 10 @embedding $query_vector]“ PARAMS 2 query_vector “...” DIALECT 2
このクエリは、服のタイプ「ドレス」と100-200の価格帯でフィルタリングされた10件の結果を、ベクトル類似性検索と組み合わせて検索した。
コミュニティメンバーの中には、Redisのベクトル検索がまだ組織内に導入されていない場合、この技術を採用することに注意を促している者もいる。例えば、Redditのmarr75はこう述べている。
しかし、より良いアドバイスは、おそらく支配的なデータ永続化とクエリー技術に固執することでしょう。それがRediSearchであれば、それにこだわることです。RediSearchがそうでないなら、ベクトル検索のサポートは問題ありませんが、クラス最高または最先端のものではないため、それを選択しないでください。
Google Cloudは、Valkey key-value データストアにベクトル検索機能を提供することで、オープンソースコミュニティにも貢献している。この取り組みは、Valkeyの開発者がベクトル検索を活用して高度なジェネレーティブAIアプリケーションを作成できるようにすることを目的としている。
最近のGoogle社の発表ブログで、SanjMoの主席アナリストで元Gartner副社長のSanjeev Mohan氏は、Google社の貢献についての見解を語った。
Valkeyは、機能豊富なオープンソースの代替データベースを提供するコミュニティ主導の取り組みを継続的に進める上で重要です。MemorystoreにおけるValkeyのサポート開始は、ユーザーに真にオープンでアクセスしやすいソリューションを提供するというGoogle社の献身を示す新たな例です。Valkeyへの貢献は、柔軟性を求める開発者に利益をもたらすだけでなく、より広範なオープンソースのエコシステムを強化します。
迅速で正確なベクトル検索は、顧客の嗜好を理解し、オーダーメイドのレコメンデーションを提供することが有益となるeコマースなどの業界において重要である。