Skip to main content
QUICK REVIEW

[論文レビュー] CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs

Oliveira, Afonso, Costa, Diogo|arXiv (Cornell University)|Jan 19, 2018
Advanced Neural Network Applications参考文献 6被引用数 304
ひとこと要約

この論文では、リソース制限のあるIoTデバイスにおける量子化された深層ニューラルネットワークの効率的推論を可能にする、Arm Cortex-M CPU向けに高度に最適化されたニューラルネットワークカーネルであるCMSIS-NNを提示する。8ビットおよび16ビットの固定小数点量子化、SIMD最適化行列乗算、インラインプーリング、SWARベースの活性化関数を活用することで、CMSIS-NNはCIFAR-10 CNNにおいてベースライン実装と比較して4.6倍のスループットと4.9倍のエネルギー効率の向上を達成した。

ABSTRACT

Deep Neural Networks are becoming increasingly popular in always-on IoT edge devices performing data analytics right at the source, reducing latency as well as energy consumption for data communication. This paper presents CMSIS-NN, efficient kernels developed to maximize the performance and minimize the memory footprint of neural network (NN) applications on Arm Cortex-M processors targeted for intelligent IoT edge devices. Neural network inference based on CMSIS-NN kernels achieves 4.6X improvement in runtime/throughput and 4.9X improvement in energy efficiency.

研究の動機と目的

  • IoTエッジデバイスに使用されるエネルギー制限のあるArm Cortex-Mマイコン上で、効率的な深層ニューラルネットワーク推論を実現すること。
  • FPUを搭載しない32ビットRISCプロセッサに向けた、メモリフットプリントと計算オーバーヘッドを最小限に抑えたニューラルネットワークのデプロイを可能にすること。
  • 固定小数点量子化と多様なニューラルネットワークレイヤーにおける効率的なカーネル実行をサポートするソフトウェアスタックの開発。
  • 低価格の組み込みシステムにおけるリアルタイムエッジAIワークロードの高パフォーマンスとエネルギー効率を実現すること。

提案手法

  • 浮動小数点演算を回避し、メモリ使用量を削減するため、2の累乗スケーリングを用いた8ビットおよび16ビットの固定小数点量子化を採用。
  • 内側ループ計算の高速化を目的に、CMSIS最適化済みのデータ型変換(q7_t から q15_t)を、符号拡張と最小限の再順序付けを伴って実装。
  • q15_tデータに対するMAC演算を効率的に行うために、SMLAD SIMD命令を用いた2×2ブロック化行列乗算を実装。
  • 一時メモリの割り当てを排除し、ウィンドウベースプーリングと比較して4.5倍の高速化を達成するインライン分割x-yプーリングを導入。
  • QSUB8命令による符号ビットマスクを活用し、SWARベースのビット操作を用いてReLU演算を高速化。
  • 整数専用CPUにおける精度とパフォーマンスのバランスを図るため、領域別粒度のテーブルルックアップベースのシグモイドおよびtanh関数を採用。

実験結果

リサーチクエスチョン

  • RQ1メモリ制限がありFPUを搭載しないArm Cortex-M CPU上で、深層ニューラルネットワーク推論をどのように効率的に実行できるか?
  • RQ2整数専用プロセッサ上で、計算コストを最小限に抑えつつパフォーマンスと精度を最大化する固定小数点量子化戦略は何か?
  • RQ3インラインプーリングと最適化された行列乗算は、組み込みニューラルネットワークにおけるメモリフットプリントの削減とスループットの向上に寄与できるか?
  • RQ48ビットデータ型におけるSWARベース実装の活性化関数は、どの程度パフォーマンスを向上させられるか?
  • RQ5全体的なカーネルスタックは、ベースライン実装と比較してスループットとエネルギー効率の面でどの程度優れているか?

主な発見

  • CMSIS-NNカーネルは、標準のCMSIS-DSP関数を用いたベースライン実装と比較して、CIFAR-10 CNNにおいて4.6倍のスループットと4.9倍のエネルギー効率の向上を達成した。
  • 最適化されたCNNは、216 MHzで動作するArm Cortex-M7上で1秒間に10.1枚の画像を処理し、ピークメモリ使用量がわずか133 KBで、79.9%の精度を達成した。
  • インライン分割x-yプーリングは、従来のウィンドウベースプーリングと比較して、追加のメモリオーバーヘッドなしに4.5倍の高速化を実現した。
  • SWAR技術を用いた8ビットデータに対するReLUカーネルは、従来のスカラ実装と比較して約4倍の高速化を達成した。
  • 量子化における2の累乗スケーリングの使用により、浮動小数点の逆量子化の必要がなくなり、FPUを搭載しないCPUでも完全に整数演算が可能になった。
  • 部分的なim2col変換により、メモリフットプリントが332 KBから133 KBに削減され、NUCLEO-F746ZGボード上でのネットワーク実行が可能になった。

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

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

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

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