[论文解读] BiQGEMM: Matrix Multiplication with Lookup Table For Binary-Coding-based Quantized DNNs
BiQGEMM 是一种针对基于二进制编码的量化深度神经网络(DNN)的新型矩阵乘法算法,通过使用预计算的查找表来替代冗余乘法运算,并利用固定宽度指令实现对非均匀量化权重的同时访问,从而加速推理。与基线 kGpu 相比,其性能最高可提升 30.42 倍,并在内存受限场景下优于基于 XNOR 的方法,尤其适用于输出尺寸大、批量尺寸小的自然语言处理(NLP)模型工作负载。
The number of parameters in deep neural networks (DNNs) is rapidly increasing to support complicated tasks and to improve model accuracy. Correspondingly, the amount of computations and required memory footprint increase as well. Quantization is an efficient method to address such concerns by compressing DNNs such that computations can be simplified while required storage footprint is significantly reduced. Unfortunately, commercial CPUs and GPUs do not fully support quantization because only fixed data transfers (such as 32 bits) are allowed. As a result, even if weights are quantized into a few bits, CPUs and GPUs cannot access multiple quantized weights without memory bandwidth waste. Success of quantization in practice, hence, relies on an efficient computation engine design, especially for matrix multiplication that is a basic computation engine in most DNNs. In this paper, we propose a novel matrix multiplication method, called BiQGEMM, dedicated to quantized DNNs. BiQGEMM can access multiple quantized weights simultaneously in one instruction. In addition, BiQGEMM pre-computes intermediate results that are highly redundant when quantization leads to limited available computation space. Since pre-computed values are stored in lookup tables and reused, BiQGEMM achieves lower amount of overall computations. Our extensive experimental results show that BiQGEMM presents higher performance than conventional schemes when DNNs are quantized.
研究动机与目标
- 解决冯·诺依曼架构中因内存带宽利用效率低下而导致的量化 DNN 推理性能瓶颈。
- 克服 CPU/GPU 在处理非均匀量化权重(如 1-bit、2-bit)时固定宽度数据传输的限制。
- 通过预计算并存储中间结果到查找表中,减少量化 DNN 矩阵乘法中的冗余计算。
- 在无需硬件修改的前提下,实现在现代 CPU/GPU 上的高性能 GEMM 操作,尤其适用于输出维度大、批量尺寸小的模型。
- 提供一种高效的纯软件级解决方案,提升量化 DNN 推理中的计算效率与内存带宽利用率。
提出的方法
- 预计算并存储量化矩阵乘法中的中间结果到查找表中,以替代重复的乘法运算。
- 设计一种内存访问模式,使多个非均匀量化权重可在单条指令中被加载,最大限度减少内存带宽浪费。
- 使用位打包技术高效存储量化权重,并以支持每字中同时处理多个比特的方式解包。
- 将基于查找表的计算集成到操作量化权重矩阵的 GEMM 内核中,避免显式乘法运算。
- 针对输出尺寸(m)大而批量尺寸(n)小的场景进行算法优化——这类场景在 Transformer 和 LSTM 等 NLP 模型中十分常见。
- 在 GPU 上实现该方法,采用修改后的 kGpu 基线,并与基于 XNOR 和标准 GEMM 的方法进行对比。
实验结果
研究问题
- RQ1基于查找表的预计算能否显著减少量化 DNN 矩阵乘法中的冗余计算?
- RQ2在固定宽度处理器上访问非均匀量化权重时,如何最大化内存带宽利用率?
- RQ3在量化 DNN 的 GEMM 内核中,结合位打包与查找表能带来多大的性能提升?
- RQ4在哪些工作负载场景下(如大 m、小 n),BiQGEMM 能够优于 XNOR 和 kGpu 等现有量化 GEMM 方法?
- RQ5BiQGEMM 在保持模型精度的前提下,能在多大程度上降低计算复杂度?
主要发现
- BiQGEMM 在 1-bit 量化 DNN 的矩阵乘法中,与 kGpu 基线相比最高可实现 30.42 倍的性能提升,尤其在矩阵尺寸大、批量尺寸小时效果显著。
- 性能提升随输出尺寸(m)增大和批量尺寸(n)减小而增强,使 BiQGEMM 在 Transformer 和 LSTM 等 NLP 模型中尤为高效。
- 即使 XNOR 方法已针对 1-bit 操作进行优化,BiQGEMM 在内存受限场景下仍优于基于 XNOR 的方法。
- 通过使用查找表,BiQGEMM 显著减少了因低比特量化导致输出空间受限时的冗余计算。
- 该方法通过单条指令同时访问多个非均匀量化权重,显著提升了内存带宽利用率,降低了数据传输开销。
- BiQGEMM 在现代冯·诺依曼架构上表现出高效率,且无需硬件修改,使其在标准 CPU 和 GPU 上具有良好的可部署性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。