Skip to main content
QUICK REVIEW

[論文レビュー] Convolutional neural network compression for natural language processing

Krzysztof Wróbel, Marcin Pietroń|arXiv (Cornell University)|May 28, 2018
Speech Recognition and Synthesis参考文献 9被引用数 10
ひとこと要約

本稿では、自然言語処理における畳み込みニューラルネットワーク(CNNs)のハイブリッド圧縮フレームワークを提案し、量子化とプルーニングを組み合わせることで、リソース制限のある組み込みシステムへのデプロイに適したモデルサイズの削減を実現する。この手法は、1%未満の精度低下で最大93%のメモリ削減を達成し、5ビット量子化が性能を保持することを示している。さらに、FPGA実装により、レジスタ(flip-flop)使用量が3.3倍、論理セル(LUT)使用量が4.2倍削減され、効率的なハードウェアマッピングが可能である。

ABSTRACT

Convolutional neural networks are modern models that are very efficient in many classification tasks. They were originally created for image processing purposes. Then some trials were performed to use them in different domains like natural language processing. The artificial intelligence systems (like humanoid robots) are very often based on embedded systems with constraints on memory, power consumption etc. Therefore convolutional neural network because of its memory capacity should be reduced to be mapped to given hardware. In this paper, results are presented of compressing the efficient convolutional neural networks for sentiment analysis. The main steps are quantization and pruning processes. The method responsible for mapping compressed network to FPGA and results of this implementation are presented. The described simulations showed that 5-bit width is enough to have no drop in accuracy from floating point version of the network. Additionally, significant memory footprint reduction was achieved (from 85% up to 93%).

研究の動機と目的

  • 限られたメモリと電力を持つ組み込みシステムに、大規模でメモリを多く要するNLP用CNNをデプロイする課題に対処すること。
  • FPGAを用いた圧縮NLPモデルのデプロイの実現可能性と効率性を評価すること。
  • センチメント分析タスクにおけるモデルサイズと精度に与える量子化とプルーニングの影響を調査すること。
  • 高い精度を維持しつつモデルのフットプリントを最小限に抑える最適な精度設定とプルーニング閾値を特定すること。

提案手法

  • 著者らは、重みと活性化にトレーニング後量子化を適用し、浮動小数点値を動的固定小数点形式を用いて低ビット幅の固定小数点表現(例:5ビット、8ビット)にマッピングする。
  • 各層ごとの最適なビット幅設定を特定するため、精度低下が0.2%未満に抑える範囲で、ランダムリスタート勾配上昇法アルゴリズムを用いて探索する。
  • マグニチュードベースのアプローチを用いてプルーニングを実施し、閾値以下の重みをゼロに設定することで、MAC演算とモデルサイズを削減する。
  • 量子化とプルーニングの統合パイプラインをFPGA(Xilinx Virtex-7 VC707)に実装し、ハードウェアリソース使用量とパフォーマンスを評価する。
  • 複数のNLPデータセットを用いて圧縮効果を評価し、量子化とプルーニングに対する層ごとの感受性を分析する。
  • 一般化された量子化マッピング関数を定義する:$ q_{\text{fxp}} = \mu + \sigma \cdot \text{round}(\sigma^{-1} \cdot (x - \mu)) $、これにより動的固定小数点表現が可能となる。

実験結果

リサーチクエスチョン

  • RQ1フルプレシジョンモデルとほぼ同一の精度を維持できる最小ビット幅は何か?
  • RQ2量子化とプルーニングの併用は、NLPタスクにおけるモデルサイズと推論精度にどのように影響を与えるか?
  • RQ3各層ごとに最適なビット幅とプルーニング閾値の設定は何か? これは、モデルサイズを最小限に抑えつつ、許容可能な精度損失を維持するためのものである。
  • RQ4FPGAベースのデプロイは、モデルパフォーマンスを維持しつつ、ハードウェアリソース使用量をどの程度削減できるか?

主な発見

  • 5ビット量子化は、フルプレシジョン浮動小数点バージョンと比較して1%以内の精度低下に抑えられ、性能に顕著な低下は認められなかった。
  • データセット全体でモデルサイズが84%〜93%削減され、特に単語埋め込みがモデルのメモリフットプリントの93%以上を占めていた。
  • 量子化とプルーニングの併用により、FPGAのレジスタ(flip-flop)使用量が3.3倍、論理セル(LUT)使用量が4.2倍削減され、精度への影響は最小限であった。
  • ランダムリスタート勾配上昇法アルゴリズムは、0.2%未満の精度低下で高い圧縮を達成する最適なビット幅設定を効果的に同定した。
  • プルーニング閾値が0.03〜0.035の範囲にあると、精度に顕著な低下が見られたが、0.055を超えると急速に性能が劣化した。
  • 本研究では、重みと活性化の両方を同時に削減する戦略が、特に低ビット幅において個別の圧縮戦略を上回る性能を示した。

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

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

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

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