[论文解读] Hardware Acceleration of Fully Quantized BERT for Efficient Natural Language Processing
本文提出了一种全量化 BERT(FQ-BERT)模型及其专用 FPGA 加速器,以实现在边缘设备上的高效推理。通过将所有模型组件——包括权重、激活值、缩放因子、Softmax 和层归一化——量化为 4/8 位整数,FQ-BERT 实现了 7.94× 的模型压缩,且精度损失极小。该加速器在 ZCU111 FPGA 上实现了 3.18 fps/W 的能效,相较于 CPU 和 GPU,其每瓦性能分别提升了 28.91× 和 12.72×。
BERT is the most recent Transformer-based model that achieves state-of-the-art performance in various NLP tasks. In this paper, we investigate the hardware acceleration of BERT on FPGA for edge computing. To tackle the issue of huge computational complexity and memory footprint, we propose to fully quantize the BERT (FQ-BERT), including weights, activations, softmax, layer normalization, and all the intermediate results. Experiments demonstrate that the FQ-BERT can achieve 7.94x compression for weights with negligible performance loss. We then propose an accelerator tailored for the FQ-BERT and evaluate on Xilinx ZCU102 and ZCU111 FPGA. It can achieve a performance-per-watt of 3.18 fps/W, which is 28.91x and 12.72x over Intel(R) Core(TM) i7-8700 CPU and NVIDIA K80 GPU, respectively.
研究动机与目标
- 在资源受限的边缘设备(如 FPGA)上实现高效的 BERT 推理。
- 通过完全量化所有参数和中间结果,减小模型大小并降低计算复杂度。
- 设计一种硬件感知的加速器,支持运行时的混合精度整数运算(8/4 位和 8/8 位计算)。
- 与 CPU 和 GPU 相比,在 FPGA 平台上实现更高的能效和每瓦性能。
- 在标准 NLP 基准测试中评估量化精度、模型压缩与精度之间的权衡。
提出的方法
- 采用基于激活统计量指数移动平均(EMA)的缩放因子,对权重和激活值实施对称线性量化。
- 提出一种统一的量化方案,用于偏置、缩放因子、Softmax 和层归一化,采用定点表示。
- 在加速器中采用位级可重构乘法器,动态支持运行时的 8/4 位和 8/8 位乘法运算。
- 设计基于点积的处理单元(PE)架构,并采用任务级调度,以重叠片外内存传输与计算过程。
- 使用高层次综合(Vivado HLS)在 Xilinx ZCU102 和 ZCU111 MPSoC 平台实现加速器。
- 采用两阶段量化训练流程:先在全精度 BERT 上进行预训练,再通过量化函数微调以保持精度。

实验结果
研究问题
- RQ1对 BERT 所有组件(权重、激活值、缩放因子、Softmax、层归一化)进行全量化,能否在极小精度损失下实现高模型压缩?
- RQ2基于 FPGA 的 FQ-BERT 加速器在标准 NLP 工作负载下的每瓦性能,与 CPU 和 GPU 相比如何?
- RQ3对不同组件(如 Softmax、层归一化)进行量化,对整体模型精度有何影响?
- RQ4任务级调度与部分权重加载能否有效重叠 FPGA 上的内存访问与计算?
- RQ5当增加处理单元(PE)和乘法器数量时,该加速器的可扩展性如何?
主要发现
- FQ-BERT 在 SST-2 数据集上实现了 7.94× 的模型压缩比,精度仅下降 0.81%;在 MNLI 数据集上精度下降 3.08%。
- 消融实验表明,量化 Softmax 和层归一化可将精度从 91.28% 提升至 91.86%,表明其潜在优势不仅限于权重和激活值。
- 在 ZCU111 FPGA 上,FPGA 加速器实现了 3.18 fps/W 的能效,较 Intel i7-8700 CPU 提升 28.91×,较 NVIDIA K80 GPU 提升 12.72×。
- 单条序列的延迟为 23.79 ms,功耗为 13.2W,显著优于 CPU(145.06 ms,65W)和 GPU(27.84 ms,143W)。
- 在 ZCU111 上将 BIM 单元中的乘法器数量加倍后,延迟从 23.79 ms 降低至 12.03 ms,表明具有出色的可扩展性。
- 在配备 16 个 PE 和 16 个乘法器的 ZCU111 上,该加速器使用了 679 个 BRAM18K 和 3287 个 DSP48E 切片,展现出面向高吞吐量推理的高效资源利用。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。