[论文解读] DPRed: Making Typical Activation Values Matter In Deep Learning Computing.
DPRed 提出了一种针对深度神经网络中激活值的动态、实时精度调节机制,其粒度细于层级,利用一种名为 DPRed Stripes(DPRS)的硬件加速器实现。在卷积神经网络中,DPRS 相较于固定精度加速器实现了 2.61 倍的加速和 1.84 倍更好的能效比,且在全连接层中进一步提升了性能。
We show that selecting a fixed precision for all activations in Convolutional Neural Networks, even if that precision is different per layer, amounts to worst case design. We show that much lower precisions can be used, if we could target the common case instead by tailoring the precision at a much finer granularity than that of a layer. We propose Dynamic Prediction Reduction (DPRed) where hardware on-the-fly detects the precision activations need and at a much finer granularity than a whole layer. We demonstrate a practical implementation of DPRed with DPRed Stripes (DPRS), a data-parallel hardware accelerator that adjusts precision on-the-fly to accommodate the values of the activations it processes concurrently. DPRS accelerates convolutional layers and executes unmodified convolutional neural networks. DPRS is 2.61x faster and 1.84x more energy efficient than a fixed-precision accelerator for a set of convolutional neural networks. We further extend DPRS to exploit activation and weight precisions for fully-connected layers. The enhanced design improves average performance and energy efficiency respectively by 2.59x and 1.19x over the fixed-precision accelerator for a broader set of neural networks. We also consider a lower cost variant that supports only even precision widths which offers better energy efficiency.
研究动机与目标
- 解决卷积神经网络中所有激活值采用固定精度计算的低效问题,该方法对所有数值一视同仁,尽管其数值范围各不相同。
- 克服基于层的精度选择的局限性,后者无法捕捉每层内激活值分布的细粒度差异。
- 设计一种硬件加速器,能够实时按每个激活值调整精度,从而提升性能和能效比。
- 通过在硬件层面集成动态精度控制,实现对未经修改的 CNN 模型的高效执行,同时仅需极少的架构改动。
- 将该方法扩展至全连接层,并在更广泛的神经网络架构上评估性能表现。
提出的方法
- 提出动态预测压缩(DPRed),一种基于激活值大小及其分布,识别每个激活值所需最小精度的技术。
- 实现 DPRed Stripes(DPRS),一种数据并行的硬件加速器,通过实时分析在推理过程中动态调整每个激活值的精度。
- 采用运行时机制检测激活值的取值范围,并在单个值或小批量的粒度上选择最优精度宽度。
- 在完整设计中支持奇数和偶数精度宽度,同时提供一种仅支持偶数精度宽度的低成本变体,以提升能效比。
- 将 DPRS 无缝集成到推理流水线中,无需模型微调或网络结构修改,确保与现有模型的向后兼容性。
- 通过为权重和激活值均适配精度选择机制,将该框架扩展至全连接层,从而提升密集层的效率。
实验结果
研究问题
- RQ1动态的、基于每个激活值的精度选择是否能在卷积神经网络推理中,优于固定精度计算的性能和能效比?
- RQ2在细于层级的粒度上实现运行时精度调节,是否能带来可测量的加速器性能提升?
- RQ3与固定精度基线相比,DPRS 在多种卷积神经网络架构上的表现如何?
- RQ4精度自适应在多大程度上可扩展至全连接层,同时保持高性能和高能效?
- RQ5当加速器设计中仅支持偶数精度宽度时,硬件复杂度与能效比之间的权衡如何?
主要发现
- DPRed Stripes(DPRS)在一组卷积神经网络上,相较固定精度加速器实现了 2.61 倍的加速和 1.84 倍的能效比提升。
- 当扩展至全连接层时,增强版 DPRS 相较于固定精度基线,平均性能提升 2.59 倍,能效比提升 1.19 倍。
- 仅支持偶数精度宽度的 DPRS 低成本变体,在降低硬件复杂度的同时,相比全精度版本展现出更优的能效比。
- DPRS 中的动态精度选择机制在无需模型微调或架构修改的前提下,实现了显著的性能提升。
- 该方法通过在细粒度上为常见激活值量身定制精度,避免了按层固定精度的最坏情况设计,从而实现高效优化。
- 结果表明,通过按值粒度显著降低激活精度,可在不损害模型准确率的前提下,带来显著的效率增益。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。