Skip to main content
QUICK REVIEW

[論文レビュー] TorchSparse: Efficient Point Cloud Inference Engine

Haotian Tang, Zhijian Liu|arXiv (Cornell University)|Apr 21, 2022
Advanced Neural Network Applications被引用数 40
ひとこと要約

TorchSparse は、計算の規則性を改善しデータ移動を減らすことで、GPU 上の 3D 点群に対するスパース畳み込みを高速化し、複数のモデル/データセットで MinkowskiEngine および SpConv に対してエンドツーエンドの速度改善を最大約1.6x達成します。

ABSTRACT

Deep learning on point clouds has received increased attention thanks to its wide applications in AR/VR and autonomous driving. These applications require low latency and high accuracy to provide real-time user experience and ensure user safety. Unlike conventional dense workloads, the sparse and irregular nature of point clouds poses severe challenges to running sparse CNNs efficiently on the general-purpose hardware. Furthermore, existing sparse acceleration techniques for 2D images do not translate to 3D point clouds. In this paper, we introduce TorchSparse, a high-performance point cloud inference engine that accelerates the sparse convolution computation on GPUs. TorchSparse directly optimizes the two bottlenecks of sparse convolution: irregular computation and data movement. It applies adaptive matrix multiplication grouping to trade computation for better regularity, achieving 1.4-1.5x speedup for matrix multiplication. It also optimizes the data movement by adopting vectorized, quantized and fused locality-aware memory access, reducing the memory movement cost by 2.7x. Evaluated on seven representative models across three benchmark datasets, TorchSparse achieves 1.6x and 1.5x measured end-to-end speedup over the state-of-the-art MinkowskiEngine and SpConv, respectively.

研究の動機と目的

  • AR/VR および自動運転における3D点群のリアルタイム推論を効率化する動機付け。
  • GPU 上のスパース畳み込みにおける不規則な計算とデータ移動のボトルネックに対処する。
  • 適応バッチ処理と局所性を意識したデータアクセスに最適化されたシステムを提案し、パフォーマンスを向上させる。

提案手法

  • FLOPs を規則性とトレードオフする適応的行列積グルーピングを導入し、GPU 利用率を改善する。
  • 散乱/ gathering を最適化してデータ移動を削減するために、量子化、ベクトル化、融合メモリアクセスを適用する。
  • 推論中のデータ再利用を最大化するために、マッピング操作を融合し、局所性を意識した順序付けを使用する。
  • 高速なスパース畳み込み推論のために CUDA バックエンドを実装しつつ、PyTorch に似た API を提供する。

実験結果

リサーチクエスチョン

  • RQ1適応的バッチ処理による行列乗算は、GPU 上のスパース畳み込みの利用率と速度を改善できるか。
  • RQ2データ移動の最適化(ベクトル化された散布/収集、局所性を意識したアクセス)は、スパース畳み込みの実行時間をどの程度削減するか。
  • RQ3TorchSparse は、共通の3D点群ベンチマークで最先端のスパースエンジン(MinkowskiEngine、SpConv)と比較してどのようか。
  • RQ4アプローチはデータセット(例:SemanticKITTI、nuScenes、Waymo)とモデル(例:MinkUNet、CenterPoint)に対して頑健か。

主な発見

  • TorchSparse は評価済みモデル/データセットで MinkowskiEngine に対してエンドツーエンドで1.6x、SpConv に対して1.5xの速度アップを実現する。
  • Matmul の適応的グルーピングは matmul で1.4-1.5xの速度アップを生み、様々な設定で全体として1.6x〜2.0xの改善を達成する。
  • データ移動の最適化(ベクトル化散布/収集、局所性を意識したメモリアクセスでの FP16 量子化、融合カーネル)は DRAM アクセスの大幅な削減とスピードアップをもたらす(データ移動で最大約1.9x)。
  • マッピングの融合と局所性を意識した入力/出力アクセスはマッピングオーバーヘッドを大幅に削減し、検出器での全体的な利益(最大約2.3x)に貢献する。
  • TorchSparse は nuScenes および Waymo データセットで 3 フレームモデルを含む複数の MinkUNet/CenterPoint 構成に対して、複数の GPU でリアルタイム推論(≥10 FPS)を達成する。
  • データセット/ハードウェア固有の適応チューニング(ε, S)を用いたバッチ処理は matmul の性能を最大約1.5x、構成間の全体スループットを改善する。

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

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

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

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