Skip to main content
QUICK REVIEW

[論文レビュー] Gaussian Process Models with Parallelization and GPU acceleration

Zhenwen Dai, Andreas Damianou|arXiv (Cornell University)|Oct 18, 2014
Gaussian Processes and Bayesian Inference参考文献 15被引用数 25
ひとこと要約

この論文では、分散CPU/GPU並列処理とGPUアクセcelerated計算を組み合わせたスケーラブルなガウス過程フレームワークを提示する。データポイント単位の独立性を活用し、ΦやΨのような計算負荷の高い演算をGPUにオフロードすることで、データサイズに比例して線形にスケールする。これにより、数百万件のデータポイントでの推論が可能となり、64kポイントの合成データセットを用いた実験でCPUオンリーアプローチに比べ顕著な高速化が達成された。

ABSTRACT

In this work, we present an extension of Gaussian process (GP) models with sophisticated parallelization and GPU acceleration. The parallelization scheme arises naturally from the modular computational structure w.r.t. datapoints in the sparse Gaussian process formulation. Additionally, the computational bottleneck is implemented with GPU acceleration for further speed up. Combining both techniques allows applying Gaussian process models to millions of datapoints. The efficiency of our algorithm is demonstrated with a synthetic dataset. Its source code has been integrated into our popular software library GPy.

研究の動機と目的

  • 大規模データセットにおけるガウス過程モデルのO(N³)計算ボトルネックを克服すること。
  • データレベルの並列処理とGPUアクセcelerationを組み合わせることで、数百万件のデータポイントに対する効率的な推論を可能にすること。
  • 既存のGPソフトウェアスタック(例:GPy)にスムーズに統合可能な汎用的でスケーラブルな実装を開発すること。
  • 現代の高性能コンピューティング技術と組み合わせることで、ガウス過程モデルが大規模データに対して実用的であることを示すこと。

提案手法

  • スパースGP定式化のモジュール型でデータポイント単位の構造を活用し、データポイント間での自然な並列処理を可能にする。
  • トレース(Φ)やΨのような主要な項をN個のデータポイントにわたる和に分解することで、データレベルの並列処理を実現する。
  • Φ = Σₙ K_fuᵀK_fu および Ψ = Σₙ K_fuᵀyₙ の計算を、ブロックとスレッドを用いたワークロード分割戦略でGPUにオフロードする。
  • GPU最適化されたメモリアクセスパターンを採用:Ψについてはスレッドが直接グローバルメモリに書き込み、Φの途中結果については中間処理に共有メモリを用い、その後リダクションを行う。
  • MPIを用いた複数ノード間の分散コンピューティングを導入し、各ノードがデータポイントのサブセットとGPUカードを処理する。
  • 最適化中の勾配計算に対しても同様のワークロード分割を適用し、エンドツーエンドの高速化を実現する。

実験結果

リサーチクエスチョン

  • RQ1現代のHPCアーキテクチャを用いることで、ガウス過程モデルを数百万件のデータポイントに効率的にスケーリングできるか?
  • RQ2データレベルの並列処理とGPUアクセcelerationの組み合わせが、GPモデルの推論時間をどれほど短縮できるか?
  • RQ3分散GP推論における通信対計算比はどの程度で、線形スループット向上が可能か?
  • RQ4GPUアクセcelerationが、大規模Nを有するGPモデルにおいてCPUオンリーより顕著に優れているか?
  • RQ5実際の運用において、複数のCPUノードとGPUカードを用いた場合、提案手法はどの程度スケーリングするか?

主な発見

  • アルゴリズムはデータポイント数に比例して計算時間を線形にスケールさせ、並列化された実装のO(N)複雑性を確認した。
  • 1回の反復における推論時間はCPUおよびGPUの数にほぼ線形に増加し、通信オーバーヘッドが低く、並列効率が高いことを示した。
  • 1枚のGPUカードが32コアCPUノードを著しく上回る性能を示し、GPUアクセcelerationの有効性を裏付けた。
  • 計算時間の90%以上が分散可能であり、行列逆行列計算のような非分散可能処理は10%未満にとどまるため、リソースを追加することでさらなる高速化が可能である。
  • 100個のインダクティングポイントを用いて64,000ポイントの合成データセットを正常に処理でき、実世界の大規模データ応用の可能性を示した。
  • 実装はGPyに完全に統合されており、ベイジアンGP-LVMやディープGPsを含む複数のGPモデルをサポートしており、広範な適用性を有する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。