Skip to main content
QUICK REVIEW

[論文レビュー] Faster CNNs with Direct Sparse Convolutions and Guided Pruning

Jongsoo Park, Sheng Li|arXiv (Cornell University)|Aug 4, 2016
Advanced Neural Network Applications参考文献 24被引用数 120
ひとこと要約

本論文は任意の疎パターンに対応した直接疎畳み込み法、速度向上を予測する性能モデル、および速度・サイズ・精度を同時に改善するGuided Sparsity Learningによるネットワーク剪定を提案し、複数のプラットフォームで大幅な速度向上を実現します。

ABSTRACT

Phenomenally successful in practical inference problems, convolutional neural networks (CNN) are widely deployed in mobile devices, data centers, and even supercomputers. The number of parameters needed in CNNs, however, are often large and undesirable. Consequently, various methods have been developed to prune a CNN once it is trained. Nevertheless, the resulting CNNs offer limited benefits. While pruning the fully connected layers reduces a CNN's size considerably, it does not improve inference speed noticeably as the compute heavy parts lie in convolutions. Pruning CNNs in a way that increase inference speed often imposes specific sparsity structures, thus limiting the achievable sparsity levels. We present a method to realize simultaneously size economy and speed improvement while pruning CNNs. Paramount to our success is an efficient general sparse-with-dense matrix multiplication implementation that is applicable to convolution of feature maps with kernels of arbitrary sparsity patterns. Complementing this, we developed a performance model that predicts sweet spots of sparsity levels for different layers and on different computer architectures. Together, these two allow us to demonstrate 3.1--7.3$ imes$ convolution speedups over dense convolution in AlexNet, on Intel Atom, Xeon, and Xeon Phi processors, spanning the spectrum from mobile devices to supercomputers. We also open source our project at https://github.com/IntelLabs/SkimCaffe.

研究の動機と目的

  • 単純なパラメータ剪定を超えて、CNN推論時間とモデルサイズの削減を動機づける。
  • カーネル内の任意の疎性パターンに対応する効率的な疎畳み込みの開発。
  • アーキテクチャ全体でのスピードアップを予測する性能モデルを作成し、剪定を導く。
  • 速度最適化剪定を精度損失なしに行うよう、層を標的としたGuided Sparsity Learningを提案。
  • 多様なハードウェアで AlexNet と GoogLeNet の顕著な速度アップを示す。

提案手法

  • 直接疎畳み込みを、仮想的なdense入力をその場で作成する疎行列- dense行列乗算として定式化する(変換なし)。
  • 畳み込みカーネルにおける任意の疎性パターン(要素ごとの疎性)を有効にし、剪定の潜在能力を最大化する。
  • 屋根線(Roofline)フレームワークを用いた性能モデルを開発し、疎畳み込みの速度アップを境界づけ、有効な疎性範囲を特定する。
  • 予測された速度アップの潜在に基づいて層を剪定するGuided Sparsity Learning(GSL)を導入し、GESLやGDNSなどの派生形を含む。
  • 速度アップモデルに導く要素ごとの正則化を用いてネットワークを訓練し、精度・速度・サイズのバランスを取る。

実験結果

リサーチクエスチョン

  • RQ1直接疎畳み込みは、さまざまな疎パターンに対して従来の降下法ベースの疎方法をどのように上回ることができるか?
  • RQ2どの疎度レベルと層の対象が、精度を維持しつつ推論速度を最大化するか?
  • RQ3性能モデルは、異なるアーキテクチャ(Atom、Xeon、Xeon Phi)とCNN層の速度アップを正確に予測できるか?
  • RQ4Guided Sparsity Learningは、精度を犠牲にせずに速度アップを達成するようにネットワークを効果的に剪定するか?
  • RQ5複数のプラットフォームでのAlexNetとGoogLeNetにおける達成可能な速度アップと疎性の限界は何か?

主な発見

  • 直接疎畳み込みは、Atom、Xeon、Xeon Phi プロセッサ上のAlexNetで密な畳み込みより3.1–7.3×の速度アップを実現。
  • 一般的な性能モデルは、多様なアーキテクチャで意味のある加速のための速度アップ予測と疎性の上下限を示す。
  • Guided Sparsity Learningは、速度アップ潜在を持つ層を対象に剪定を実施し、精度の最小限または無損失で顕著な疎度を達成。
  • GoogLeNetは畳み込みおよび全結合層全体で80%以上のパラメータを失っても精度低下なし。
  • AlexNetではBDWが非ゼロ密度x=0.09で3.4×、Atomはx=0.09で7.3×、KNLはx=0.09で13.9×の実効TF/sを達成。
  • 著者らはオープンソース実装 https://github.com/IntelLabs/SkimCaffe を提供している。

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

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

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

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