Precision scaling has emerged as a popular technique to optimize the compute and storage requirements of Deep Neural Networks (DNNs). Efforts toward creating ultra-low-precision (sub-8-bit) DNNs suggest that the minimum precision required to achieve a given network-level accuracy varies considerably across networks, and even across layers within a network, requiring support for variable precision in DNN hardware. Previous proposals such as bit-serial hardware incur high overheads, significantly diminishing the benefits of lower precision. To efficiently support precision re-configurability in DNN accelerators, we introduce an approximate computing method wherein DNN computations are performed block-wise (a block is a group of bits) and re-configurability is supported at the granularity of blocks. Results of block-wise computations are composed in an approximate manner to enable efficient re-configurability. We design a DNN accelerator that embodies approximate blocked computation and propose a method to determine a suitable approximation configuration for a given DNN. By varying the approximation configurations across DNNs, we achieve 1.17x-1.73x and 1.02x-2.04x improvement in system energy and performance respectively, over an 8-bit fixed-point (FxP8) baseline, with negligible loss in classification accuracy. Further, by varying the approximation configurations across layers and data-structures within DNNs, we achieve 1.25x-2.42x and 1.07x-2.95x improvement in system energy and performance respectively, with negligible accuracy loss.
翻译:精确度缩放已成为优化深神经网络(DNN)的计算和储存要求的流行技术。为创建超低精确度(sub-8-bit) DNN的努力表明,实现特定网络级精确度所需的最低精度在各网络之间,甚至在一个网络内部的跨层之间差异很大,需要为DNN硬件的可变精确度提供支持。以前的建议,如Bits-serial硬件产生高间接费用,大大降低低精确度的好处。为了高效率地支持DNNN加速器的精确再配置,我们采用了一种大致的计算方法,即DNN的精确性能按区块进行(一个区块是一组比特)和重新配置。在区块的颗粒度上支持达到特定网络级准确度的最小精度。 区块计算结果以近似的方式组成能够高效重新配置 DNNN硬件。 我们设计了一个DNNC加速器, 并提出了一种确定特定 DNNN的精确度配置方法。 通过在 DNNW 的近似配置, 我们分别实现1.17x-2x 的精确度- 2x 的精确度的精确度, 在1.72x 和10x 的精确度上的数据级中, 我们的精确度上, 以1.