私たちは、データがなければ人工知能は存在しないとよく言います。しかし、それはいかなる種類のデータであっても構いません。人間が書くものと非常によく似たテキストを生成できる OpenAI の GPT-4 のような、大規模な言語モデル (LLM) の深層学習モデルを考えてみましょう。
LLM が単語を「理解」するには、単語をテキスト「ベクトル」として保存する必要があります。これは、単語の意味と使用パターンを数値で捉える方法です。ベクトルは、いわば AI の共通語です。
Vector は以前から存在していましたが、生成 AI インターフェイス ChatGPT の人気とアクセシビリティにより、特に注目を集めるようになりました。なぜなら、組織がこれらのテクノロジを使用して構築する最も人気のあるアプリは、独自のベクトルを構成することで LLM の独自のプライベート データを活用するからです。
しかし、それらはどのように機能し、どのように保存され、アプリケーションはどのようにそれらを検索し、AI の実現にどのように役立つのでしょうか?ベクトル、ベクトル検索、ベクトルを保存およびクエリできるデータベースの種類について詳しく見てみましょう。
ベクトルとは、データの属性を数値表現したものを指します。各データ ポイントは複数の数値を持つベクトルとして表され、各値はデータの特定の特徴または属性に対応します。
画像やテキストなどのデータをベクトル表現に変換することは、「埋め込み」と呼ばれます。
たとえば、ベクトル検索用の画像埋め込みの選択は、特定の使用例、利用可能なリソース、画像データセットの特性などのさまざまな要因によって異なります。
電子商取引または製品画像検索アプリケーションでは、製品画像に関して特別にトレーニングされた埋め込みを使用すると有益な場合があります。一方、いわゆるインスタンス検索には、より大きなシーンまたは画像内のオブジェクトのインスタンスの検索が含まれます。
データをベクトル表現として保存すると、データに対してさまざまな操作や計算を実行できるようになり、最も重要なのは検索です。ベクター属性の選択は、後で質問できるようにしたい種類の質問にとって重要です。
たとえば、植物が写っている画像の色に関する情報だけを保存している場合、手入れの必要性について尋ねることはできません。視覚的に似た植物のみを見つけることができます。
データをベクトルとして表すことにより、数学的手法を活用して、完全に一致することなく非常に大規模なデータセットを効率的に検索および比較できます。
ベクトル (各商品の主要な特徴を捉えた数値のリスト) として表される何百万もの顧客プロフィール、画像、または記事は、ベクトル類似性検索 (または「最近傍検索」) を使用して非常に迅速に調べることができます。
特定の用語の出現に基づいてドキュメントを照合する従来のキーワードベースの検索とは異なり、ベクトル検索はクエリの類似性に焦点を当てます。たとえば、それらの意味的な意味は似ていますか?
この機能により、ベクトル表現に基づいて類似のアイテムを見つけることができます。類似性検索アルゴリズムは、ベクトル間の「距離」または類似性を測定して、それらがどの程度密接に関連しているかを判断できます。
レコメンデーション システムでは、ベクトル検索を使用して、好みに基づいて最も類似したアイテムや類似していないアイテムやユーザーを見つけることができます。画像処理では、オブジェクト認識や画像検索などのタスクが可能になります。
たとえば、世界最大の検索エンジンである Google は、Google 画像検索、YouTube、その他の情報検索サービスのバックエンドを強化するためにベクトル検索に依存しています。 (ベクトル検索について詳しくはこちらをご覧ください
Elasticsearch などのスタンドアロンのベクトル検索テクノロジーがあります。ただし、AI アプリケーションが要求する応答性とスケールを実現するには、ベクトルをスケーラブルで高速なデータベースに保存し、そこから取得する必要があります。
現在、ベクトル検索を機能として提供するデータベースがいくつかあります。
ベクトル検索を可能にするデータベースの主な利点は速度です。従来のデータベースでは、クエリをデータベース内のすべての項目と比較する必要がありました。
対照的に、統合ベクトル検索では、一種のインデックス作成が可能で、プロセスを大幅に高速化する検索アルゴリズムが含まれているため、標準データベースにかかる時間のほんの一部で大量のデータを検索できます。
ビジネスの文脈では、AI アプリケーションを使用して過去の購入に類似した製品を推奨したり、既知のパターンに似た不正取引や標準とは異なるように見える異常を特定したりする場合に、これは非常に価値があります。
ベクトル検索を提供するデータベースの一例は、DataStax の
ベクトル検索の追加により、Astra DB は大規模なデータベース操作をワンストップで実行できるようになります。
ベクトル検索を Astra DB などのスケーラブルなデータ ストアと統合すると、データベース内で直接計算とランキングが可能になり、大量のデータを外部システムに転送する必要がなくなります。
これにより、待ち時間が短縮され、全体的なクエリのパフォーマンスが向上します。ベクトル検索を Astra DB 内の他のインデックスと組み合わせて、さらに強力なクエリを実現できます。 (ベクトル データベースについて詳しくはこちらをご覧ください
ベクトルとそれを格納するデータベースは、AI の分野で効率的な検索、類似度の計算、データ探索を可能にする上で大きな役割を果たします。
組織が生成 AI の取り組みを拡大し、データを使用してエンドユーザー エクスペリエンスをカスタマイズしようとするにつれて、ベクトル表現と、ベクトル検索が可能なスケーラブルで高速なデータベースを操作する機能がますます重要になります。
DataStax Charna Parkey 博士著