ベクトルデータベース
Googleの「生成 AI リーダー」コースが面白い。そこではベクトルデータベースの未来について、次のように述べられている。
「ベクトル エンベディングを使用したセマンティック クエリのメリットが明らかになると、ほとんどのデータベースでベクトルのサポートが追加される予定です。将来的には、すべてのデータベースがベクトル データベースになると考えています。」
正直、「すべてのデータベースがベクトルデータベースになる未来」というのはあまり想像していなかった。
一般的なベクトルデータベースの使い方は、ある基準ベクトルに類似したベクトルを検索することである(いわゆる「k 最近傍(KNN)クエリ」)。その際、類似度の指標として ドット積、コサイン類似度、ユークリッド距離 などが用いられる。
ただし、これらの指標は前提として「各ベクトルを正規化(単位ベクトル化)しておく必要」がある。正規化を行わないと、指標ごとに結果が異なり、検索精度にばらつきが出る可能性がある。
さらに、効率的な厳密 KNN クエリを計算するアルゴリズムは存在しない。そのため、実際には「近似最近傍探索(ANN)」のアルゴリズムが用いられており、高速で効率的に検索できる一方で、結果は完全一致ではなく近似値となる(=不正確さを含む)。
このように、ベクトルデータベースはリレーショナルデータベース(RDB)とはかなり異なる挙動をする。概念的な前提からして大きく異なるため、利用するにはまず基礎的な知識を押さえておく必要がある。
コメントを残す