MilVusとは

2025年1月6日

共同執筆者

Matthew Kosinski

Enterprise Technology Writer

MilVusとは

Milvusは、Zilliz社が開発したオープンソースのベクトル・データベースです。Milvusは、大量のベクトル埋め込み用のスケーラブルなストレージを提供し、ベクトル・データの高性能な類似性検索をサポートしていることで知られています。

Zilliz社は2017年に初めてMilvusを開発し、2020年にこのプロジェクトをLinux Foundationに寄贈しました。Milvusは現在、Apache License 2.0に基づくオープンソース・ソフトウェアとして、またZilliz社の完全マネージド・クラウド・サービスとして提供されています。

ベクター・データベースとは。また、ベクター・データベースが重要な理由。

ベクター・データベースは、ベクター形式でデータセットを保管および管理します。ベクター・データベースは、組織が非構造化データを管理するのに役立ち、高度な人工知能(AI)や機械学習(ML)の取り組みに不可欠です。

ベクトルは、単語や画像などの複雑な概念やオブジェクトを表す数値の配列です。

テキスト、動画、オーディオなどの非構造化データは、今日の企業データのかなりの部分を占めていますが、従来のデータベースは、このデータを整理して管理するのに適していないことがよくあります。

組織は、このデータを特殊なディープラーニング埋め込みモデルに入力して、「埋め込み」と呼ばれるベクトル表現を出力できます。例えば、「ネコ」という単語はベクトル[0.2, -0.4, 0.7]で表され、「イヌ」という単語は[0.6, 0.1, 0.5]で表されます。

データをベクトルに変換することで、組織はさまざまな種類の非構造化データを共有形式で1つのベクトル・データベースに保管できるようになります。

ベクターは、組織がこのデータの価値をAIとMLに引き出すのにも役立ちます。ベクターは要素間の意味関係を取得し、大規模言語モデル(LM)と生成AIツールによる効果的な処理を可能にします。今日の最も高度なAIおよびMLアプリケーションは、トレーニングとコンテンツ生成にベクターを利用しています。

他のベクター・データベースと同様に、Milvusは組織に埋め込みベクターの管理と整理の方法を提供します。Milvusベクター・データベースは、拡張性に優れたストレージと効率的なベクター検索機能を備えているため、検索拡張生成(RAG)、推奨システム、その他のAIアプリケーションでよく使用されています。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

Milvusの建築

Milvusは、多層のマイクロサービス・ベースのアーキテクチャーを備えたクラウドネイティブのベクトル・データベースです。Milvusはストレージ・リソースとコンピューティング・リソースを分離しているため、組織は各層を独立して水平に拡張できます。

Milvusは、いくつかの異なる埋め込みモデルと互換性があります。組織はモデルをMilvusに接続することができ、Milvusは埋め込みをメタデータやその他の関連情報とともに取り込みます。Milvusは、ストリーミングとバッチ埋め込みのアップロードをサポートしています。

Milvusには次の4層あります。

  • アクセス層:これは外部向けの層であり、ユーザーとサービスからの入力を受け入れ、出力を返します。

  • コーディネーター・サービス層:Zilliz社では、この層をシステムの「頭脳」と呼んでいます。これは、負荷分散、データ管理、照会、その他の重要なタスクを調整するためです。

  • ワーカー・ノード層:この層は照会してデータを更新し、インデックスを構築します。

  • オブジェクト・ストレージ層:この層には、メタデータ・ストア、リアルタイムのデータ変更を記録するログ・ブローカー、ログ・スナップショット、インデックス・ファイル、中間計算結果を保持するオブジェクト・ストアが含まれます。

Milvusのデプロイメントの種類

  • Milvus Lite:ユーザーがローカル環境でMilvusを実行できるようにするPythonライブラリー。Milvus Liteは現在、UbuntuとMacOSをサポートしていますが、Microsoft Windowsはサポートしていません。

  • Milvus Standalone:完全なMilvusデータベースが単一のDockerイメージにパッケージ化され、単一のマシンで実行されます。

  • Milvus Cluster:Kubernetesクラスター内のノードのグループ全体にサービスを分散する分散ベクトル・データベース。

  • Zilliz Cloud:Milvusのフルマネージド・バージョン。
オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

MilVusの主な特徴と機能

高度な検索機能

Milvusは、クエリーと意味的に類似した結果を返すベクトル検索の一種である、高性能なベクトル類似検索をサポートしています。類似検索のメリットは、従来のキーワード検索のように完全一致に限定されないことです。

例えば、「最高のピザレストラン」というキーワード検索では、「最高」、「ピザ」、「レストラン」という単語を含む結果のみが返されます。同じキーワードの類似検索では、コンテンツ内で「最高のピザレストラン」という単語が正確に使用されていない場合でも、非常におすすめのピザ店の結果が表示されるでしょう。

Milvusは、上位k個の近似最近傍(ANN)や範囲ANNなど、いくつかの類似性検索タイプをサポートしています。

Milvusは、セマンティック・ベクター検索とメタデータ・フィルタリングやキーワード検索などの他の基準を組み合わせたハイブリッド検索もサポートしています。

ハイブリッド検索により、検索の効率と関連性が高まります。キーワード検索とベクター検索を組み合わせた検索を考えてみましょう。この検索では、まず特定のキーワードを使用して完全一致に基づいて結果をフィルタリングし、次にベクター類似性検索を使用して、フィルタリングされた結果から意味的に最も関連性の高いコンテンツを検索します。

インデックス化

Milvusは、階層型ナビゲート可能スモールワールド(HNSW)、反転ファイル(IVF)、GPUベースのインデックスなど、いくつかのインデックス・タイプをサポートしています。

ベクトルのインデックス作成は、検索の高速化に役立ちます。例えば、HNSWはインデックス構築プロセス中に類似のベクトルをまとめてクラスター化し、関連する結果をより速く見つけやすくします。

拡張性

Milvusの層は互いに独立して拡張できるため、組織はコスト効率とリソース効率に優れた方法で大量のベクター・データと集中的な検索を処理できます。

統合と互換性

Milvusは、Python(pymilvus)、Java、Goなど、さまざまな言語での開発をサポートする多数のソフトウェア開発キット(SDK)を提供しています。

Milvusは、Apache Sparkなどの分析ツール、LangChainなどのフレームワーク、IBM watsonx、Meta社のLlama、OpenAI社のGPTモデルなどの生成AIモデルとも統合できます。

オープンソース

大規模なオープンソース・コミュニティーが、MilvusのGitHubリポジトリーにバグ修正、更新、その他の機能強化を提供しています。

Milvusと他のベクターデータベースの違い

MilvusとPineconeの違い

PineconeとMilvusはどちらも低遅延の検索とスケーラブルなストレージを提供しますが、Pineconeは独自のベクター・データベースであり、マネージド・サービスとしてのみ利用できます。

MilvusとWeaviateの違い

Milvusと同様に、Weaviateはオープンソースであり、ハイブリッド検索をサポートしています。重要な違いの1つは、MilvusがWeaviateよりも多くのインデックス・タイプを提供していることです。

MilvusとQdrantの違い

もう1つのオープン・ソース・ベクター・データベースであるQdrantは、強力なメタデータ・フィルタリング機能で知られています。Qdrantは中規模の用途に適していますが、Milvusは一般に大量のベクター・データを処理できます。

MilvusとChromaの違い

Chromaは、使いやすさと迅速なローカル展開に重点を置いています。Chromaには分散アーキテクチャーがないため、拡張性が低くなります。Chromaはプロトタイピングとテストによく使用されますが、Milvusはより幅広いユースケースをサポートできます。

一般的なMilvusのユースケース

組織は、Milvusを使用して、次のようなさまざまなAIアプリケーションをサポートしています。

  • 検索拡張生成(RAG)

  • 推奨システム

  • メディア検索

  • 異常と不正の検知

検索拡張生成(RAG)

RAGは、AIモデルを外部の知識ベースに接続して、より関連性の高い正確な結果を提供できるようにするアーキテクチャーです。

Milvusは、効率的なハイブリッド検索をサポートしているため、RAG実装でよく使用されます。セマンティック検索のコンテキスト理解とキーワード検索およびメタデータ・フィルタリングの精度を組み合わせることで、MilvusはRAGソースから関連するドキュメント、コード・スニペット、その他の情報を表示するのに役立ちます。

Zilliz社によって開発されたLLM用のオープンソース・セマンティック・キャッシュであるCacheGPTは、MilvusがRAG実装をサポートするのにも役立ちます。CacheGPTは、生成AIアプリケーションからの対応をベクトル埋め込みとして保管します。

RAGインターフェースなどの接続されたサービスは、検索のたびに生成AIにAPI呼び出しを行う必要はありません。代わりに、最初にキャッシュをチェックし、答えが見つからない場合にのみ生成AIを呼び出すことができます。

推奨システム

Milvusは、過去の行動に基づいてコンテンツ、製品、広告をユーザーにマッチングさせる推奨システムの中で人気があります。

ユーザーの好みはベクトルとして表現することができ、類似性検索により、ユーザーの好みに近い製品、広告、コンテンツのベクトル表現を表示できます。

メディア検索

Milvusの類似検索機能は、画像検索、音声検索、動画検索、その他のメディア検索を効率化するのに役立ちます。

異常と不正の検知

Milvusは、製品画像のベクトルを製品の正しい形状を表すベクトルと比較することで、製品の欠陥を見つけるのに役立ちます。ベクトルの違いは欠陥を示している可能性があります。

Milvusは、他のコンテキストでも異常検知に役立ちます。サイバーセキュリティーでは、承認されたネットワーク・アクティビティーを表すベクトルを、既知の悪意のあるアクティビティーを表すベクトルと比較できます。同様に、金融では、トランザクションを表すベクトルを分析して、詐欺を示唆する可能性のある逸脱を特定できます。

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界屈指のAI(人工知能)の専門知識とIBM Watsonのソリューション製品群を活用して、大規模かつ信頼できるビジネスのためのAIを構築します。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモを予約