NITRO-D: Native Integer-only Training of Deep Convolutional Neural Networks

要約

量子化は、ディープ ニューラル ネットワーク (DNN) の着実に増加する計算要件とメモリ要件に対処する上で、ますます重要になってきています。
量子化は、重みとアクティベーションを表すために使用されるビット数を減らすことによって (通常は 32 ビット浮動小数点から 16 ビットまたは 8 ビット整数に)、DNN モデルのメモリ フットプリント、エネルギー消費、および実行時間を削減します。
ただし、従来の量子化手法は通常、DNN の推論に重点を置いていますが、トレーニング プロセスは依然として浮動小数点演算に依存しています。
現在までに、多層パーセプトロン (MLP) アーキテクチャの整数のみのトレーニングを扱った文献は 1 つだけです。
この研究では、トレーニングと推論の両方において完全に整数のみのドメインで動作する任意の深さの整数のみの畳み込みニューラル ネットワーク (CNN) をトレーニングするための新しいフレームワークである NITRO-D を紹介します。
NITRO-D は、量子化スキームを導入する必要なく、整数のみの CNN のトレーニングを可能にする文献初のフレームワークです。
具体的には、NITRO-D は、提案されている NITRO スケーリング レイヤーと NITRO-ReLU アクティベーション関数を含む、複数の整数ローカル損失ブロックを統合する新しいアーキテクチャを導入しています。
さらに、整数のみのコンテキストで動作するように特別に設計されたオプティマイザーである IntegerSGD を利用して、ローカル エラー信号 (LES) から派生した新しい整数のみの学習アルゴリズムが導入されています。
NITRO-D は、オープンソースの Python ライブラリに実装されています。
広範な実験評価により、いくつかの最先端の画像認識データセットにわたってその有効性が実証されています。
結果は、整数のみの MLP アーキテクチャで最先端のソリューションと比較してパフォーマンスが 2.47% から 5.96% に大幅に向上し、整数のみの CNN アーキテクチャを精度の低下を最小限に抑えて -0.15% から -4.22% にトレーニングできることを示しています。
浮動小数点 LES と比較します。

要約(オリジナル)

Quantization has become increasingly pivotal in addressing the steadily increasing computational and memory requirements of Deep Neural Networks (DNNs). By reducing the number of bits used to represent weights and activations (typically from 32-bit floating-point to 16-bit or 8-bit integers), quantization reduces the memory footprint, energy consumption, and execution time of DNN models. However, traditional quantization methods typically focus on the inference of DNNs, while the training process still relies on floating-point operations. To date, only one work in the literature has addressed integer-only training for Multi-Layer Perceptron (MLP) architectures. This work introduces NITRO-D, a new framework for training arbitrarily deep integer-only Convolutional Neural Networks (CNNs) that operate entirely< in the integer-only domain for both training and inference. NITRO-D is the first framework in the literature enabling the training of integer-only CNNs without the need to introduce a quantization scheme. Specifically, NITRO-D introduces a novel architecture integrating multiple integer local-loss blocks, which include the proposed NITRO Scaling Layer and the NITRO-ReLU activation function. Additionally, it introduces a novel integer-only learning algorithm derived from Local Error Signals (LES), utilizing IntegerSGD, an optimizer specifically designed to operate in an integer-only context. NITRO-D is implemented in an open-source Python library. Extensive experimental evaluations demonstrate its effectiveness across several state-of-the-art image recognition datasets. Results show significant performance improvements from 2.47% to 5.96% for integer-only MLP architectures over the state-of-the-art solution, and the capability of training integer-only CNN architectures with minimal accuracy degradation from -0.15% to -4.22% compared to floating-point LES.

arxiv情報

著者 Alberto Pirillo,Luca Colombo,Manuel Roveri
発行日 2024-07-16 13:16:49+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CV, cs.LG, cs.NE, I.2.6 パーマリンク