本番環境のAIにはベクトル検索だけでは不十分だ
ベクトル検索はセマンティック検索(意味検索)を変えました。データを埋め込み、クエリを埋め込み、近傍を見つける。それは従来のキーワードマッチングに取って代わりました。
しかし、本番環境のAIには、単に似た埋め込み(embeddings)があるだけでは足りません。検索(Retrieval)は、「近傍を見つける問題」から「ランキングと意思決定の問題」へと移行しています。
プロトタイプならベクトルで機能しますが、本番システムにはそれ以上のものが必要です。
実際のユーザークエリには、以下の要素が同時に求められます:
- 構造化されたメタデータとフィルタ
- 結果をブーストまたは減衰させるビジネスルール
- ユーザー履歴に基づくパーソナライゼーション
- データの鮮度とアクセス制御
- ランキング用の機械学習モデル
ほとんどのチームは、ツールを繋ぎ合わせることでこれを解決しようとします。ベクトルデータベース、検索エンジン、リランカー(reranker)、そしてフィーチャーストアを接続するのです。
これが問題を引き起こします:
- 各接続がレイテンシ(遅延)を増大させる
- 各パーツに個別の運用が必要になる
- データの同期を維持するのが困難である
ベクトルは一次元の配列です。テンソルは多次元の構造です。
テンソルを使用すれば、密な埋め込み(dense embeddings)、疎な特徴量(sparse features)、およびメタデータを一度のパスで組み合わせることができます。これにより、断片化されたパイプラインを回避できます。
ColBERTのような新しいモデルは、マルチベクトル・アプローチを採用しています。これらはドキュメントを一つの点に圧縮するのではなく、トークンレベルの詳細を保持します。これにより関連性は向上しますが、従来のベクトルデータベースでは対応できなくなります。
テンソルネイティブなアーキテクチャは、これらの構造を最優先事項として扱います。それらを単純なベクトルの形状に無理やり当てはめることはしません。
RAGパイプラインやレコメンデーションシステムを構築する場合、断片化が開発の足かせとなります。規模が拡大するにつれて、その問題はさらに深刻化します。
以下の質問を自問してみてください:
- あなたのスタックでは、いくつのシステムが継ぎ接ぎされていますか?
- 合計のレイテンシ予算はどのくらいですか?
- あなたのインフラはマルチベクトルモデルを扱えますか?
アーキテクチャの決定に役立てるため、GigaOmのブリーフで詳細を確認してください。
Source: https://dev.to/thegatewayguy/vector-search-got-you-started-production-ai-needs-tensors-41dl
Optional learning community: https://t.me/GyaanSetuAi