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 CPU, GPU, and distributed clusters, we observe up to 2$\times$ 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.
翻译:近些年来,Gradient 推动决定树(GBDT)在一系列广泛的机器学习应用中取得了巨大成功。 一般来说,我们对GBDT培训算法的共识是梯度,并且根据高精度浮动点计算统计数据。 在本文中,我们调查了一个基本上被先前文献忽视的根本性问题:在培训GBDT中代表梯度需要多少位数来代表梯度?为了解决这一谜题,我们建议用非常简单而有效的方法,在GBDT培训算法中对所有高精度梯度进行量化。 令人惊讶的是,我们理论分析和经验研究都表明,在不伤害任何性能的情况下,梯度的必要精确度可能相当低,例如,2或3位位。 在低精度梯度梯度梯度梯度计算中,大多数GBDT培训的算术操作可以被8,16或32位整数的整数取代。 令人乐观的是,这些结论可能会为从几个方面对GBDDD进行更高效的广泛培训铺平道路:(1) 加速计算梯度的梯度统计梯度数据,在他级培训的梯度上显示梯度的梯度的梯度的比的比的比数据,在SBBLIBDBSDB的精度的精度的精度的精度的精度的精度的精度的精度,在SDBDB的精度的精度的精度的精度的精度的精度的精度的精度上,在SB的精度的精度的精度的精度分析中,在它的精度的精度上将精确度的精度的精度的精度的精度,在它的精度上进行的精度,在它的精度上,在它的精度上进行。