Skip to main content
QUICK REVIEW

[論文レビュー] Kernel methods through the roof: handling billions of points efficiently

Giacomo Meanti, Luigi Carratino|arXiv (Cornell University)|Jun 18, 2020
Gaussian Processes and Bayesian Inference参考文献 58被引用数 28
ひとこと要約

この論文では、GPUアクセラレーション、マルチGPU並列処理、およびアウト・オブ・コア線形代数を活用して、数十億点のデータセットを効率的に処理できるスケーラブルなカーネル法ソルバ―であるFalkonを提示する。Nyström近似とプリコンディショニング付き共役勾配法ソルバ―を組み合わせ、メモリアクセスと数値精度を最適化することで、大規模な問題において数分で最先端の精度を達成する。カーネル法の実用的応用における飛躍的進歩を示している。

ABSTRACT

Kernel methods provide an elegant and principled approach to nonparametric learning, but so far could hardly be used in large scale problems, since naïve implementations scale poorly with data size. Recent advances have shown the benefits of a number of algorithmic ideas, for example combining optimization, numerical linear algebra and random projections. Here, we push these efforts further to develop and test a solver that takes full advantage of GPU hardware. Towards this end, we designed a preconditioned gradient solver for kernel methods exploiting both GPU acceleration and parallelization with multiple GPUs, implementing out-of-core variants of common linear algebra operations to guarantee optimal hardware utilization. Further, we optimize the numerical precision of different operations and maximize efficiency of matrix-vector multiplications. As a result we can experimentally show dramatic speedups on datasets with billions of points, while still guaranteeing state of the art performance. Additionally, we make our software available as an easy to use library.

研究の動機と目的

  • 従来のカーネル法の計算的ボトル neck を克服し、数十億点のデータセットに対してカーネル法を実用的に行えるようにすること。
  • GPUハードウェアとマルチGPU並列処理を最大限に活用するソルバ―を設計すること。
  • メモリ制限がある中でも最適なハードウェア利用を維持できるように、主要な線形代数演算のアウト・オブ・コア実装を実装すること。
  • 計算スループットを最大化するために、数値精度と行列・ベクトル乗算の効率を最適化すること。
  • PyTorchに基づいて、大規模なカーネル法に適した高パフォーマンスで使いやすいライブラリを提供すること。

提案手法

  • 問題の有効サイズを低減するためにNyström近似を採用し、スケーラブルなカーネル学習を実現する。
  • 滑らかな損失関数に対してはプリコンディショニング付き共役勾配法ソルバ―を用い、プリコンディショニングはNyström近似から導出する。
  • GPUメモリを超える行列を処理できるように、BLAS演算(例:TRSM、SYRK、GEMM)のアウト・オブ・コア実装を設計し、同期に共通の状態追跡テーブル(T)を用いる。
  • タイルベースの列方向Cholesky分解を採用し、動的メモリ管理と計算・データ転送のオーバーラップを実現する。
  • 共有整数テーブルTを介した非ブロッキング同期方式を用いて、タイルの読み込みと書き込みを効果的にスケジューリングすることで、メモリアクセスを最適化する。
  • 各演算ごとに精度を最適化し、正確性を損なわずにパフォーマンスを最大化する。行列・ベクトル乗算はGPU最適化カーネルにより加速する。

実験結果

リサーチクエスチョン

  • RQ1最新のGPUハードウェアを用いて、数十億点のデータセットにカーネル法を効率的にスケーリングできるか?
  • RQ2大規模なカーネル学習において、GPUの高い利用率を維持できるように、アウト・オブ・コア線形代数演算をどのように設計できるか?
  • RQ3Nyström近似とプリコンディショニング付き共役勾配法を組み合わせた場合、大規模な設定において速度と精度にどのような影響を与えるか?
  • RQ4GPU最適化され、メモリ効率の良いカーネル法の実装は、最先端のパフォーマンスを達成しながらも、実用的かつ使いやすいか?
  • RQ5Eigenpro、GPyTorch、GPflowといった既存の大規模カーネル法と比較して、提案されたソルバ―の精度と速度はどの程度か?

主な発見

  • 提案されたFalkonソルバ―は、最大数十億点のデータセットにおいて、既存手法を上回る最先端の予測精度を達成し、速度と精度の両面で優れている。
  • 1億〜10億点のデータセットを数分で処理でき、従来のカーネル法に比べて顕著な高速化を実現している。
  • GPUアクセラレーションを活用したアウト・オブ・コア線形代数演算により、行列がGPUメモリを超える場合でも、ハードウェアの効率的利用が可能である。
  • Nyström近似、プリコンディショニング付き共役勾配法、GPU最適化カーネルの組み合わせにより、顕著な計算効率の向上が達成された。
  • 複数のGPUにわたる精度とメモリアクセスパターンの精密な最適化により、高い数値的安定性と正確性を維持している。
  • PyTorchに基づくオープンソースライブラリFalkonにより、既存の機械学習ワークフローへの容易なデプロイと統合が可能である。

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

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

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

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