リリースノート(2024年9月4日)
このリリースでは、Zilliz Cloud にいくつかの重要なアップデートが導入されています。まず、Zilliz Cloud Serverless の GA により、自動スケーリングが提供され、最大50倍のコスト削減を実現します。Milvus 2.4の機能 が GA となり、疎ベクトル、マルチベクトルハイブリッド検索、ファジーマッチングを備えた転置インデックスなどの機能が導入されました。また、このリリースでは マルチレプリカ機能 がパブリックプレビューとして提供され、複数のアベイラビリティゾーン(AZ)にわたるレプリカ間でワークロードを分散させることで、クエリスループットと可用性を向上させることができます。さらに、Zilliz Cloud の新しい 移行サービス は、オープンソースの Milvus、pgvector、Elasticsearch からの移行をサポートし、Zilliz Cloud 内での組織内および組織間のデータ移行も可能にします。バックアップ、リストア、移行、ジョブ管理のための拡張された RESTful API により、ユーザーは自動化された運用ワークフローを構築できます。その他の機能強化として、プロジェクト読み取り専用ロールのサポート、およびクラスターとスナップショットの名前変更機能が含まれています。
Milvus 互換性
このリリースは Milvus 2.4.x と互換性があります。
Serverless GA
1年間の改良を経て、Zilliz Cloud Serverless が一般提供(GA)となりました。GenAI アプリケーション向けの手間のかからないサーバーレス ベクトルデータベースとして設計された Zilliz Cloud Serverless は、アプリケーションの需要に応じて自動スケーリングを行い、最大50倍のコスト削減を実現します。そのコスト効率は、DRAM、SSD、オブジェクトストレージ間でデータ配置を最適化する階層型ストレージシステムによって可能となっています。アクティブなデータへの迅速なアクセスを確保しながら、あまり使用されないデータのコストを削減します — すべて手動の介入なしに行われます。
専用クラスターとは異なり、サーバーレスサービスでは使用した分のみの支払いで済み、アイドル状態のサーバーのコストが発生しません。便利な移行機能により、オープンソースの Milvus から Zilliz Cloud Serverless へのデータ移行、または Serverless から専用クラスターへの移行を簡単に行うことができ、変化するニーズに対応できます。
Zilliz Cloud での Milvus 2.4.x 新機能 GA
Milvus 2.4 は、RAG およびマルチモーダルデータ検索に多くの高度に実用的な機能を提供します。これらの新機能を試したい場合は、クラスターをパブリックプレビューに更新できます。Milvus 2.4 は安定版に達していないため、本番環境で Milvus 2.4の機能 を採用する際は注意が必要です。
疎ベクトル
疎ベクトルは密なベクトルとは異なり、次元数が桁違いに多く、非ゼロの値を持つ次元がごくわずかである傾向があります。この機能は、用語ベースの性質により解釈性が高く、特定のドメインではより効果的です。SPLADEv2/BGE-M3 などの学習済み疎モデルは、一般的な第一段階のランキングタスクに非常に有用であることが証明されています。この新機能の主なユースケースは、SPLADEv2/BGE-M3 などのニューラルモデルや BM25 アルゴリズムなどの統計モデルによって生成された疎ベクトルに対する効率的な近似意味的近傍検索を可能にすることです。Zilliz Cloud は、疎ベクトルの効果的かつ高性能なストレージ、インデックス作成、および検索(MIPS、Maximum 内積 Search)をサポートするようになりました。
サンプルコードは hello_sparse.py で確認できます。
マルチベクトルとハイブリッド検索
マルチベクトルサポートは、マルチモデルデータ処理や密ベクトルと疎ベクトルの混在を必要とするアプリケーションの基盤となります。マルチベクトルサポートにより、以下が可能になりました:
-
複数のモデルから生成された非構造化テキスト、画像、または音声サンプルのベクトル埋め込みを保存する。
-
各エンティティの複数のベクトルを含む ANN 検索を実行する。
-
異なる埋め込みモデルに重みを割り当てて検索戦略をカスタマイズする。
-
最適なモデル組み合わせを見つけるために、さまざまな埋め込みモデルを試す。
マルチベクトルサポートにより、コレクション内の FLOAT_VECTOR や SPARSE_FLOAT_VECTOR など、異なるタイプの複数のベクトルフィールドの保存、インデックス作成、およびリランキング戦略の適用が可能になります。現在、2つのリランキング戦略が利用可能です:Reciprocal Rank Fusion (RRF) と 平均加重スコアリング です。両方の戦略は、異なるベクトルフィールドからの検索結果を統合された結果セットに結合します。RRF は元のランキングにおけるアイテムの位置を考慮し、複数のリストで上位にランク付けされるアイテムにより高い重要性を与え、異なるベクトルフィールドで一貫して出現するエンティティを優先します。平均加重スコアリングは、最終的な結果セットにおける各ベクトルフィールドの検索結果の重要性を決定するために、重みを割り当てます。
サンプルコードは hybrid_search.py で確認できます。
メタデータフィルタリングと部分文字列マッチングの改善
このリリースでは、メタデータフィルタリングに2つの重要な改善を行いました。まず、新しいスカラー転置インデックスの導入により、スカラーデータ型のフィルタリング パフォーマンス を向上させました。次に、メタデータフィルタリング時の部分文字列マッチングのサポートを拡張しました。
以前の Milvus のリリースでは、メタデータフィルタリングはメモリベースのバイナリ検索インデックスと Marisa Trie インデックスを使用して実装されていました。これらの方法はメモリを多く消費します。最新の Zilliz Cloud リリースでは、すべての数値および文字列データ型に適用できる Tantivy ベースの転置インデックスを採用しています。この新しいインデックスにより、文字列に対するスカラークエリの パフォーマンス が10倍向上しました。また、内部のインデックス構造にデータ圧縮と Memory-mapped storage(MMap)メカニズムを適用することで、メモリ消費も削減しています。サンプルコードは inverted_index_example.py で確認できます。
このリリースでは、プレフィックス、インフィックス、ポストフィックス、およびワイルドカードパターンを含む、より柔軟な文字列マッチングのサポートも追加されています。
グルーピング検索
特定のスカラーフィールドの値によって検索結果を集約できるようになりました。これは、RAG でドキュメントチャンクを取得するとともに、検索クエリに関連する一意のドキュメントIDを返す際に有用です。各ドキュメントが複数のチャンクに分割され、各チャンクがベクトル埋め込みで表現されるドキュメントのコレクションを考えると、search() 操作で group_by_field 引数を使用してドキュメントIDで結果をグループ化することで、意味的に関連するチャンクを検索しながら関連ドキュメントのリストを見つけることができます。
サンプルコードは example_group_by.py で確認できます。
Float16 および BFloat ベクトルデータ型
機械学習やニューラルネットワークでは、Float16 や BFloat などの半精度データ型がよく使用されます。これらのデータ型は、精度の低下という代償を伴いながら、クエリ効率の向上とメモリ使用量の削減を実現できます。このリリースにより、Zilliz Cloud はベクトルフィールドでこれらのデータ型をサポートするようになりました。
サンプルコードは float16_example.py および bfloat16_example.py で確認できます。
マルチレプリカ
マルチレプリカが Zilliz Cloud で利用可能になり、クラスターレベルのレプリケーションによりクエリスループットと可用性の両方を向上させることができます。
-
クエリパフォーマンスの向上: 高いクエリ/秒(QPS)を必要とするユーザーにとって、マルチレプリカによりクエリワークロードをレプリカ間で分散させることができます。この並列処理により、全体的なスループットが向上し、レイテンシが削減され、クエリ集約型アプリケーションの効率が向上します。ほとんどの場合、レプリカを追加するにつれて全体的な QPS は線形に改善されます。
-
可用性の向上: マルチレプリカは、レプリカを複数のアベイラビリティゾーン(AZ)に分散させることで可用性を強化します。この構成により、AZ の停止が発生した場合でもデータへの継続的なアクセスが確保され、ミッションクリティカルなアプリケーションに高い信頼性を提供します。
現在、マルチレプリカ機能はパブリックプレビューであり、Enterprise プランで利用可能です。詳細については、レプリカの管理 を参照してください。
移行サービス
Zilliz Cloud は包括的な移行サービスを提供し、ユーザーが移行タスクを簡単に完了できるようにします。現在、3種類の移行がサポートされています:
-
オープンソースの Milvus から Zilliz Cloud への移行。移行先は Free Plan インスタンス、Serverless インスタンス、または専用クラスターにできます。詳細については、Milvus から Zilliz Cloud への移行 を参照してください。
-
その他のオープンソースデータベースから Zilliz Cloud への移行。現在、pgvector および Elasticsearch からの移行をサポートしています。移行先は Free Plan インスタンス、Serverless インスタンス、または専用クラスターにできます。詳細については、Elasticsearch から Zilliz Cloud への移行 および pgvector から Zilliz Cloud への移行 を参照してください。
-
Zilliz Cloud 内でのデータ移行。組織内および組織間のデータ移行の両方をサポートしています。詳細については、クラスター間の移行 を参照してください。
バックアップ/リストア/移行/ジョブ RESTful API
このアップデートにより、Zilliz Cloud はコントロールプレーン API を拡張し、バックアップ、リストア、移行、およびジョブ管理をサポートする新機能を導入しました。
これらの RESTful API により、ユーザーは独自の自動化された運用ワークフローを構築でき、データ管理およびメンテナンスプロセスに対する柔軟性と制御性を高めることができます。
その他の機能強化
このリリースには、以下の一連の機能強化も含まれています:
-
プロジェクト読み取り専用ロール のサポート
-
クラスターとスナップショットの名前変更機能のサポート