[論文レビュー] YOLObile: Real-Time Object Detection on Mobile Devices via Compression-Compilation Co-Design
YOLObile は、モバイルデバイスにおけるリアルタイムオブジェクト検出のための圧縮・コンパイラー共同設計フレームワークを提案し、任意のカーネルサイズに対応するブロックパンチドプリンティングと GPU-CPU 共同推論を導入した。サムスン ギャラクシー S20 において 14× のモデル圧縮を達成し、mAP 49.0、19.1 FPS を実現。YOLOv4 より 5× の高速化を達成しながら高い精度を維持した。
The rapid development and wide utilization of object detection techniques have aroused attention on both accuracy and speed of object detectors. However, the current state-of-the-art object detection works are either accuracy-oriented using a large model but leading to high latency or speed-oriented using a lightweight model but sacrificing accuracy. In this work, we propose YOLObile framework, a real-time object detection on mobile devices via compression-compilation co-design. A novel block-punched pruning scheme is proposed for any kernel size. To improve computational efficiency on mobile devices, a GPU-CPU collaborative scheme is adopted along with advanced compiler-assisted optimizations. Experimental results indicate that our pruning scheme achieves 14$ imes$ compression rate of YOLOv4 with 49.0 mAP. Under our YOLObile framework, we achieve 17 FPS inference speed using GPU on Samsung Galaxy S20. By incorporating our proposed GPU-CPU collaborative scheme, the inference speed is increased to 19.1 FPS, and outperforms the original YOLOv4 by 5$ imes$ speedup. Source code is at: \url{https://github.com/nightsnack/YOLObile}.
研究の動機と目的
- リアルタイム推論を実現(≥15 FPS)するため、モバイルデバイスにおける精度と速度のトレードオフを解消する。
- 特にパターンベースのプリンティングに限界がある現行のプリンティング手法を克服し、任意のカーネルサイズに対応した効果的なプリンティングを可能にする。
- モデル圧縮とコンパイラー最適化を統合した共同設計フレームワークを設計し、モバイルプラットフォームにおけるハードウェア並列処理を最大限に活用する。
- 高精度を損なわず、消費者向けモバイルデバイスでリアルタイム推論(≥15 FPS)を達成する。
提案手法
- ブロックパンチドプリンティングを提案:DNN重みを等サイズのブロックに分割し、各ブロック内で均一にプリンティングすることで、任意のカーネルサイズに対応する細粒度スパarsityを実現する。
- モバイルデバイスの異種ハードウェア並列処理を活用するため、GPU-CPU 共同計算スキームを適用する。
- コンパクトなストレージ、ブロック再順序付け、オートチューニングを含むコンパイラー最適化を統合し、計算効率を向上させる。
- レイヤー単位の圧縮率調整を実装し、FLOP の寄与度が大きい 3×3 CONV レイヤーに高いプリンティング比を割り当てる。
- ブロックパンチドプリンティングから得られる構造的スパarsityを活用し、ハードウェアアクセラレーションを可能にしながらモデル精度を維持する。
- モバイル GPU/CPU アーキテクチャ上で精度と推論速度のバランスを最適化するため、ブロックサイズ(8×4)を最適化する。
実験結果
リサーチクエスチョン
- RQ1任意のカーネルサイズの畳み込み層に対応しつつ、高い精度を維持し、ハードウェアアクセラレーションを可能にするプリンティング方式を設計できるか?
- RQ2モバイルデバイスにおける推論速度を最大化するために、GPU-CPU コラボレーションを効果的に調整できるか?
- RQ3モバイルハードウェア上で、ブロックサイズ、プリンティング粒度、推論性能の最適なトレードオフは何か?
- RQ4コンパイラー最適化は、モバイルプラットフォームにおける圧縮モデルの効率を顕著に向上させられるか?
主な発見
- YOLObile は YOLOv4 を 14× 圧縮しても mAP の低下が僅か 7.9%(57.3 から 49.0 に)に抑えられ、高い精度保持を実証した。
- サムスン ギャラクシー S20 で 19.1 FPS の推論速度を達成し、元の YOLOv4(3.5 FPS)と比較して 5× の高速化を実現した。
- ブロックパンチドプリンティングにより 14× 圧縮、mAP 49.0 を達成し、高圧縮率下でもパターンベースプリンティングを上回る精度と速度を実現した。
- GPU-CPU 共同スキームにより推論速度が 17 FPS から 19.1 FPS に向上し、効果的なハードウェア利用が実証された。
- アブレーションスタディの結果、3×3 CONV レイヤーに高い圧縮率を割り当てる不均一なプリンティングが、均一なプリンティングよりも優れた精度と速度を達成した。
- 最適なブロックサイズは 8×4(8 フィルタ、4 通道)であり、モバイルハードウェア上で精度と速度の最良なトレードオフを実現した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。