リリースノート (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が一般提供を開始しました。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、最大内積検索)をサポートしています。
サンプルコードは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倍向上させます。また、内部インデックス構造にデータ圧縮とメモリマップトストレージ(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でマルチレプリカが利用可能になり、クラスターレベルのレプリケーションによりクエリのスループットと可用性の両方を向上させることができます。
-
クエリパフォーマンスの向上: 高い1秒あたりのクエリ数(QPS)を必要とするユーザーにとって、マルチレプリカはクエリワークロードをレプリカ全体に分散させることができます。この並列処理により、全体的なスループットが向上し、レイテンシが削減され、クエリ集約型アプリケーションの効率が向上します。ほとんどの場合、レプリカを追加するにつれて、全体的なQPSは線形に向上します。
-
可用性の向上: マルチレプリカは、複数のアベイラビリティゾーン(AZ)にレプリカを分散することで、可用性を強化します。この設定により、AZの停止が発生した場合でもデータへの継続的なアクセスが保証され、ミッションクリティカルなアプリケーションの信頼性が向上します。
現在、マルチレプリカ機能はパブリックプレビュー段階であり、エンタープライズプランで利用可能です。詳細については、レプリカの管理を参照してください。
移行サービス
Zilliz Cloudは、包括的な移行サービスを提供するようになり、ユーザーは移行タスクを簡単に完了できるようになりました。現在、3種類の移行がサポートされています。
-
オープンソースのMilvusからZilliz Cloudへの移行。移行先は、無料プランインスタンス、サーバーレスインスタンス、または専用クラスターにすることができます。詳細については、MilvusからZilliz Cloudへの移行を参照してください。
-
他のオープンソースデータベースからZilliz Cloudへの移行。現在、pgvectorとElasticsearchからの移行をサポートしています。移行先は、無料プランインスタンス、サーバーレスインスタンス、または専用クラスターにすることができます。詳細については、ElasticsearchからZilliz Cloudへの移行およびpgvectorからZilliz Cloudへの移行を参照してください。
-
Zilliz Cloud内でのデータ移行。組織内および組織間のデータ移行の両方をサポートしています。詳細については、クラスター間移行を参照してください。
バックアップ/復元/移行/ジョブ RESTful API
このアップデートにより、Zilliz CloudはコントロールプレーンAPIを拡張し、バックアップ、復元、移行、ジョブ管理をサポートする新機能を導入しました。
これらのRESTful APIにより、ユーザーは独自の自動運用ワークフローを構築でき、データ管理とメンテナンスプロセスに対する柔軟性と制御が向上します。
その他の機能強化
このリリースには、一連の機能強化も含まれています。
-
プロジェクトの読み取り専用ロールのサポート
-
クラスターとスナップショットの名前変更のサポート