CPUは十分か?新しいハードウェアで動作するベクトル探索のレビュー

ベクトル検索は、レコメンデーションシステムから画像認識に至るまで、多くのアプリケーションにおいて迅速かつ正確な情報検索を可能にする、極めて重要な技術として登場した。従来は、CPUがこのような作業を推進する主力であった。しかし、データ量が急増し、速度と効率に対する要求が高まるにつれ、疑問が生じる:最新のAIを駆使した検索の急増するニーズを満たすのにCPUは十分なのだろうか?
Zilliz](https://zilliz.com/)が主催するUnstructured Data Meetup 2024での最近の講演で、Smile Identityのコンピュータビジョンの専門家であり、NeurIPS BigANN Challengeのオーガナイザーでもあるジョージ・ウィリアムズ氏(2021, 2023)は、CPUがベクトル検索/ANNに十分かどうかを取り上げた。彼は、新しいハードウェア・ソリューションがベクトル検索にどのような革命をもたらし得るかを探求し、高度な検索アルゴリズムと最先端のハードウェアの交差点に焦点を当て、データ検索技術の将来についての洞察を提供した。
このブログでは、講演から重要な洞察を抽出し、Zillizベースのアプローチが優勝者の一人であったNeurIPS BigANNコンペティションの目標と成果を検証する。また、ベクトル検索を実装する上での現実的な課題、効率とパフォーマンスを促進する技術革新、そしてこの分野に変革をもたらすエキサイティングなハードウェアの新時代についても掘り下げます。
Neurips BigANNコンペティションとZillizの役割と貢献
NeurIPS BigANNコンペティションは、ベクトル検索技術の分野で可能性の限界を押し広げることを目的とし、研究者や業界リーダー間のイノベーションとコラボレーションを奨励しています。参加者は、リコール、Queries Per Second (QPS)、電力効率、費用対効果を最大化するソリューションを開発し、ベクトル検索タスクにおけるハードウェアの性能を総合的に評価します。このコンテストは、ANN-Benchmarksプロジェクトのようなイニシアティブと協力して開催されており、Milvusのような著名なソリューションを含むベクトル検索実装を提出し評価するためのプラットフォームを提供しています。
このコンペティションは、図1に示すように、ベクトル検索の性能の異なる側面をテストするために設計された3つのトラックを特徴としている。
図1 NeurIPS BigANN コンペティションの3つのトラック](https://assets.zilliz.com/Fig_1_The_three_tracks_of_the_Neur_IPS_Big_ANN_competition_e4d4557061.png)
1.トラック1:限られたハードウェア資源予算
仕様:参加者は、64GBのRAMを搭載したデータセンター・サーバーに限定される。
基準限られたハードウェアリソースの制約の中で、最近傍を検索する精度に重点を置き、解は想起に基づいてランク付けされる。
2.トラック2:ストレージ機能の強化
仕様:参加者は、64GBのRAMと2TBの高スループットSSDを搭載したデータセンター・サーバーを使用します。
基準このトラックも想起に重点を置いているが、より広範なストレージ機能を使用できるため、参加者はメモリ使用量とストレージ性能の両方を最適化することに挑戦し、図2に示すようにZillizが優勝した。Zilliz+SUSTのアプローチは、範囲検索データセット(SSNPP)で最も高い想起スコアを獲得し、優れたパフォーマンスを発揮した。この勝利は、最新のハードウェア制約に合わせた効率的なベクトル検索アルゴリズムの開発におけるZillizの専門知識と革新性を浮き彫りにした。Zillizのアプローチについては次のセクションで説明する。
図2 Zilliz+SUSTチームが2トラック目で優勝】(https://assets.zilliz.com/Fig_2_Zilliz_SUST_team_wins_the_second_track_becc03c43e.png)
3.トラック3:オープン・ハードウェア
仕様:参加者は、コストの根拠を提示し、電力使用量をモニターすれば、どのようなハードウェアを使用してもよい。
評価基準ソリューションは、リコール、QPS、電力効率、コストの組み合わせに基づいて評価される。
これらのトラックでは、限られたリソースの最適化から高度なハードウェア・セットアップの活用まで、幅広い実用的な検討事項を競うことができます。これらの評価を通じて、NeurIPS BigANNコンペティションは、ベクトル検索技術の現状に関する洞察を提供し、この分野で最も有望な進歩を浮き彫りにします。
ベクトル探索における最適化と評価
ベクトル探索の最適化は、特にメモリとSSDの使用に関して、多面的なアプローチを必要とする。Zillizが導入した重要なイノベーションの一つが、図3に示すハイブリッド・グラフ・クラスタリング・インデックスである。この手法は、特にSSDのメモリレイアウトとアクセスパターンを最適化する方法でデータを構造化することにより、ベクトル検索の効率を高める。Zillizはデータをページ整列されたバケットに整理することで、完全な精度のベクトルがメタデータと一緒に保存されるようにし、待ち時間を短縮して検索速度を向上させている。このアプローチはパフォーマンスを向上させるだけでなく、SSDストレージの利用率を最大化する。さらにZillizは、データ・アクセスが効率的で、基礎となるハードウェアの能力に沿ったものであることを保証するために、メモリの最適化レイアウトに重点を置いている。これには、アクセス時間を最小化し、全体的なスループットを向上させるためのデータの慎重な構造化が含まれ、彼らのソリューションは大規模なベクトル検索タスクに非常に効果的である。
さらに、オープンソース・ベクトルデータベースの最新バージョンであるMilvus 2.4のリリースでは、マルチベクトルサポート、グルーピング検索、NVIDIAのCUDA-Accelerated Graph Index for Vector Retrieval(CAGRA)によるGPUインデクシングなど、いくつかの画期的な機能が導入されています。これらのイノベーションは、ベクトル検索のパフォーマンスと効率性を向上させるZillizの戦略とコミットメントをさらに実証するものです。
図3.ハイブリッドグラフクラスタリングインデックスとSSDに最適化されたメモリレイアウトとアクセス](https://assets.zilliz.com/Fig_3_Hybrid_Graph_Clustering_Index_and_Memory_Layout_and_Access_Optimized_For_SSD_f4685ff2e7.jpeg)
今後の方向性
講演者によれば、ベクトル探索の将来は、近似的な手法に頼ることから、短時間のうちに総当たり的な手法を活用することに近いかもしれない。このシフトは、インデックスを作成する必要のない生のベクトルのスケーラビリティの向上によって推進され、メモリ市場における重要な進化を示す。専用チップは製造コストが高く、ツールキットの開発には多大な投資と時間が必要で、市場投入までに1年以上かかることも多い。このシナリオでは、パフォーマンスを最適化するために、ソフトウェアに大幅な調整が必要になる。最高の半導体技術を、ソフトウェア開発と同じように、各社がモジュール化して設計する「チップレット」の概念が導入される。このモジュール・アプローチにより、既存のチップ上でソフトウェアの再利用が可能になり、チップに詳しくない人でも、より安価で高速なチップを設計できるようになる。これは多くの企業にとって入り口となり、先進的なチップ設計をより身近で費用対効果の高いものにする可能性がある。
結論
ハードウェア](https://zilliz.com/glossary/ai-hardware)技術の急速な進歩は、より効率的で強力なベクトル検索機能への道を開いている。NeurIPS BigANNコンペティションやZilliz氏の貢献に見られるように、先進的なハードウェアと革新的なアルゴリズムの交差は、データ検索技術の将来にとって重要な鍵となる。CPUは何十年もの間、コンピューティングの基幹を担ってきたが、特化したハードウェア・ソリューションの登場は、効率とパフォーマンスが最優先される新時代を意味する。最も広く採用されているベクトルデータベースの一つであるZillizは、メモリ効率の最適化とデータ検索速度の最大化に重点を置き、高度なハードウェア機能を活用してベクトル検索技術で可能なことの限界を押し広げています。Zillizのツイッター@zilliz_universeと@milvusioをフォローし、ZillizのYouTubeチャンネルでたくさんの有益なビデオトークとチュートリアルをご覧ください。
リソース
アプリの機能強化:ベクターデータベースによる検索の最適化 - Zilliz blog](https://zilliz.com/learn/Enhancing-App-Functionality-Optimizing-Search-with-Vector-Databases#Improving-Search-with-Vector-Databases)
Milvus: 目的別ベクターデータ管理システム](https://www.cs.purdue.edu/homes/csjgwang/pubs/SIGMOD21_Milvus.pdf)
Milvus 2.4、ベクター検索を強化する画期的な機能を発表](https://zilliz.com/news/Milvus%202.4-Unveils-Game-Changing-Features-for-Enhanced-Vector-Search)
Milvus2.4がCAGRAを発表: 次世代GPUインデックスでベクトル検索を強化 - Zillizブログ](https://zilliz.com/blog/Milvus-introduces-GPU-index-CAGRA)
単一ベクトル検索 Milvus ドキュメント](https://milvus.io/docs/single-vector-search.md#grouping-search)
マルチベクトルサーチ Milvus ドキュメント](https://milvus.io/docs/multi-vector-search.md)
推薦システム Milvus ドキュメント](https://milvus.io/docs/recommendation_system.md)
Milvusストレージの性能評価と最適化方法 - Zillizブログ](https://zilliz.com/blog/how-to-evaluate-and-optimize-performance-of-milvus-storage)
読み続けて

Zilliz Cloud Update: Smarter Autoscaling for Cost Savings, Stronger Compliance with Audit Logs, and More
Take a look at the latest release of Zilliz Cloud.

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.

Vector Databases vs. Graph Databases
Use a vector database for AI-powered similarity search; use a graph database for complex relationship-based queries and network analysis.
