[论文解读] AdaptivFloat: A Floating-point based Data Type for Resilient Deep Learning Inference
AdaptivFloat 是一种动态的、受浮点数启发的数据类型,通过在深层神经网络的层级别最大化动态范围并最优地截断数值,实现了在超低精度(≤8位)下的更高推理精度。其在保持每操作能耗降低10%至100%的同时,相比基于整数的加速器,实现了高达+0.3 BLEU分数和-0.75 WER的改进,且在硬件实现中实现了1.14倍的面积效率和0.9倍的能耗效率提升。
Conventional hardware-friendly quantization methods, such as fixed-point or integer, tend to perform poorly at very low word sizes as their shrinking dynamic ranges cannot adequately capture the wide data distributions commonly seen in sequence transduction models. We present AdaptivFloat, a floating-point inspired number representation format for deep learning that dynamically maximizes and optimally clips its available dynamic range, at a layer granularity, in order to create faithful encoding of neural network parameters. AdaptivFloat consistently produces higher inference accuracies compared to block floating-point, uniform, IEEE-like float or posit encodings at very low precision ($\leq$ 8-bit) across a diverse set of state-of-the-art neural network topologies. And notably, AdaptivFloat is seen surpassing baseline FP32 performance by up to +0.3 in BLEU score and -0.75 in word error rate at weight bit widths that are $\leq$ 8-bit. Experimental results on a deep neural network (DNN) hardware accelerator, exploiting AdaptivFloat logic in its computational datapath, demonstrate per-operation energy and area that is 0.9$ imes$ and 1.14$ imes$, respectively, that of equivalent bit width integer-based accelerator variants.
研究动机与目标
- 为解决在具有宽权重分布的深度学习模型(如Transformer和RNN)中,定点数和整数量化性能不佳的问题。
- 开发一种基于浮点数的数据类型,使其能够按层动态调整指数范围,以在极低位宽下最大化表示保真度。
- 设计一种硬件高效的处理单元(HFINT PE),集成AdaptivFloat算术运算,以在能效和面积效率方面优于基于整数的替代方案。
- 证明AdaptivFloat在极低精度下,相比块浮点数、均匀分布、IEEE类浮点数或posit编码方案,能够实现更高的计算密度和更低的精度损失。
提出的方法
- AdaptivFloat 通过在每层动态调整指数偏置,最大化数值表示的可用动态范围。
- 对次正规数采用独特的截断策略,并设计定制化的零值分配方案,以降低硬件复杂度。
- 保持每个张量元素的指数和尾数位独立,避免块浮点格式中常见的精度损失。
- 通过算法-硬件协同设计,将自适应指数偏置存储在片上寄存器中,实现实时调整。
- 提出一种混合浮点-整数(HFINT)处理单元,结合浮点计算与定点后处理,以在精度和硬件密度之间取得平衡。
- 硬件采用高阶综合(HLS)在Verilog中实现,针对16nm FinFET工艺,采用流水线向量MAC单元以实现高吞吐量。
实验结果
研究问题
- RQ1基于浮点数的数据类型能否通过按层动态调整指数范围,提升低精度DNN推理的精度?
- RQ2在≤8位精度下,AdaptivFloat与定点数、块浮点数以及非自适应浮点数/posit格式相比,推理精度如何?
- RQ3在等效位宽下,使用AdaptivFloat的加速器相比基于整数的方案,其能耗和面积效率如何?
- RQ4所提出的HFINT处理单元能否在保持高精度的同时,实现优于单体整数PE的能效?
- RQ5AdaptivFloat能否在现有低精度编码方案中实现更高的计算密度并伴随更低的精度损失?
主要发现
- 在≤8位权重精度下,AdaptivFloat相较于FP32基线实现了高达+0.3 BLEU分数和-0.75 WER的改进,证明其在序列到序列模型中具有更优的精度表现。
- HFINT PE在不同向量大小和操作数位宽下,相比基于整数的PE,每操作能耗降低了0.90×至0.97×。
- HFINT加速器的面积比基于整数的加速器多1.14倍,但功耗仅为后者的0.92倍,证实了其更高的能效。
- 在8位精度下,AdaptivFloat在精度和能效方面始终优于块浮点数、均匀分布、IEEE类浮点数和posit编码。
- 算法-硬件协同设计实现了100%的计算时间效率,延迟与基于整数的设计相同,同时在PPA指标上表现更优。
- AdaptivFloat的自监督特性仅依赖于未标记的权重分布,无需微调,因此可广泛适用于各类DNN架构。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。