Most of today's computer vision pipelines are built around deep neural networks, where convolution operations require most of the generally high compute effort. The Winograd convolution algorithm computes convolutions with fewer MACs compared to the standard algorithm, reducing the operation count by a factor of 2.25x for 3x3 convolutions when using the version with 2x2-sized tiles $F_2$. Even though the gain is significant, the Winograd algorithm with larger tile sizes, i.e., $F_4$, offers even more potential in improving throughput and energy efficiency, as it reduces the required MACs by 4x. Unfortunately, the Winograd algorithm with larger tile sizes introduces numerical issues that prevent its use on integer domain-specific accelerators and higher computational overhead to transform input and output data between spatial and Winograd domains. To unlock the full potential of Winograd $F_4$, we propose a novel tap-wise quantization method that overcomes the numerical issues of using larger tiles, enabling integer-only inference. Moreover, we present custom hardware units that process the Winograd transformations in a power- and area-efficient way, and we show how to integrate such custom modules in an industrial-grade, programmable DSA. An extensive experimental evaluation on a large set of state-of-the-art computer vision benchmarks reveals that the tap-wise quantization algorithm makes the quantized Winograd $F_4$ network almost as accurate as the FP32 baseline. The Winograd-enhanced DSA achieves up to 1.85x gain in energy efficiency and up to 1.83x end-to-end speed-up for state-of-the-art segmentation and detection networks.
翻译:当今大多数计算机视觉管道都是围绕深神经网络建造的, 而在这种网络中, 共变操作需要大部分高的计算努力。 不幸的是, Winograd Convolution 算法比标准算法少了摩卡, 将3x3的3x3相变换的计算数减少2. 25x倍, 当使用2x2- 尺寸的瓷砖版本时, 3x3的计算数减少2. 25x倍 $F_ 2美元。 尽管收益很大, 但是Winograd 算法具有更大的瓷砖大小, 即 $F_ 4, 更可能提高产出效率, 因为它使所需要的摩卡减少4x。 不幸的是, Winograd 算法算法算法比比标准值低得多, 3x 3x 3x 的计算法, 使得它无法在整型域域域域内转换输入和输出数据。 为了充分释放Winograd d_F_4, 我们提议一种创新的滴算法的量化方法, 也就是使用更大的平流- 直线- 级的平级网络, 直径化的平流- 直径化的平流- 直径, 递化的平流- 直径化的平流化的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流的平流 。