46.4kデモを予約するログイン無料で始める

Milvus 2.3 Betaの新機能 - GPUで10倍高速化

Mar 22, 20230 min read

Milvusコミュニティを代表してMilvus 2.3のベータリリースを発表できることを誇りに思います。このベータリリースには新機能と改善が含まれており、お客様のAIを活用したアプリケーションのパフォーマンスを向上させるものと確信しております。一般リリースへの迅速な移行のため、これらの機能のテストにご協力いただければ幸いです!このブログ記事では、より顕著な機能のいくつかを紹介します。変更点の完全なリストについては、リリースノートをご覧ください。

Milvus2.3ベータ版の特徴の一つは、GPUアクセラレーションとRAFTベースの統合のサポートであり、これによりMilvusは最新のグラフィック処理ユニットのパワーを最大限に活用することができます。GPUアクセラレーションに対応したMilvusは、CPUのみのバージョンよりも10倍速いパフォーマンスを実現します。これにより、AIや機械学習を活用したアプリケーションの速度と応答性が大幅に向上し、より高速で正確なデータ処理が可能になります。

Milvus 2.3 Betaのもう一つの重要な特徴は、範囲検索のサポートで、指定した範囲内のデータを検索することができます。これは、より正確で精度の高い検索を可能にするため、複雑なデータクエリを必要とするアプリケーションに特に役立ちます。 さらに、Milvus 2.3 Betaは、mmapと増分バックアップもサポートしており、これらはすべて、AIアプリケーションのパフォーマンスと効率をさらに高めるのに役立ちます。より効率的なデータの管理と保存を可能にすることで、これらの機能は、お客様のAIシステムが継続的にピークレベルで動作することを保証します。

全体として、このリリースの改善は、類似検索機能を持つアプリケーションを構築する開発者にとって不可欠なものです。

Nvidia GPU サポート。 この新機能は、ヘテロジニアス・コンピューティングをサポートする能力をもたらし、特殊なワークロードを大幅に加速することができます。この新しい追加機能により、ユーザーはより高速で効率的なベクトルデータ検索を期待できるようになり、最終的に生産性とパフォーマンスが向上します。 RAFT-IVF-Flat(GPU)とIVF-Flat(CPU)およびHNSW(CPU)を、再現率95%の4つのデータセットで比較しました。GPUインデックスは、IVF-FlatおよびHNSWと比較して、平均32倍および8倍の高いスループットを達成した。評価結果を表1に示す。(これらのベンチマークは、8コアCPU、32GBのRAM、Nvidia A100 GPUを搭載したホスト上で、Knowhereに対して実行されました。)

表 1.4つのデータセットにおけるIVF-Flat、HNSW、RAFT-IVF-FlatのQPS(再現率95%)。

シフトギストグローブディープ
IVF-Flat(CPU)|3097|142|791|723||を実行した。

| RAFT-IVF-Flat(GPU)|121,568|5,737|20,163|16,557||です。

RAFTコードに貴重な貢献をしてくれたNvidiaの@wphicksと@cjnoletに感謝する。

**範囲検索 範囲検索はk-NNクエリとは異なる検索方法である。k-NNクエリは固定数の最近傍を返す。範囲検索では、クエリqと距離閾値Rが与えられると、qから距離R以内のすべてのエンティティを返す。 範囲検索は一般的に、指定された範囲内のすべての関連する結果を見つけるために使用される。例えば、データの重複排除や著作権侵害の検出において、類似の候補を見逃すことなく検索することができる(ただし、これに限定されない)。

**アップサート Upsertは、エンティティの値がコレクションに既に存在する場合は更新し、存在しない場合は新規に挿入する操作です。Milvusはコレクションにデータを追加する高い柔軟性を提供します。今のところ、全部で3つのオプションがあります:

  • オフラインの場合、高スループットの一括挿入。
  • オンラインストリーミングの場合、低遅延のための挿入。
  • 新しいエンティティを更新するか挿入するか迷っている場合のUpsert。

変更データキャプチャ(CDC)。 チェンジデータキャプチャ(CDC)とは、ベクターデータベース内のデータに対する変更をリアルタイムで特定・キャプチャし、その変更を下流システムに配信するプロセスです。Milvusは現在、このメカニズムに基づくゼロダウンタイムのバックアップと同期を提供しています。開発者はCDCを使用して、データ分析やカスタマイズされた監査など、ダウンストリームのワークロードに継続的な変更をキャプチャして提供することもできます。

メモリマップド(mmap)ファイルI/O。 Milvus](https://zilliz.com/what-is-milvus)は、大規模なデータセットでメモリが不足し、クエリのパフォーマンスが重要でない場合、mmapを使用して、システムがファイルの一部をメモリにあるかのように扱うことを可能にし、メモリ使用量を削減し、すべてのデータがシステムのページキャッシュにある場合のパフォーマンスを向上させる。

まとめ

上記の機能に加えて、Milvus 2.3 Beta ではいくつかのバグフィックスと改善が行なわれています。詳しくは

  • 変更点の完全なリストは、バージョン2.3 Betaのリリースノートを参照してください。
  • Milvus](https://hub.docker.com/r/milvusdb/milvus)およびget startedをダウンロードしてください。
  • この論文でMilvusベンチマークをチェックしてください。
Updated on Jul 09, 2026