Skip to main content
QUICK REVIEW

[論文レビュー] Shift-based Primitives for Efficient Convolutional Neural Networks

Huasong Zhong, Xianggen Liu|arXiv (Cornell University)|Sep 22, 2018
Advanced Neural Network Applications参考文献 31被引用数 14
ひとこと要約

本論文は、メモリコピーや浮動小数点演算を伴わずに特徴マップのポインタを再編成することで、コンactなCNNにおける推論を高速化する3つのGPU最適化されたシフトベースのプリミティブ—チャネルシフト、アドレスシフト、ショートカットシフト—を導入する。提案されたAddressNetおよび拡張AddressNetアーキテクチャは、CIFAR100およびImageNetにおいて同等またはより高い精度を維持しながら、ShuffleNetのチャネルシャッフルに比べ最大12.7倍速い推論を達成する。

ABSTRACT

We propose a collection of three shift-based primitives for building efficient compact CNN-based networks. These three primitives (channel shift, address shift, shortcut shift) can reduce the inference time on GPU while maintains the prediction accuracy. These shift-based primitives only moves the pointer but avoids memory copy, thus very fast. For example, the channel shift operation is 12.7x faster compared to channel shuffle in ShuffleNet but achieves the same accuracy. The address shift and channel shift can be merged into the point-wise group convolution and invokes only a single kernel call, taking little time to perform spatial convolution and channel shift. Shortcut shift requires no time to realize residual connection through allocating space in advance. We blend these shift-based primitives with point-wise group convolution and built two inference-efficient CNN architectures named AddressNet and Enhanced AddressNet. Experiments on CIFAR100 and ImageNet datasets show that our models are faster and achieve comparable or better accuracy.

研究の動機と目的

  • コンパクトなCNNにおけるFLOPs/パラメータの削減と実際の推論時間のギャップを解消すること。特にGPU上での点である。
  • FLOPsおよびパラメータが少ないにもかかわらず、推論時間に顕著な影響を与える一般的な演算(例:チャネルシャッフル、ショートカット接続)の非効率性を克服すること。
  • メモリ移動を最小限に抑え、浮動小数点演算を回避することで、推論を高速化するGPUフレンドリーなプリミティブを設計すること。
  • これらのシフトプリミティブを用いて、効率的で推論最適化されたCNNアーキテクチャ—AddressNetおよび拡張AddressNet—を構築すること。
  • シフト演算がデータセット(CIFAR100、ImageNet)およびモデルサイズにわたってスケーラブルかつ柔軟に適用可能であることを示すこと。

提案手法

  • チャネルシフト(チャネルシャッフルの代替)、アドレスシフト(効率的な空間的特徴収集)、ショートカットシフト(事前に割り当てたメモリを用いたゼロコストの残差接続)の3つのシフトプリミティブを提案。
  • すべてのシフト演算をデータのコピーを避けてメモリポインタを操作することで実装し、メモリ帯域幅と浮動小数点演算を回避。
  • アドレスシフトとチャネルシフトをポイントワイズグループ畳み込みに統合し、カーネルコールのオーバーヘッドを低減し、単一カーネル実行を可能にする。
  • ポイントワイズグループ畳み込みとシフトプリミティブを統合することで、コンパクトで高速な推論ネットワークを構築するAddressNetおよび拡張AddressNetを設計。
  • アドレスシフトを用いてMobileNetの変種(Address-MobileNet)を高速化し、ImageNetスケーリングのための拡張AddressNetを強化。
  • カーネル起動を最小限に抑え、連続的なメモリアクセスパターンを活用することで、GPU向けに最適化し、遅延を低減。

実験結果

リサーチクエスチョン

  • RQ1ポインタベースのシフト演算は、FLOPsやパラメータを増加させることなく、コンパクトなCNNにおける推論時間を短縮できるか?
  • RQ2GPU上での実際の推論時間において、チャネルシャッフルやショートカット接続といった既存の演算と比較して、シフトベースのプリミティブはどのように性能を発揮するか?
  • RQ3MobileNet や ShuffleNet といった既存の効率的CNNアーキテクチャに、シフトプリミティブを効果的に統合できるか?
  • RQ4CIFAR100とImageNetの違いや、モデルの複雑さ(例:CIFAR100対ImageNet)に応じて、提案されたシフト演算はどの程度スケーラブルか?
  • RQ5シフトプリミティブの使用により、最先端モデルと同等またはそれ以上の精度を維持しながら、より高速な推論が可能になるか?

主な発見

  • チャネルシフトは、ShuffleNetのチャネルシャッフルに比べ12.7倍速く、同じ精度を維持している。
  • アドレスシフトとチャネルシフトは1つのカーネルコールに統合可能であり、オーバーヘッドを低減し、効率的な空間的およびチャネル再編成を可能にする。
  • ショートカットシフトは、連続的なメモリ領域を事前に割り当てることで、残差接続にゼロの推論時間を実現する。
  • AddressNetおよび拡張AddressNetは、CIFAR100においてShiftNetよりも高速な推論を達成し、拡張AddressNet-BはImageNetで4.3msで59.7%のトップ-1精度を達成した。
  • Address-MobileNetの変種は、ImageNetにおいてMobileNetおよびShuffleNetを上回る精度と遅延性能を示し、Address-MobileNet-160は1.5msで43.6%のトップ-1精度を達成した。
  • グループ畳み込みに対するcuDNNの最適化が限定的であるにもかかわらず、提案されたモデルは、複数の精度および遅延レベルにおいて、最先端モデルと同等またはそれ以上の性能を達成した。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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