[论文解读] Quantized Training of Gradient Boosting Decision Trees
本文通过将梯度精度降低至2–3比特,提出了一种用于梯度提升决策树(GBDT)的量化训练方法,实现了高效的整数运算,并显著加速了训练过程。令人惊讶的是,该方法在保持模型精度的同时,使CPU、GPU和分布式系统上的训练速度最高提升了2倍,这是由于计算、内存和通信开销的降低。
Recent years have witnessed significant success in Gradient Boosting Decision Trees (GBDT) for a wide range of machine learning applications. Generally, a consensus about GBDT's training algorithms is gradients and statistics are computed based on high-precision floating points. In this paper, we investigate an essentially important question which has been largely ignored by the previous literature: how many bits are needed for representing gradients in training GBDT? To solve this mystery, we propose to quantize all the high-precision gradients in a very simple yet effective way in the GBDT's training algorithm. Surprisingly, both our theoretical analysis and empirical studies show that the necessary precisions of gradients without hurting any performance can be quite low, e.g., 2 or 3 bits. With low-precision gradients, most arithmetic operations in GBDT training can be replaced by integer operations of 8, 16, or 32 bits. Promisingly, these findings may pave the way for much more efficient training of GBDT from several aspects: (1) speeding up the computation of gradient statistics in histograms; (2) compressing the communication cost of high-precision statistical information during distributed training; (3) the inspiration of utilization and development of hardware architectures which well support low-precision computation for GBDT training. Benchmarked on CPUs, GPUs, and distributed clusters, we observe up to 2$ imes$ speedup of our simple quantization strategy compared with SOTA GBDT systems on extensive datasets, demonstrating the effectiveness and potential of the low-precision training of GBDT. The code will be released to the official repository of LightGBM.
研究动机与目标
- 研究在不牺牲模型性能的前提下,GBDT训练中梯度所需的最低精度。
- 通过用低精度整数运算替代高精度浮点运算,减少GBDT训练中的计算和通信开销。
- 通过梯度量化提升CPU、GPU和分布式集群上的训练效率。
- 通过与低精度计算工作负载对齐,为未来硬件加速铺平道路。
- 证明GBDT中的梯度包含显著冗余,可通过量化安全利用。
提出的方法
- 使用随机舍入将梯度量化至2–3比特,以最小化量化误差。
- 在梯度统计计算中,用8、16或32比特整数运算替代高精度浮点运算。
- 通过使用原始高精度梯度对叶节点值进行重新拟合,确保量化后的模型精度保持不变。
- 在分布式训练中使用整数型直方图进行梯度统计,通信带宽至少降低50%。
- 在新的GPU优化版LightGBM(LightGBM+)中实现该方法,支持GPU上的完整训练。
- 理论分析给出了在Hessian非恒定的损失函数下量化误差的上界,假设每个叶节点有足够的数据且分裂保持平衡。
实验结果
研究问题
- RQ1在不降低模型性能的前提下,GBDT训练中梯度精度可降低至何种程度?
- RQ2低精度梯度是否能在CPU、GPU和分布式系统上实现GBDT训练的显著加速?
- RQ3梯度量化对分布式GBDT训练中的通信成本有何影响?
- RQ4如何设计量化方法,以在保持模型精度的同时实现整数运算加速?
- RQ5在Hessian非恒定的GBDT中,何种理论条件可确保量化误差保持有界?
主要发现
- 使用2–3比特梯度的量化训练在CPU、GPU和分布式集群上相比最先进GBDT系统最高实现2倍加速。
- 由于采用整数型直方图,该方法在分布式训练中通信开销至少降低50%,提升了可扩展性。
- 模型精度与全精度训练几乎完全一致,在Higgs、Criteo、Yahoo LTR和Bosch等多个数据集上性能下降可忽略。
- 理论分析证实,在每个叶节点有足够的数据且分裂保持平衡等现实条件下,量化误差是有界的。
- 实证结果表明,GBDT中的梯度包含大量冗余,可通过量化安全利用而不会造成性能损失。
- 新的GPU优化版LightGBM+表明,使用低精度梯度实现完整训练流水线加速是可行的。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。