ベクターデータベースの進化と未来:Zilliz社CEOチャールズの洞察

*ベクターデータベースとAIの進化と未来についての2部構成のブログシリーズの第1回目です。
ベクトル・データベースは、複雑な非構造化データの急増と大規模言語モデル(LLMsの台頭により、急速に進化するデータサイエンスと人工知能の分野で重要なイノベーションとして登場した。)この新しいタイプのデータベースは、ベクトル埋め込みによる非構造化データの管理とセマンティックなクエリ、データアクセシビリティと分析の近代化、次世代AIアプリケーションの需要への対応において極めて重要である。このブログでは、ZillizのCEOであるCharlesの洞察に導かれ、ベクトルデータベースの進化、現在のダイナミクス、そして将来の軌道について考察する。
ベクターデータベースとは?
ベクトルデータベース](https://zilliz.com/learn/what-is-vector-database)は、画像、動画、自然言語などの非構造化データを管理し、クエリするために設計された最先端のデータインフラです。私たちはディープラーニング・アルゴリズムを使って、非構造化データをベクトル埋め込みとして知られる新しいデータ形式に変換することができます。そして、これらの埋め込みデータをベクトル・データベースに格納することで、そのデータに対してセマンティック・クエリーを実行できるようになる。この機能は、従来のキーワードベースの検索とは異なり、非構造化データのセマンティクスを調べることを可能にし、よりニュアンスに富み、文脈に富んだ検索体験を提供するため、強力である。
開発者は、スマートでパーソナライズされた推薦システム、AIを搭載したチャットボット、セマンティック検索を構築する際に、ベクターデータベースを広く使用しています。LLMの台頭により、ベクトルデータベースは、検索-拡張-生成(RAG)の重要なインフラストラクチャーコンポーネントとして登場し、関連性の高い回答を生成するためのクエリコンテキストとして、LLMに追加の知識を提供しています。
ベクターデータベースの現状
現在、市場にはMilvusのような専用に構築されたベクトルデータベース、Elasticsearchのようなベクトル検索プラグインを持つ従来のデータベース、Chromaのような軽量ベクトルデータベース、そしてFAISSのようなベクトル検索機能を持つさらに多くのテクノロジーを含む、数多くの「ベクトルデータベース」が存在している。ベクターデータベースには多くの種類がありますが、すべてが同じように作られているわけではありません。
ベクター検索技術](https://assets.zilliz.com/Vector_Search_Technologies_a7afb17196.png)
Chromaのように、組み込みシステムのようなアプローチを採用しているものもある。Chromaの利点は、そのフットプリントの小ささにある。しかし、SQLiteと同様、Chromaも完全なデータベース・システムではなく、ランタイム・ライブラリである。そのため、データの永続性、データリカバリ、そして特筆すべきはスケーラビリティのような必須機能のサポートが欠けている。
PGVector](https://zilliz.com/comparison/milvus-vs-pgvector)やPineconeのようなデータベースは、スケールアップアプローチを採用している。より高度なプロセッサにデプロイされた場合、シングルノードインスタンス内で優れたパフォーマンスを達成し、その能力に対する短期的な信頼を得ることができます。しかし、スケールアップには、主にシングルノードマシンが課す物理的な制約による限界があります。例えば、Pineconeは相当数のポッドをサポートしますが、単一のx86アーキテクチャ上のCPU呼び出しによって制限されます。これらの制限を超えるには、より高価な最新のCPUアーキテクチャを選択する必要があります。
スケールアップモデルのもう一つの欠点は、単一障害点のリスクである。ノードに障害が発生すると、そのノードに関連するすべてのデータが失われる。対照的に、スケールアウト・アプローチに固有の分散アーキテクチャでは、効率的なデータ複製とフェイルオーバー・メカニズムが可能です。例えば16ノードの分散システムでノードを失った最悪のシナリオでは、データの一部(1/16)しか損なわれません。このような小さなデータ部分の復旧は、より管理しやすく、より迅速であり、全データ喪失のリスクを最小限に抑えることができる。
どのようにMilvusベクターデータベースを構築したか?
Milvus構築の道のりを探る前に、データベースシステムの本質について説明しよう。大まかに言えば、包括的なデータベースシステムは、ストレージレイヤー、指定されたストレージフォーマット、データを適切な場所に配置またはキャッシュする役割を担うデータオーケストレーションレイヤー、クエリオプティマイザー、効率的な実行エンジンから構成される。実行エンジンとクエリオプティマイザは、過去10年間の異種アーキテクチャの普及を考えると、より広範なハードウェアインフラに適応し最適化できる柔軟性が必要である。この柔軟性は、最新のCPU、ARMプロセッサー、GPU、AIアプリケーション専用に設計されたアクセラレーターなど、さまざまな基盤プロセッサーに依存している。このような統合により、各プロセッサのユニークな強みを生かした最適な実行計画を作成することが可能になり、クエリ実行の効率とパフォーマンスが大幅に向上します。
では、Milvusベクトルデータベースシステムを構築するための私たちの哲学とは?
ヘテロジニアスコンピューティングの採用
Milvusは、設立当初からヘテロジニアスコンピューティングに全面的にコミットしており、様々な最新プロセッサに対応する汎用性と高いパフォーマンスを示しています。IntelやAMDのCPUからARMプロセッサやNvidiaのGPUまで、様々なハードウェアをサポートしています。Milvusの統合能力は、基本的な線形代数から複雑なグラフベースの計算まで、AIベクトル処理タスクをカバーしている。プロセッサの種類ごとに命令セット、キャッシュアーキテクチャ、実行モデルが異なるため、この互換性は極めて重要です。アルゴリズムを調整し、これらの異なる特徴に合わせて実行エンジンを最適化することで、性能と効率が最大化されます。
垂直方向と水平方向のスケーラビリティをサポート
データ量が増大し続ける中、スケーラビリティは重要な関心事となります。Milvusは、垂直方向(スケールアップ)と水平方向(スケールアウト)の両方のスケーラビリティによってこの課題に対処できるように設計されています。この機能には、スケールアウトを促進する多様な分散アルゴリズムを開発し、データの一貫性、同期、複製、および予期せぬシステム障害に備えた回復のための堅牢な戦略を採用することが含まれる。
プロトタイピングからプロダクションまで、スムーズな開発者体験を提供する。
様々な開発段階のユニークなニーズを満たすために、Milvusの一連のデプロイメントモードを提供します:迅速なプロトタイピングのためのMilvus Lite、小規模アプリケーションのためのMilvus Standalone、水平スケーラビリティのためのMilvus Cluster、そして管理を容易にするためのZilliz Cloud(フルマネージドMilvus)です。高性能ベクトルデータベースで市場をリードする地位を維持することに加え、私たちは検索を初めて使用するAI開発者のエクスペリエンスを向上させることに尽力しています。近々、Milvus Liteをさらに初心者に優しく、使いやすいデプロイモードにアップグレードする予定です。
Jupyterノートブックでのプロトタイピングから、何十億ものドキュメントに対応する本番サービスまで、ベクトル検索が必要とされるあらゆる場所で、クライアントサイドのコードを一度実装すれば、アプリケーション開発のどの段階でも、カスタマイズされたMilvusインスタンスでそれを使用することができます。
4つの異なるMilvusバージョンから選択するための詳細なガイドについては、このブログのどのMilvusバージョンから始めるべきかを参照してください。
ベクターデータベースを選ぶには?
ベクターデータベースへの移行を検討する場合、評価すべき主な点が2つあります:
**例えば、毎日何百万人ものユーザーにサービスを提供するRAG(Retrieval Augmented Generation)(https://zilliz.com/learn/Retrieval-Augmented-Generation)ソリューションを構築しており、それがビジネスの中核となっている場合、ベクトル計算のパフォーマンスが最も重要になります。このような場合、純粋なベクトルデータベースシステムを選択することをお勧めします。Zilliz Cloud](https://zilliz.com/cloud)のような特化したベクターデータベースは、一貫した最適なパフォーマンスを保証するだけでなく、SLA要件にも合致するため、パフォーマンスが譲れないミッションクリティカルなサービスでも安心です。
第二に、時間の経過とともに予測されるデータ量の増加を考慮することです。 サービスが長期間実行されるにつれて、データセットの量は増加し、意思決定においてコストの最適化は避けられない問題となります。市場に出回っているほとんどの純粋なベクトルデータベースシステムは、少ないリソースで優れたパフォーマンスを発揮し、高いコスト効率を実現します。その中でMilvusは、PG Vector、OpenSearch、その他の非ネイティブウェブデータベースソリューションの100倍以上の費用対効果を誇ります。
上記の要素に加え、パフォーマンス、スケーラビリティ、機能性は、ベクターデータベースを評価するための最重要指標の一つです。ベクターデータベースの評価に関するより詳細なガイドは、こちらのベンチマークブログをご参照ください。
フルスケールの分散ベクターデータベースはいつ不要になるのか?
フルサイズのベクターデータベースは、プロトタイプやRAGソリューションのテストに取り組んでいる開発者や組織にとっては過剰かもしれません。ローカルで動作する軽量なベクターデータベースで十分です。より最適なユーザーエクスペリエンスをユーザーに提供するために、Milvusは開発の初期段階においてより迅速なセットアップができるよう、ローカル展開のサポートを強化する予定です。
私たちのコミットメントは、プロジェクトの規模や複雑さに関係なく、開発者に統一されたエクスペリエンスを提供することです。ラップトップでAIスタックを試している場合でも、スケーラブルで生産可能なベクトル検索ソリューションを探している場合でも、Milvusはスムーズな旅をお約束します。プロトタイプから本番環境への移行が進むにつれ、分散アーキテクチャによる優れたパフォーマンスとカスタマイズ性を実現するDockerおよびKubernetesデプロイメントへの移行が容易になり、一貫したSDKおよびAPIインターフェースの恩恵を受けることができます。光り輝く道では、プログラムを一度書くだけで、ラップトップからデータセンターやパブリック・クラウドまで、さまざまな環境でシームレスに実行できます。私たちは、あらゆる段階で開発者に力を与え、ユーザー体験を損なうことなく柔軟性を提供することを目指しています。
ベクターデータベースの未来とは?
ベクトルデータベースシステムが提供する機能の拡張を目の当たりにしてきた。過去数年間、これらのシステムは主に近似最近傍探索(ANN探索)という単一の機能を提供することに重点を置いていました。しかし、状況は進化しており、今後2年間で、より広範な機能性が見られるようになるだろう。
従来、ベクトル・データベースは類似性ベースの検索をサポートしていた。現在では、正確な検索やマッチングなど、その機能を拡張している。この多機能性により、より広い理解のための類似性検索と、ニュアンスの正確な検索の2つのレンズを通してデータを分析することができる。この2つのアプローチを組み合わせることで、ユーザーはハイレベルな概観を得ることと、具体的な詳細を掘り下げることのバランスを微調整することができる。
ある種の状況では、データのスケッチを得るだけで十分かもしれないし、セマンティック・ベースの検索はうまく機能する。しかし、微細な違いが重要な状況では、ユーザーはデータを拡大し、各エントリーの微妙な特徴を精査することができる。
ベクトルデータベースは、ベクトルクラスタリングや分類など、ベクトルコンピューティングのワークロードをサポートする可能性が高い。これらの機能は単なる追加機能ではなく、不正検知や異常検知のようなアプリケーションに特に関連し、大きな影響を与える。ここでは、教師なし学習技術をベクトル埋め込みデータのクラスタリングや分類に適用することで、共通のパターンを特定し、大きな損失を防ぐ可能性があります。
ブログシリーズの次のパートでは、AI技術の進化と、それらがベクトルデータベースの未来にどのような影響を与えるかについての私の洞察をお伝えします。ご期待ください!
読み続けて

Announcing VDBBench 1.0: Open-Source VectorDB Benchmarking with Your Real-World Production Workloads
VDBBench 1.0 offers an open-source benchmarking solution for vector databases, emphasizing real-world production conditions, including streaming data and concurrent workloads.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.

How to Calculate the Total Cost of Your RAG-Based Solutions
In this guide, we’ll break down the main components of RAG costs, show you how to calculate these expenses using the Zilliz RAG Cost Calculator, and explore strategies to manage spending efficiently.