Skip to main content
QUICK REVIEW

[论文解读] GOBO: Quantizing Attention-Based NLP Models for Low Latency and Energy Efficient Inference

Ali Hadi Zadeh, Isak Edo|arXiv (Cornell University)|May 7, 2020
Topic Modeling参考文献 50被引用 157
一句话总结

GOBO 是一种后训练量化技术,通过一种新颖的中心点选择算法,将基于注意力机制的 NLP 模型(如 BERT)中 99.9% 的 32 位浮点参数压缩至仅 3 位,且无需微调即可保持精度。该方法实现了 10 倍的模型尺寸压缩,硬件加速器中实现高达 7 倍的加速,同时能耗降低 3 倍,其核心在于计算过程中保持权重量化状态,从而减少片外内存访问流量。

ABSTRACT

Attention-based models have demonstrated remarkable success in various natural language understanding tasks. However, efficient execution remains a challenge for these models which are memory-bound due to their massive number of parameters. We present GOBO, a model quantization technique that compresses the vast majority (typically 99.9%) of the 32-bit floating-point parameters of state-of-the-art BERT models and their variants to 3 bits while maintaining their accuracy. Unlike other quantization methods, GOBO does not require fine-tuning nor retraining to compensate for the quantization error. We present two practical hardware applications of GOBO. In the first GOBO reduces memory storage and traffic and as a result inference latency and energy consumption. This GOBO memory compression mechanism is plug-in compatible with many architectures; we demonstrate it with the TPU, Eyeriss, and an architecture using Tensor Cores-like units. Second, we present a co-designed hardware architecture that also reduces computation. Uniquely, the GOBO architecture maintains most of the weights in 3b even during computation, a property that: (1) makes the processing elements area efficient, allowing us to pack more compute power per unit area, (2) replaces most multiply-accumulations with additions, and (3) reduces the off-chip traffic by amplifying on-chip memory capacity.

研究动机与目标

  • 为解决基于注意力机制的 NLP 模型(如 BERT)带来的高内存与高能耗问题,这些模型因参数量巨大而受内存带宽限制。
  • 开发一种量化方法,在量化后无需微调或重训练即可保持模型精度。
  • 通过压缩模型参数并协同设计可在量化权重上直接运算的硬件加速器,实现低延迟、高能效的推理。
  • 在多种架构(包括 TPU、Eyeriss 和类似 Tensor Core 的单元)上展示硬件兼容性与性能提升。
  • 证明在计算过程中保持权重为 3 位格式可提升面积效率,减少片外数据流量,并将大部分乘加运算替换为加法运算。

提出的方法

  • GOBO 发现,每一层中 99.9% 的权重遵循高斯分布,而 0.1% 为异常值。
  • 异常值权重以完整的 32 位精度存储,其余权重则使用仅 8 个代表性值(中心点)的字典进行表示。
  • 采用一种新颖的、收敛速度快的中心点选择算法,将非异常值权重分组至量化桶中,以最小化量化误差。
  • 该方法在计算过程中避免将量化权重重新扩展为 32 位浮点值,从而实现在 3 位格式下直接在片上处理。
  • 协同设计了一款硬件加速器,可直接在 3 位权重上执行计算,将大部分乘加运算替换为加法运算。
  • 硬件设计通过在整个处理过程中保持压缩权重,提升了片上内存容量,并减少了片外数据移动。

实验结果

研究问题

  • RQ1是否可以实现一种后训练量化方法,在无需微调的情况下将 BERT 的 99.9% 32 位参数压缩至 3 位,同时保持精度?
  • RQ2在计算过程中保持权重为 3 位格式,相比传统加速器,如何提升能效与性能?
  • RQ3GOBO 压缩对片外内存的推理延迟与能耗有何影响?
  • RQ4与 K-Means 相比,该新型中心点选择算法在收敛速度与精度方面表现如何?
  • RQ5在计算面积约束相同的情况下,基于 GOBO 的协同设计硬件加速器是否能实现比现有类似 Tensor Core 的架构更高的性能与能效?

主要发现

  • GOBO 在 GLUE 基准的挑战性 MNLI 任务上保持了模型精度,同时将 99.9% 的权重量化至 3 位,且无需微调。
  • 中心点选择算法的收敛速度比 K-Means 快 9 倍,且所需中心点数量减少一半,显著提升了压缩效率。
  • GOBO 的片外内存压缩使模型占用空间减少 10 倍,在 TPU 上实现 10 倍性能提升。
  • 在计算面积约束相同的情况下,GOBO 加速器比类似 Tensor Core 的加速器快 7 倍,能耗降低 3 倍。
  • 在 FP16 精度下,GOBO 比 IBM 的深度学习处理器(DLP)快 2.85 倍,能效高 6.8 倍;与 DLP+GOBO 压缩方案相比,能效提升 2.4 倍。
  • 由于减少了片外内存访问与片上内存放大,GOBO 加速器实现了 83% 的处理单元利用率,远超 IBM DLP 的 34%

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。