FusionANNS:十億規模近似最近傍探索のための効率的なCPU/GPU協調処理アーキテクチャ(FusionANNS: An Efficient CPU/GPU Cooperative Processing Architecture for Billion-scale Approximate Nearest Neighbor Search)

田中専務

拓海先生、お忙しいところ失礼します。部下から『大きなベクトルデータを高速に検索できる新手法があります』と聞かされまして、投資に値するのか判断に迷っております。要点を簡潔に教えていただけますか。

AIメンター拓海

素晴らしい着眼点ですね!大丈夫ですよ、端的に言うと『少ないハードで十億規模の類似検索を速く・安く・正確にやる』仕組みです。忙しい専務のために要点を3つでまとめますよ。1) データの置き場所を賢く分ける、2) CPUとGPUで役割分担する、3) 無駄な入出力を減らしてコストを下げる、ですよ。

田中専務

それは心強いですね。ただ、現場で扱う量が十億というのは想像がつきません。具体的にはSSDやGPUをどのように使い分けるのですか。

AIメンター拓海

いい質問です。身近な比喩で言えば、倉庫の中の商品(生データ)を全部ショールームに並べるわけにはいかない。そこでSSDが倉庫、GPUの高速メモリがショールーム、CPUのメモリがカタログの索引の役割を果たします。まずCPUが索引を使って候補の棚番号だけ特定し、そのIDだけGPUに渡して距離計算を行う仕組みです。

田中専務

これって要するに、全部を高速な場所に置かずに『索引で絞って必要なものだけ高速で処理する』ということですか。

AIメンター拓海

そのとおりですよ!さらに、圧縮してGPUの高帯域メモリ(HBM)に全ての圧縮ベクトルを収める工夫や、再評価(re-ranking)で本当に必要なデータだけSSDから取ってくる工夫もあります。要は『賢いフィルタリング』で無駄な入出力を削るのです。

田中専務

投資対効果が肝心ですが、本当に現行のシステムより速く、安くなるのですか。現場の導入ハードルは高くないでしょうか。

AIメンター拓海

実験では既存のSSDベースの最先端よりもスループット(同時処理量)が大幅に向上し、コスト効率も良くなっています。導入は段階的に可能で、まずは索引作成とGPUの小規模検証から始めれば良いのです。私からは3つの実行アドバイスを出します。小さく始める、効果を数値で測る、現場の運用負荷を評価する、ですよ。

田中専務

なるほど、段階的にやれば現場が混乱しにくいということですね。最後に、会議で使える短い説明をいくつかいただけますか。

AIメンター拓海

大丈夫、一緒にやれば必ずできますよ。では最後に、短いフレーズを3つ。『小さく試して効果を数値で確認する』『CPUで候補を絞りGPUで高精度検索する』『無駄な入出力を減らしてコストを下げる』。これで現場と経営の橋渡しができますよ。

田中専務

はい、要するに『索引で候補を絞って、GPUで最終評価することで効率を出し、段階的に導入して効果を検証する』ということですね。よく分かりました、ありがとうございます。

1.概要と位置づけ

結論から述べる。FusionANNSは十億規模のベクトル検索(近似最近傍探索)を、限られたハードウェアで高スループットかつ低遅延で実行できる設計思想を示した点で従来手法を変えた。従来は大容量データをすべて高速メモリに載せるか、あるいは多数台のGPUを並列化することで性能を稼ぐのが常套手段であったが、それはコストと運用負荷を肥大化させる欠点があった。FusionANNSはSSD、ホストメモリ、GPUの高帯域メモリ(HBM)を役割分担させ、索引で候補を絞ることで不要な入出力(I/O)を抑え、結果的に少ないGPUで高性能を実現する。

本研究の位置づけは、Approximate Nearest Neighbor Search(ANNS、近似最近傍探索)というAI基盤の性能ボトルネックに対する実務的な改善策である。ANNSは検索精度と速度、コストのトレードオフに悩まされており、特に産業用途では『コスト効率』が導入判断を左右する。本稿は『コスト効率とスループットを同時に改善する』ことに重心を置いて設計されている。

基盤インフラ視点では、本手法は既存のSSDベースのシステムとGPUメモリ中心のシステムの中間に位置する。SSDの大容量とGPUの高速演算能力を両立させる設計であり、規模が大きくなるほど従来手法との差が顕在化する点が重要である。企業の現場運用では、ハードウェア増設の代わりにソフトウェア的な協調を選ぶことで初期投資を抑えられる。

実務的なインプリケーションは明快である。十億規模のデータを扱う場合、全データをDRAMやGPU上に置くことは現実的でないため、データ配置と計算の役割分担を再考することが導入判断の分かれ目となる。FusionANNSはまさにその分かれ目に立つ設計であり、導入によりコスト効率と同時処理能力(QPS: queries per second)を改善できる。

以上を踏まえ、次節以降で先行研究との差分、技術要素、検証結果、議論点、今後の方針を順に解説する。

2.先行研究との差別化ポイント

先行研究は大きく二系統ある。一つはSSDなどの二次記憶を主体に据え、I/O最適化で性能を稼ぐ系統であり、もう一つはGPUの大容量メモリに圧縮データを載せて高速演算を実現する系統である。前者はコストは低いがスループットが伸びにくく、後者は高スループットを出せる一方でメモリ要件とコストが課題であった。FusionANNSはこの二者を融合させ、短所を補い合う点が差別化ポイントである。

具体的には、FusionANNSは三層のインデックス設計を採用する。ホストメモリにナビゲーショングラフとベクトルIDのみを保持し、GPUのHBMには圧縮されたProduct Quantization(PQ、製品量子化)ベクトルを収め、元の生ベクトルはSSDに置く。これによりHBMに全データの圧縮表現を載せられるため、GPU側の距離計算を効率化できるという点が先行手法と異なる。

さらに、本稿はCPUとGPUの協調フィルタリングとヒューリスティックな再評価(re-ranking)を導入している。CPUが索引で広く浅く候補を集め、GPUは圧縮ベクトルでスコアリングし、最終的に必要な部分だけSSDから取り出して高精度に再評価する。このワークフローにより不要I/Oを劇的に減らせる。

実装面でも、既存のSSDベースの最先端実装(例: SPANNに相当)やGPU中心のインメモリ実装(例: RUMMYに相当)に対して、FusionANNSはスループットやコスト効率で優位性を示している。つまり、従来のどちらか一方の良さだけを取るのではなく、両者の良点を組み合わせる点が本研究の差別化である。

これらの差分は経営判断に直結する。多額のGPU投資を合理化できる点、既存SSDインフラを活用して初期費用を抑えつつ性能改善を図れる点が導入メリットとして強調される。

3.中核となる技術的要素

本研究の中核は三つの技術的要素に集約される。第一はマルチティア(multi-tiered)インデックス構造である。ここで重要なのは、ナビゲーショングラフをホストメモリに置き、ベクトルIDのみをCPU—GPU間でやり取りすることで、ベクトル本体の不必要な移動を防いでいる点である。第二はProduct Quantization(PQ、製品量子化)を用いた圧縮で、GPUのHBMに全圧縮ベクトルを収容し高速距離計算を実現する点である。

第三はヒューリスティックな再評価(heuristic re-ranking)と冗長排除(redundant-aware I/O deduplication)である。これによりSSDからの読み出しが必要なケースを最小化し、総I/O量を削減する。重要なのは精度(accuracy)を犠牲にせずにI/Oを削る設計になっている点であり、実務で求められる品質確保を両立している。

もう少し平たく言えば、索引で大局を決め、圧縮表現で順序付けし、必要な本体だけ取り出して最終確認する流れだ。専務が日々の在庫管理で『候補を絞ってから現物を確認する』業務フローを想像すれば分かりやすい。これによりGPUとSSD、CPUの役割が無駄なく分担される。

技術的に見ると、HBMに全圧縮ベクトルを置ける点が鍵である。圧縮率と計算精度のトレードオフを適切に設計することで、十億規模でもHBMへ収めつつ高精度を維持することが可能となる。これが少数のエントリーレベルGPUでの運用を可能にする要因だ。

総じて、中核技術は『データ配置の最適化』『圧縮による記憶効率化』『不要I/Oの削減』という三点に整理でき、これらが協調して初めて高スループットと低コストが両立する。

4.有効性の検証方法と成果

検証は代表的なベンチマーク、並びに実運用を想定したワークロードで行われた。比較対象にはSSDベースの最先端実装(SPANNに相当)とGPU中心のインメモリ実装(RUMMYに相当)を採用し、QPS(queries per second)とコスト効率を主要指標として評価している。評価は各手法を同一データセット、同一ハードウェア条件下で比較し、実用的な同時問い合わせ負荷を模擬した。

結果は明確である。FusionANNSはSPANN比で9.4〜13.1倍のQPS、コスト効率で5.7〜8.8倍を示した。また、RUMMY比でも2〜4.9倍のQPS、2.3〜6.8倍のコスト効率を達成している。これらの数値は単なる理論上の改善ではなく、同一条件下での実測値であるため実務上の説得力が高い。

測定は遅延(レイテンシ)や精度(retrieval accuracy)も並行して評価し、QPS向上が精度低下を招かないことを確認している。特にヒューリスティック再評価が不要なI/Oを的確に除去するため、精度維持と速度向上の両立が可能になっている点が重要である。

これらの成果は、現場導入の判断材料として有用である。試験導入で同様の傾向が得られるなら、GPU台数の削減やSSD資源の有効活用によるTCO(Total Cost of Ownership)改善が期待できる。実際の導入では小規模で効果測定を行い、段階的にスケールすることが推奨される。

検証から得られる実務上の結論は明快だ。大規模ベクトル検索のボトルネックはI/Oであり、そこを戦略的に削るだけで従来のハードウェア投資を抑えつつ性能を大幅に向上できる、という点である。

5.研究を巡る議論と課題

まず議論点の一つは圧縮と精度のトレードオフである。Product Quantization(PQ)などの圧縮手法はメモリ効率を高めるが、圧縮度合いが強すぎると検索精度が落ちる。したがって実運用では圧縮率のチューニングが必須であり、サービスのSLA(Service Level Agreement)に応じた調整が必要である。

次に、索引更新や増分追加時の運用コストが課題となる。十億規模のデータを扱う運用では、データ追加や削除が頻繁に発生するケースもあり、その際のインデックス再構築コストや整合性維持の運用負荷をどう低減するかが実務上の検討点である。

また、GPUとCPU間のデータ転送やSSDのI/O帯域のボトルネックはハードウェア構成に依存するため、汎用的なチューニング指針を確立することが次の課題である。ハードウェア構成が異なれば最適なパラメータも変わるため、導入前のプロファイリングが重要になる。

さらに、セキュリティや耐障害性の観点も無視できない。分散環境やクラウド環境で運用する場合、データの冗長化や障害時のフェイルオーバー設計をどう組み込むかが実務的な検討項目である。これらは技術的解決が可能であるが、設計にコストと時間がかかる。

総括すると、FusionANNSは有望なアプローチである一方、圧縮精度の管理、索引の運用コスト、ハードウェア依存性、運用上の信頼性確保といった課題に対する実装上の配慮が不可欠である。

6.今後の調査・学習の方向性

今後の研究・実務の焦点は三点である。第一に圧縮アルゴリズムの最適化である。PQの改良や学習ベースの圧縮を採用することで、より高い圧縮率と高精度を両立できる可能性がある。第二に動的インデックス管理の改善である。データ追加・削除が頻繁な実運用環境でも低コストでインデックスを維持できる仕組みが求められる。

第三に運用を容易にする自動チューニングとプロファイリングツールの整備である。ハードウェア構成やデータ特性に応じて、最適なパラメータ群を自動的に選定する仕組みがあれば導入ハードルは大幅に下がる。企業はまず小規模なPoC(Proof of Concept)で効果を定量化し、その結果をもとに段階的にスケールさせることが現実的な進め方である。

また、実務での評価指標を標準化することも重要だ。QPSや遅延に加え、コスト指標や運用負荷指標を含めた総合評価を行えば、経営判断がしやすくなる。技術的な進化だけでなく、運用ルールやSLAの整備を含めた体制作りが必要である。

最後に検索に使える英語キーワードを列挙する。Approximate Nearest Neighbor Search, ANNS, FusionANNS, CPU-GPU cooperative, SSD-based ANNS, Product Quantization, PQ, re-ranking, I/O deduplication。これらで検索すれば本稿の技術文献に辿り着ける。

会議で使えるフレーズ集

『我々は索引で候補を絞り、GPUで精度を担保する構成を検討すべきだ』と説明すれば、設計方針が一言で伝わる。『まずは小規模でPoCを行い、QPSとTCOを数値で比較する』と述べれば投資判断がしやすくなる。『圧縮率と精度のトレードオフを定量化してから本稼働に移る』と付け加えればリスク管理の観点もカバーできる。

参考文献: FusionANNS: An Efficient CPU/GPU Cooperative Processing Architecture for Billion-scale Approximate Nearest Neighbor Search, B. Tian et al., “FusionANNS: An Efficient CPU/GPU Cooperative Processing Architecture for Billion-scale Approximate Nearest Neighbor Search,” arXiv preprint arXiv:2409.16576v1, 2024.

AIBRプレミアム

関連する記事

AI Business Reviewをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む