推定読書時間: 9 分
ここ数週間、ベクトル データベースに対する投資家の関心が高まっています。 2023 年の初め以来、私たちは次のことに気づきました。
ベクトル データベースとは何かをさらに詳しく見てみましょう。
ベクター データベースは、AI が理解を獲得し、複雑なアクティビティを実行するときに利用する長期記憶を維持するために重要な意味情報を内部に持つデータ表現の一種であるベクター埋め込みに大きく依存しています。
ベクター埋め込みは地図のようなものですが、世界のどこにあるのかを示すのではなく、いわゆる何かの中でどこにあるのかを示します。 ベクトル空間。 ベクター空間は、あらゆるものが遊べる場所がある大きな遊び場のようなものです。 猫、犬、鳥、魚などの動物のグループがいると想像してください。 プレイグラウンド上の特別な位置を画像ごとに指定することで、画像ごとにベクトル埋め込みを作成できます。 猫は隅っこにいて、犬は反対側にいるかもしれません。 鳥は空にいるかもしれないし、魚は池にいるかもしれない。 ここは多次元空間です。 各次元は、魚のさまざまな側面に対応しています。たとえば、魚にはひれがあり、鳥には翼があり、猫や犬には足があります。 それらのもう一つの側面は、魚は水に属し、鳥は主に空に属し、猫や犬は地面に属するということかもしれません。 これらのベクトルを取得したら、数学的手法を使用して、類似性に基づいてそれらをグループ化できます。 当社が保有する情報をもとに、
したがって、ベクトル埋め込みは、ベクトル空間内の物事間の類似性を見つけるのに役立つ地図のようなものです。 地図が世界をナビゲートするのに役立つのと同じように、ベクター埋め込みはベクター プレイグラウンドをナビゲートするのに役立ちます。
重要な考え方は、意味的に類似した埋め込み同士の距離は小さくなるということです。 それらがどの程度類似しているかを調べるには、ユークリッド距離、コサイン距離などのベクトル距離関数を使用できます。
ベクターライブラリ 類似性検索を実行するために、メモリ内のインデックスにベクトルの埋め込みを保存します。 ベクター ライブラリには次の特性/制限があります。
利用可能なベクトル検索ライブラリが多数あります。 FacebookのFAISS、迷惑 Spotifyと スキャンNN Googleによる。 FAISS はクラスタリング手法を使用し、Annoy はツリーを使用し、ScanNN はベクトル圧縮を使用します。 それぞれにパフォーマンスのトレードオフがあり、アプリケーションとパフォーマンスのメトリクスに基づいて選択できます。
ベクター データベースとベクター ライブラリを区別する主な機能は、データをアーカイブ、更新、削除できることです。 ベクター データベースは CRUD をサポートしています ベクトル ライブラリの制限を解決する完全な (作成、読み取り、更新、および削除)。
つまり、ベクトル データベースは、前のポイントで説明した自己完結型ベクトル インデックスの制限に対処することで、ベクトル埋め込みを処理するための優れたソリューションを提供します。
しかし、ベクトル データベースが従来のデータベースよりも優れている理由は何でしょうか?
従来のデータベースは、リレーショナル モデルを使用して構造化データを保存および取得するように設計されています。つまり、データの列と行に基づくクエリに対して最適化されています。 従来のデータベースにベクトル埋め込みを保存することは可能ですが、これらのデータベースはベクトル演算用に最適化されていないため、大規模なデータセットに対して類似性検索やその他の複雑な演算を効率的に実行できません。
これは、従来のデータベースでは、文字列や数値などの単純なデータ型に基づいたインデックス作成手法が使用されているためです。 これらのインデックス付け手法は、高次元であり、逆インデックスや空間ツリーなどの特殊なインデックス付け手法を必要とするベクトル データには適していません。
また、従来のデータベースは、ベクトル埋め込みに関連する大量の非構造化データまたは半構造化データを処理できるように設計されていません。 たとえば、画像ファイルや音声ファイルには何百万ものデータ ポイントが含まれる場合がありますが、従来のデータベースではこれらを効率的に処理できません。
一方、ベクトル データベースは、ベクトル データの保存と取得に特化して設計されており、大規模なデータセットに対する類似性検索やその他の複雑な操作向けに最適化されています。 これらは、高次元データを処理するように設計された特殊なインデックス作成技術とアルゴリズムを使用しており、ベクトル埋め込みの保存と取得において従来のデータベースよりもはるかに効率的です。
ベクトル データベースについてこれまで読んできたので、ベクトル データベースがどのように機能するのか疑問に思っているかもしれません。 見てみましょう。
リレーショナル データベースがどのように機能するかは誰もが知っています。リレーショナル データベースは文字列、数値、その他の種類のスカラー データを行と列に格納します。 一方、ベクトル データベースはベクトルを操作するため、最適化およびクエリの方法がまったく異なります。
従来のデータベースでは、通常、値がクエリと正確に一致するデータベース内の行をクエリします。 ベクトル データベースでは、類似性メトリックを適用して、クエリに最も類似したベクトルを見つけます。
ベクトル データベースは、最近傍検索 (ANN) に参加するいくつかのアルゴリズムを組み合わせて使用します。 これらのアルゴリズムは、ハッシュ、量子化、またはグラフベースの検索によって検索を最適化します。
これらのアルゴリズムはパイプラインに組み込まれており、クエリされたベクトルの近傍を高速かつ正確に取得できます。 ベクトル データベースはおおよその結果を提供するため、考慮する主なトレードオフは精度と速度の間です。 結果が正確であればあるほど、クエリは遅くなります。 ただし、優れたシステムでは、ほぼ完璧な精度で超高速検索を行うことができます。
ベクトル データベースは、従来のデータベースでは効果的に実行できない、大規模なデータ セットに対する類似性検索やその他の複雑な操作を行うための強力なツールです。 機能的なベクトル データベースを構築するには、データの意味論的な意味を捉え、正確な類似性検索を可能にする埋め込みが不可欠です。 ベクター ライブラリとは異なり、ベクター データベースはユースケースに合わせて設計されているため、パフォーマンスとスケーラビリティが重要なアプリケーションに最適です。 機械学習と人工知能の台頭により、ベクター データベースは、レコメンダー システム、画像検索、意味的類似性などの幅広いアプリケーションにとってますます重要になってきています。 この分野は進化し続けるため、将来的にはベクトル データベースのさらに革新的なアプリケーションが登場することが期待されます。
Ercole Palmeri
先週の月曜日、フィナンシャル・タイムズ紙はOpenAIとの契約を発表した。 FT は世界クラスのジャーナリズムにライセンスを供与しています…