[論文レビュー] DPRed: Making Typical Activation and Weight Values Matter In Deep Learning Computing
DPRedは、重みと活性化をグループ化して各グループに特化した精度を適用することで、深層ニューラルネットワークにおける動的精度低減を提案する。これにより、オフチップメモリトラフィックを最大65%削減し、パフォーマンスとエネルギー効率を向上させる。ハードウェアは活性化グループごとに精度を動的に適応可能となり、ネットワークの再トレーニングやモデルアーキテクチャの変更なしに8ビットネットワークで1.82倍〜2.81倍の高速化を達成する。
We show that selecting a single data type (precision) for all values in Deep Neural Networks, even if that data type is different per layer, amounts to worst case design. Much shorter data types can be used if we target the common case by adjusting the precision at a much finer granularity. We propose Dynamic Precision Reduction (DPRed), where we group weights and activations and encode them using a precision specific to each group. The per group precisions are selected statically for the weights and dynamically by hardware for the activations. We exploit these precisions to reduce: 1) off-chip storage and off- and on-chip communication, and 2) execution time. DPRed compression reduces off-chip traffic to nearly 35% and 33% on average compared to no compression respectively for 16b and 8b models. This makes it possible to sustain higher performance for a given off-chip memory interface while also boosting energy efficiency. We also demonstrate designs where the time required to process each group of activations and/or weights scales proportionally to the precision they use for convolutional and fully-connected layers. This improves execution time and energy efficiency for both dense and sparse networks. We show the techniques work with 8-bit networks, where 1.82x and 2.81x speedups are achieved for two different hardware variants that take advantage of dynamic precision variability.
研究の動機と目的
- 固定精度設計による深層学習アクセラレータの非効率性、特にまれな高マグニチュード値に過剰にリソースを割り当てることを是正すること。
- 多くの重みと活性化がゼロに近いことに着目し、レイヤー単位のプロファイリングよりも細粒度の高い精度適応を可能にすること。
- グループ固有の精度を用いてデータを圧縮することで、オフチップメモリ帯域とオンチップ通信を削減すること。
- 各データグループの精度に応じて処理ユニットがパフォーマンスをスケーリング可能となるようにすることで、実行時間とエネルギー効率を向上させること。
- モデルの再トレーニングやアーキテクチャ変更なしに、入力依存の活性化精度に適応可能なハードウェアアクセラレーションを可能にすること。
提案手法
- DPRedは重みと活性化を小さなクラスタにグループ化し、各グループにその値分布に最適化された精度を割り当てる。
- 重みに関しては、プロファイリングにより事前に静的に精度を選択し、モデル事前処理段階で適用する。
- 活性化に関しては、実行時に入力に応じて動的に精度を決定し、ハードウェアが選択する。
- システムは、グループ固有の精度を用いてデータを圧縮・復元するブロックを備え、オフチップトラフィックを削減する。
- DStripesアクセラレータ設計は、DPRedを統合し、処理ユニットが各データグループの精度に比例して処理時間をスケーリング可能となるようにする。
- このアプローチは、密度の高いネットワークとスパースなネットワークの両方をサポートし、既存の量子化およびプルーニング技術と互換性を持つ。
実験結果
リサーチクエスチョン
- RQ1動的でグループ単位の精度適応は、固定されたレイヤー単位の精度よりも、オフチップメモリトラフィックをより効果的に削減できるか?
- RQ2レイヤー単位よりも細粒度の高い精度適応により、どの程度のパフォーマンスおよびエネルギー効率の向上が達成できるか?
- RQ3動的精度低減を重みと活性化の両方に対して、モデルの再トレーニングやアーキテクチャ変更なしに適用できるか?
- RQ4入力依存の活性化精度がハードウェアのパフォーマンスおよび通信効率に与える影響は何か?
- RQ5帯域幅の削減および高速化の観点で、DPRedは既存の圧縮および量子化技術と比較してどの程度優れているか?
主な発見
- DPRedは、16ビットおよび8ビットモデルにおいて、固定レイヤー単位精度と比較して、オフチップトラフィックをそれぞれ35%および33%にまで削減した(固定レイヤー精度では50%)。
- 圧縮方式により、オフチップトラフィックがベースラインの38%にまで削減され、固定精度アプローチを上回る性能を示した。
- DStripesは、2つのハードウェアバリアントにおいて、8ビットネットワークでそれぞれ1.82倍および2.81倍の高速化を達成した。これは、グループごとの動的精度に適応した結果である。
- この方法により、実行時間の精度に比例したスケーリングが可能となり、密度の高いネットワークおよびスパースなネットワークの両方でエネルギー効率が向上した。
- DPRedは8ビット量子化ネットワークにおいても有効であり、既存の量子化技術に対して高い耐性を示した。
- このアプローチはプルーニングおよび量子化と直交しており、EIE、TRT、Bit-Fusionと組み合わせることでさらなるパフォーマンス向上が可能である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。