近年来,在广泛的机器学习应用程序中,在梯度增强决策树(GBDT)方面取得了重大成功。通常,关于GBDT训练算法的共识是梯度,统计数据是根据高精度浮点计算的。在本文中,我们调查了一个本质上重要的问题,该问题在先前的文献中在很大程度上被忽略了:代表培训GBDT的梯度需要多少位?为了解决这个谜团,我们建议在GBDT的培训算法中以非常简单但有效的方式量化所有高精度梯度。令人惊讶的是,我们的理论分析和实证研究都表明,梯度的必要精度而不伤害任何性能可能很低,例如2或3位。对于低精度梯度,GBDT培训中的大多数算术操作可以用8、16或32位的整数操作代替。有希望的是,这些发现可能为从几个方面对GBDT进行更有效训练的方式铺平了道路:(1)加速直方图中梯度统计的计算; (2)在分布式培训期间压缩高精度统计信息的通信成本; (3)使用和开发硬件体系结构的灵感,这些架构很好地支持了用于GBDT培训的低精确计算。与大量数据集中的SOTA GBDT系统相比,我们在CPU,GPU和分布式集群上进行了基准测试,最多可容纳我们简单量化策略的速度,这表明了GBDT低表演培训的有效性和潜力。该代码将发布给LightGBM的官方存储库。
translated by 谷歌翻译
Gradient Boosting Decision Tree (GBDT) is a popular machine learning algorithm, and has quite a few effective implementations such as XGBoost and pGBRT. Although many engineering optimizations have been adopted in these implementations, the efficiency and scalability are still unsatisfactory when the feature dimension is high and data size is large. A major reason is that for each feature, they need to scan all the data instances to estimate the information gain of all possible split points, which is very time consuming. To tackle this problem, we propose two novel techniques: Gradient-based One-Side Sampling (GOSS) and Exclusive Feature Bundling (EFB). With GOSS, we exclude a significant proportion of data instances with small gradients, and only use the rest to estimate the information gain. We prove that, since the data instances with larger gradients play a more important role in the computation of information gain, GOSS can obtain quite accurate estimation of the information gain with a much smaller data size. With EFB, we bundle mutually exclusive features (i.e., they rarely take nonzero values simultaneously), to reduce the number of features. We prove that finding the optimal bundling of exclusive features is NP-hard, but a greedy algorithm can achieve quite good approximation ratio (and thus can effectively reduce the number of features without hurting the accuracy of split point determination by much). We call our new GBDT implementation with GOSS and EFB LightGBM. Our experiments on multiple public datasets show that, LightGBM speeds up the training process of conventional GBDT by up to over 20 times while achieving almost the same accuracy.
translated by 谷歌翻译
越来越多的内容和机构努力使用外部数据来提高AI服务的性能。为了解决数据隐私和安全问题,联合学习吸引了学术界和工业的越来越多的关注,以安全地构建跨多个隔离数据提供商的AI模型。在本文中,我们研究了在现实世界应用中扩展广泛使用的XGBoost模型的效率问题,以垂直联合学习设置。最先进的垂直联合XGBoost框架需要大量的加密操作和密文传输,这使得模型培训比在本地培训XGBoost模型的效率更少。为了弥合这一差距,我们提出了一种新型批量均匀加密方法,以降低加密相关的计算和传输成本。这是通过将一阶导数和二阶导数编码成单个号码以进行加密,密文传输和同型添加操作来实现。可以从编码值的总和同时解码多个一阶导数和二阶导数的总和。我们在批量联合学习的Batchcrypt工作中受到了批量思想,并设计了一种新的批处理方法来解决允许相当数量的负数的限制。所提出的批处理方法的编码过程由四个步骤组成,包括转换,截断,量化和批量,而解码过程包括去量化和移位。通过理论分析和广泛的数值实验证明了我们的方法的优点。
translated by 谷歌翻译
训练机学习(ML)算法是一个计算密集型过程,由于反复访问大型培训数据集,经常会陷入内存。结果,以处理器为中心的系统(例如CPU,GPU)遭受了内存单元和处理单元之间的昂贵数据移动,这会消耗大量的能量和执行周期。以内存为中心的计算系统,即具有内存(PIM)功能,可以减轻此数据运动瓶颈。我们的目标是了解现代通用PIM体系结构加速ML培训的潜力。为此,我们(1)在现实世界通用PIM体系结构上实现了几种代表性的经典ML算法(即线性回归,逻辑回归,决策树,K-均值聚类),(2)严格评估并表征它们在准确性,性能和缩放方面以及(3)与CPU和GPU上的对应物实现相比。我们对具有2500多个PIM核心的真实内存计算系统的评估表明,当PIM硬件在必要的操作和数据类型上,通用PIM架构可以极大地加速内存的ML工作负载。例如,我们对决策树的PIM实施比8核Intel Xeon上的最先进的CPU版本$ 27 \ times $ $,并且比最先进的GPU快$ 1.34 \ times $ $ NVIDIA A100上的版本。我们在PIM上的K-Means聚类分别为$ 2.8 \ times $和$ 3.2 \ times $ $,分别是最先进的CPU和GPU版本。据我们所知,我们的工作是第一个评估现实世界中PIM架构的ML培训的工作。我们以关键的观察,外卖和建议结束,可以激发ML工作负载的用户,PIM架构的程序员以及未来以内存计算系统的硬件设计师和架构师。
translated by 谷歌翻译
现代深度学习模型通常在分布式机器集合中并行培训,以减少训练时间。在这种情况下,机器之间模型更新的通信变成了一个重要的性能瓶颈,并且已经提出了各种有损的压缩技术来减轻此问题。在这项工作中,我们介绍了一种新的,简单但理论上和实践上有效的压缩技术:自然压缩(NC)。我们的技术分别应用于要进行压缩的更新向量的所有条目,并通过随机舍入到两个的(负或正)两种功能,可以通过忽略Mantissa来以“自然”方式计算。我们表明,与没有压缩相比,NC将压缩向量的第二刻增加不超过微小因子$ \ frac {9} {8} $,这意味着NC对流行训练算法的收敛速度的影响,例如分布式SGD,可以忽略不计。但是,NC启用的通信节省是可观的,导致$ 3 $ - $ 4 \ times $ $改善整体理论运行时间。对于需要更具侵略性压缩的应用,我们将NC推广到自然抖动,我们证明这比常见的随机抖动技术要好得多。我们的压缩操作员可以自行使用,也可以与现有操作员结合使用,从而产生更具侵略性的结合效果,并在理论和实践中提供新的最先进。
translated by 谷歌翻译
Tree boosting is a highly effective and widely used machine learning method. In this paper, we describe a scalable endto-end tree boosting system called XGBoost, which is used widely by data scientists to achieve state-of-the-art results on many machine learning challenges. We propose a novel sparsity-aware algorithm for sparse data and weighted quantile sketch for approximate tree learning. More importantly, we provide insights on cache access patterns, data compression and sharding to build a scalable tree boosting system. By combining these insights, XGBoost scales beyond billions of examples using far fewer resources than existing systems.
translated by 谷歌翻译
Parallel implementations of stochastic gradient descent (SGD) have received significant research attention, thanks to its excellent scalability properties. A fundamental barrier when parallelizing SGD is the high bandwidth cost of communicating gradient updates between nodes; consequently, several lossy compresion heuristics have been proposed, by which nodes only communicate quantized gradients. Although effective in practice, these heuristics do not always converge. In this paper, we propose Quantized SGD (QSGD), a family of compression schemes with convergence guarantees and good practical performance. QSGD allows the user to smoothly trade off communication bandwidth and convergence time: nodes can adjust the number of bits sent per iteration, at the cost of possibly higher variance. We show that this trade-off is inherent, in the sense that improving it past some threshold would violate information-theoretic lower bounds. QSGD guarantees convergence for convex and non-convex objectives, under asynchrony, and can be extended to stochastic variance-reduced techniques. When applied to training deep neural networks for image classification and automated speech recognition, QSGD leads to significant reductions in end-to-end training time. For instance, on 16GPUs, we can train the ResNet-152 network to full accuracy on ImageNet 1.8× faster than the full-precision variant. time to the same target accuracy is 2.7×. Further, even computationally-heavy architectures such as Inception and ResNet can benefit from the reduction in communication: on 16GPUs, QSGD reduces the end-to-end convergence time of ResNet152 by approximately 2×. Networks trained with QSGD can converge to virtually the same accuracy as full-precision variants, and that gradient quantization may even slightly improve accuracy in some settings. Related Work. One line of related research studies the communication complexity of convex optimization. In particular, [40] studied two-processor convex minimization in the same model, provided a lower bound of Ω(n(log n + log(1/ ))) bits on the communication cost of n-dimensional convex problems, and proposed a non-stochastic algorithm for strongly convex problems, whose communication cost is within a log factor of the lower bound. By contrast, our focus is on stochastic gradient methods. Recent work [5] focused on round complexity lower bounds on the number of communication rounds necessary for convex learning.Buckwild! [10] was the first to consider the convergence guarantees of low-precision SGD. It gave upper bounds on the error probability of SGD, assuming unbiased stochastic quantization, convexity, and gradient sparsity, and showed significant speedup when solving convex problems on CPUs. QSGD refines these results by focusing on the trade-off between communication and convergence. We view quantization as an independent source of variance for SGD, which allows us to employ standard convergence results [7]. The main differences from Buckw
translated by 谷歌翻译
随着时间的推移,状态优化者维持梯度统计数据,例如,过去梯度值的指数平滑总和(具有动量)或平方和平方和。与普通的随机梯度下降相比,该状态可用于加速优化,但使用否则可能会分配给模型参数的内存,从而限制了在实践中训练的模型的最大尺寸。在本文中,我们开发了使用8位统计数据的第一批优化器,同时保持使用32位优化器状态的性能水平。为了克服最终的计算,量化和稳定性挑战,我们开发了稳固的动态量化。块量化将输入张量分为独立量化的较小块。每个块跨核并行处理,得出更快的优化和高精度量化。为了维持稳定性和性能,我们将块量化与其他两个更改相结合:(1)动态量化,一种非线性优化的形式,对于大小的小幅度值都是精确的,(2)稳定的嵌入层到减少来自语言模型中输入令牌的高度不均匀分布所带来的梯度差异。结果,我们的8位优化器在一系列任务上保持了32位的性能,其中包括1.5B参数语言建模,胶水芬特,Imagenet分类,WMT'14机器翻译,Moco V2对比相比, ImageNet预训练+芬太尼和罗伯塔训练,而没有更改原始优化器超参数。我们开放我们的8位优化器作为一个仅需要两行代码更改的置换式替换。
translated by 谷歌翻译
代表低精度的深度神经网络(DNN)是一种有希望的方法来实现有效的加速和记忆力。以前的方法在低精度中培训DNN的方法通常在重量更新期间在高精度中保持重量的重量副本。由于低精度数字系统与学习算法之间的复杂相互作用,直接具有低精度重量的培训导致精度下降。为了解决这个问题,我们开发了一个共同设计的低精度训练框架,被称为LNS-MADAM,我们共同设计了对数号系统(LNS)和乘法权重算法(MADAM)。我们证明了LNS-MADAM在重量更新期间导致低量化误差,即使精度有限,也导致稳定的收敛。我们进一步提出了LNS-MADAM的硬件设计,可以解决实现LNS计算的有效数据路径的实际挑战。我们的实现有效地降低了LNS - 整数转换和部分总和累积所产生的能量开销。实验结果表明,LNS-MADAM为全精密对应物达到了可比的准确性,只有8位对流行的计算机视觉和自然语言任务。与全精密浮点实施相比,LNS-MADAM将能耗降低超过90。
translated by 谷歌翻译
分布式平均值估计(DME)是联邦学习中的一个中央构建块,客户将本地梯度发送到参数服务器,以平均和更新模型。由于通信限制,客户经常使用有损压缩技术来压缩梯度,从而导致估计不准确。当客户拥有多种网络条件(例如限制的通信预算和数据包损失)时,DME更具挑战性。在这种情况下,DME技术通常会导致估计误差显着增加,从而导致学习绩效退化。在这项工作中,我们提出了一种名为Eden的强大DME技术,该技术自然会处理异质通信预算和数据包损失。我们为伊甸园提供了有吸引力的理论保证,并通过经验进行评估。我们的结果表明,伊甸园对最先进的DME技术持续改进。
translated by 谷歌翻译
This paper presents the key algorithmic techniques behind CatBoost, a new gradient boosting toolkit. Their combination leads to CatBoost outperforming other publicly available boosting implementations in terms of quality on a variety of datasets. Two critical algorithmic advances introduced in CatBoost are the implementation of ordered boosting, a permutation-driven alternative to the classic algorithm, and an innovative algorithm for processing categorical features. Both techniques were created to fight a prediction shift caused by a special kind of target leakage present in all currently existing implementations of gradient boosting algorithms. In this paper, we provide a detailed analysis of this problem and demonstrate that proposed algorithms solve it effectively, leading to excellent empirical results.
translated by 谷歌翻译
随着大数据的快速增长,分布式机器学习(ML)已广泛应用于培训大型模型。随机梯度下降(SGD)可以说是ML的Workhorse算法。 SGD培训的分布式ML型号涉及大量的梯度通信,这限制了分布式ML的可扩展性。因此,压缩梯度以减少通信是重要的。在本文中,我们提出了FastSGD,一种用于分布式ML的快速压缩的SGD框架。为了以低成本实现高压缩比,FastSGD表示梯度作为键值对,并在线性时间复杂度压缩梯度键和值。对于梯度值压缩,FASTSGD首先使用互焦数映射器将原始值转换为互焦值,然后,它利用对数量化来进一步将互焦值减少到小整数。最后,FastSGD通过给定阈值过滤减少梯度整数。对于渐变键压缩,FastSGD提供了一种自适应细粒度的Δ编码方法,用于存储具有更少位的渐变键。实际ML模型和数据集的广泛实验证明,与最先进的方法相比,FastSGD实现了高达4个级别的压缩比,并加速了高达8倍的收敛时间。
translated by 谷歌翻译
高维计算(HDC)是用于数据表示和学习的范式,起源于计算神经科学。HDC将数据表示为高维,低精度向量,可用于学习或召回等各种信息处理任务。高维空间的映射是HDC中的一个基本问题,现有方法在输入数据本身是高维时会遇到可伸缩性问题。在这项工作中,我们探索了一个基于哈希的流媒体编码技术。我们正式表明,这些方法在学习应用程序的性能方面具有可比的保证,同时比现有替代方案更有效。我们在一个流行的高维分类问题上对这些结果进行了实验验证,并表明我们的方法很容易扩展到非常大的数据集。
translated by 谷歌翻译
该报告介绍了开源软件包,该软件包在过去几年中实现了我们的一系列增强作品。特别是,该软件包主要包括三条技术,其中两个已经是流行的增压树平台中的标准实现:(i)基于直方图的(基于功能 - 固定)方法使树实施方便。在Li等人(2007年)中,开发了一种简单的固定长度自适应分子算法。在本报告中,我们证明,与流行树平台中更复杂的变体相比,如此简单的算法仍然非常有效。 (ii)基于损失函数的二阶导数,在Li(20010)中的显式增益公式通常在一阶方法上通常会大大改善。尽管LI(2010)中的增益公式是用于逻辑回归损失的,但它是具有第二个衍生物的损失函数的通用公式。例如,开源软件包还包括$ p \ geq 1 $的$ L_P $回归。该软件包的主要贡献是用于多类分类的ABC-Boost(自适应基类提升)。 Li(2008)中的最初作品通过指定“基类”来得出了经典多级逻辑回归的一组新衍生物。如果正确选择基类,则可以显着提高准确性。主要的技术挑战是设计搜索策略以选择基类。先前已发布的作品实施了一个详尽的搜索程序,以查找计算上太昂贵的基类。最近,一份新报告(Li and Zhao,20022)提出了一个“快速ABC-Boost”的统一框架,该框架使用户可以为基类有效选择适当的搜索空间。该软件包提供了Linux,Windows,Mac,Matlab,R,Python的接口。
translated by 谷歌翻译
提出了一种称为Trust-Region Boosting(TRBOOST)的通用梯度提升机,用于执行监督的机器学习任务。现有的梯度提升机(GBM)已经在许多问题上取得了最先进的结果。但是,在性能和一般性之间保持平衡存在一些困难。一阶算法适用于比二阶算法更多的一般损失函数。虽然表演通常不如后者那么好。TRBOOST基于信任区域算法将GBMS概括为适合任意损失功能,同时保持良好的性能作为二阶算法。进行了几项数值实验,以确认TRBOOST可以获得竞争成果,同时为收敛提供额外的好处。
translated by 谷歌翻译
图形神经网络(GNN)是具有无核数据的应用的有前途的方法。但是,具有数亿节点的大规模图上的培训GNN既是资源又是耗时的。与DNN不同,GNN通常具有更大的内存足迹,因此GPU内存能力和PCIE带宽是GNN培训中的主要资源瓶颈。为了解决此问题,我们提出分叉:一种图形量化方法,通过显着减少内存足迹和PCIE带宽要求来加速GNN训练,以便GNN可以充分利用GPU计算功能。我们的关键见解是,与DNN不同,GNN不太容易发生量化引起的输入特征的信息丢失。我们确定图形特征量化中的主要准确性影响因素,从理论上证明,分叉训练会收敛到网络,在该网络中,损失在未压缩网络的最佳损失的$ \ epsilon $之内。我们使用几种流行的GNN模型和数据集对分叉进行了广泛的评估,包括最大的公共图数据集MAG240M上的图形。结果表明,分叉达到30以上的压缩率,并在边际准确性损失的情况下提高了GNN训练速度200%-320%。特别是,分叉在一小时内仅使用四个GPU在MAG240M上的训练图来实现记录。
translated by 谷歌翻译
我们提出了TOD,这是一个在分布式多GPU机器上进行有效且可扩展的离群检测(OD)的系统。 TOD背后的一个关键思想是将OD应用程序分解为基本张量代数操作。这种分解使TOD能够通过利用硬件和软件中深度学习基础架构的最新进展来加速OD计算。此外,要在有限内存的现代GPU上部署昂贵的OD算法,我们引入了两种关键技术。首先,可证明的量化可以加快OD计算的速度,并通过以较低的精度执行特定的浮点操作来减少其内存足迹,同时证明没有准确的损失。其次,为了利用多个GPU的汇总计算资源和内存能力,我们引入了自动批处理,该批次将OD计算分解为小批次,以便在多个GPU上并行执行。 TOD支持一套全面且多样化的OD算法,例如LOF,PCA和HBOS以及实用程序功能。对真实和合成OD数据集的广泛评估表明,TOD平均比领先的基于CPU的OD系统PYOD快11.6倍(最大加速度为38.9倍),并且比各种GPU底线要处理的数据集更大。值得注意的是,TOD可以直接整合其他OD算法,并提供了将经典OD算法与深度学习方法相结合的统一框架。这些组合产生了无限数量的OD方法,其中许多方法是新颖的,可以很容易地在TOD中进行原型。
translated by 谷歌翻译
数据爆炸和模型尺寸的增加推动了大规模机器学习的显着进步,但也使模型训练时间耗时和模型存储变得困难。为了解决具有较高计算效率和设备限制的分布式模型培训设置中的上述问题,仍然存在两个主要困难。一方面,交换信息的沟通成本,例如,不同工人之间的随机梯度是分布式培训效率的关键瓶颈。另一方面,较少的参数模型容易用于存储和通信,但是损坏模型性能的风险。为了同时平衡通信成本,模型容量和模型性能,我们提出了量化的复合镜下降自适应亚基(QCMD Adagrad),并量化正规化双平均平均自适应亚级别(QRDA ADAGRAD)进行分布式培训。具体来说,我们探讨了梯度量化和稀疏模型的组合,以降低分布式培训中每次迭代的通信成本。构建了基于量化梯度的自适应学习率矩阵,以在沟通成本,准确性和模型稀疏性之间达到平衡。此外,从理论上讲,我们发现大量化误差会引起额外的噪声,从而影响模型的收敛性和稀疏性。因此,在QCMD Adagrad和QRDA Adagrad中采用了具有相对较小误差的阈值量化策略,以提高信噪比并保留模型的稀疏性。理论分析和经验结果都证明了所提出的算法的功效和效率。
translated by 谷歌翻译
稀疏决策树优化是AI自成立以来的最基本问题之一,并且是可解释机器学习核心的挑战。稀疏的决策树优化是计算地的艰难,尽管自1960年代以来稳定的努力,但在过去几年中才突破问题,主要是在找到最佳稀疏决策树的问题上。然而,目前最先进的算法通常需要不切实际的计算时间和内存,以找到一些真实世界数据集的最佳或近最优树,特别是那些具有多个连续值的那些。鉴于这些决策树优化问题的搜索空间是大规模的,我们可以实际上希望找到一个稀疏的决策树,用黑盒机学习模型的准确性竞争吗?我们通过智能猜测策略来解决这个问题,可以应用于基于任何最优分支和绑定的决策树算法。我们表明,通过使用这些猜测,我们可以通过多个数量级来减少运行时间,同时提供所得树木可以偏离黑匣子的准确性和表现力的界限。我们的方法可以猜测如何在最佳决策树错误的持续功能,树的大小和下限上进行换算。我们的实验表明,在许多情况下,我们可以迅速构建符合黑匣子型号精度的稀疏决策树。总结:当您在优化时遇到困难时,就猜测。
translated by 谷歌翻译
决策树是机器学习工具箱中最有用和最受欢迎的方法之一。在本文中,我们考虑了学习最佳决策树的问题,这是一个组合优化问题,该问题具有挑战性。文献中的一种常见方法是使用贪婪的启发式方法,这可能不是最佳的。最近,人们对使用各种方法(例如,基于整数编程,动态编程)学习最佳决策树已经引起了重大兴趣 - 为了实现计算可伸缩性,这些方法中的大多数都集中在具有二进制功能的分类任务上。在本文中,我们提出了一种基于分支机构(BNB)的新离散优化方法,以获得最佳决策树。与现有的定制方法不同,我们考虑具有连续功能的回归和分类任务。我们方法基础的基本思想是基于特征分布的分位数来拆分搜索空间 - 导致沿BNB迭代的基础优化问题的上限和下限。与现有的各种真实数据集中的浅最佳树相比,我们提出的算法Quant-BNB显示出显着的加速。
translated by 谷歌翻译