[论文解读] Faster Boosting with Smaller Memory
本文提出Sparrow,一种内存高效的提升算法,通过结合早停、有效样本量估计和分层加权采样,在大数据集上实现比XGBoost和LightGBM快10–100倍的加速。该方法在内存中动态维护一个小型、具有代表性的训练样本,减少I/O开销,同时保持模型精度,尤其在数据量超过可用RAM时表现优异。
State-of-the-art implementations of boosting, such as XGBoost and LightGBM, can process large training sets extremely fast. However, this performance requires that the memory size is sufficient to hold a 2-3 multiple of the training set size. This paper presents an alternative approach to implementing the boosted trees, which achieves a significant speedup over XGBoost and LightGBM, especially when the memory size is small. This is achieved using a combination of three techniques: early stopping, effective sample size, and stratified sampling. Our experiments demonstrate a 10-100 speedup over XGBoost when the training data is too large to fit in memory.
研究动机与目标
- 解决梯度提升在超过可用主内存的大数据集上面临的性能瓶颈问题。
- 在内存受限环境中减少训练时间,同时不牺牲模型精度。
- 设计一种能够动态在内存中维护小型、代表性训练数据样本的提升算法。
- 通过新颖的采样和停止策略,实现在主内存容量之外的数据集上的高效训练。
提出的方法
- 基于序贯分析的早停策略,以最小化每轮提升迭代中扫描的样本数量。
- 引入有效样本数($n_{\text{eff}}$)以量化在权重分布偏斜情况下的梯度估计的统计可靠性。
- 使用分层加权采样,高效地从高度偏斜的加权数据中采样,确保最多50%的拒绝率。
- 当 $n_{\text{eff}}/n$ 低于阈值时,动态刷新并替换内存中的样本,以确保代表性。
- 将这些技术整合为一种新型提升框架Sparrow,避免了先前工作中使用固定采样阈值所导致的偏差。
- 实现一种基于置信区间平衡估计精度与计算成本的停止规则。
实验结果
研究问题
- RQ1当训练数据超过可用主内存时,能否在不牺牲精度的前提下显著加速提升算法?
- RQ2如何在保持可靠的梯度估计的同时,减少每轮提升迭代中扫描的样本数量?
- RQ3何种度量能够有效量化提升中加权样本的统计质量?
- RQ4能否设计一种在权重高度偏斜时仍保持高效的采样策略?
- RQ5基于有效样本量的动态样本替换如何提升训练效率?
主要发现
- 在包含6亿个样本的海深数据集上,Sparrow的训练速度比XGBoost和LightGBM快10–20倍,即使内存容量大于数据集本身。
- 在包含5000万个样本的剪接位点数据集上,Sparrow可在8GB内存下成功训练,而XGBoost的外部内存模式至少需要15GB内存,且运行速度慢3倍。
- LightGBM和内存内XGBoost在内存低于244GB时崩溃,而Sparrow保持稳定且高效。
- 在所有内存设置下,Sparrow在AUROC和训练速度方面均优于基线模型,尤其在低内存环境下表现更优。
- 该方法保持了与全数据基线相当的高精度,且未因采样引入偏差,而先前使用固定阈值的方法则存在偏差。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。