北京快三开奖

  • <tr id="U9YkSO"><strong id="U9YkSO"></strong><small id="U9YkSO"></small><button id="U9YkSO"></button><li id="U9YkSO"><noscript id="U9YkSO"><big id="U9YkSO"></big><dt id="U9YkSO"></dt></noscript></li></tr><ol id="U9YkSO"><option id="U9YkSO"><table id="U9YkSO"><blockquote id="U9YkSO"><tbody id="U9YkSO"></tbody></blockquote></table></option></ol><u id="U9YkSO"></u><kbd id="U9YkSO"><kbd id="U9YkSO"></kbd></kbd>

    <code id="U9YkSO"><strong id="U9YkSO"></strong></code>

    <fieldset id="U9YkSO"></fieldset>
          <span id="U9YkSO"></span>

              <ins id="U9YkSO"></ins>
              <acronym id="U9YkSO"><em id="U9YkSO"></em><td id="U9YkSO"><div id="U9YkSO"></div></td></acronym><address id="U9YkSO"><big id="U9YkSO"><big id="U9YkSO"></big><legend id="U9YkSO"></legend></big></address>

              <i id="U9YkSO"><div id="U9YkSO"><ins id="U9YkSO"></ins></div></i>
              <i id="U9YkSO"></i>
            1. <dl id="U9YkSO"></dl>
              1. <blockquote id="U9YkSO"><q id="U9YkSO"><noscript id="U9YkSO"></noscript><dt id="U9YkSO"></dt></q></blockquote><noframes id="U9YkSO"><i id="U9YkSO"></i>
                企业空间 推销商城 存储论坛
                北京快三开奖全闪存阵列 IBM云盘算 Acronis 安克诺斯 安腾普 腾保数据
                首页 > 认知盘算 > 注释

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                2018-04-08 13:42泉源:科技号
                导读:IBM开辟了一个新的呆板学习库Snap ML,在测试中,相比 TensorFlow,Snap ML 取得相反的丧失,但速率却快了 46 倍。

                IBM 研讨室的一个团队在过来两年开辟了一个新的呆板学习库Snap ML(IBM Snap Machine Learning)。之以是把它叫作 Snap,是由于他们置信用它来训练模子也便是弹指一挥间的事。这个呆板学习库提供了十分快的训练速率,可以在古代 CPU 或 GPU 零碎上训练主流的呆板学习模子,或许在有新数据可用时包管已有模子的速率坚持在线速程度(也便是网络可以支持的最疾速度),这意味着更低的盘算本钱、更少的动力耗费和更快的开辟速率。

                与工夫竞走

                数据的增长为呆板学习和人工智能的大范围使用奠基了根底。大数据集为训练出丰厚的模子提供了更多能够性,但当训练样本或特性到达数十亿的范围时,即便是训练最复杂的模子也需求破费很永劫间。在为要害使用(如气候预告和金融敲诈检测)研讨、开辟和摆设大范围的呆板学习模子时,过长的工夫周期将成为严峻妨碍。

                Snap ML 实用于多种场景。起首是拥有少量数据的使用顺序,在这种场景下,需求处理训练工夫瓶颈题目。其次是及时或近及时的使用顺序,在这种场景下,模子会疾速发作变卦,异样对训练速率提出了很高的要求。第三个是集成学习(Ensemble Learning)范畴。众所周知,现现在要想在数据迷信范畴的竞争中胜出,很大水平上要依赖大型的模子群组。为了设计出有竞争力的模子群组,数据迷信家通常需求破费少量的工夫去实验种种模子组合和少量的超参数。在这种状况下,只要把训练速率提拔一个数目级,才有能够放慢研发速率,以便在竞争中胜出。

                呆板学习的服从、后果和洞见关于大巨细小的企业来说都至关紧张,而呆板学习需求耗费少量的盘算资源。盘算资源的本钱在继续攀升,以是关于企业来说,工夫便是款项。

                Snap ML 接纳开始进的算法和最优的零碎设计,充沛应用硬件资源,从而提供了更快的训练速率。Snap ML 的三个次要特性如下:

                • 散布式训练:Snap ML 是一个可以自在伸缩的数据并行框架,训练数据集可以凌驾单台呆板的内存容量,这关于大型使用顺序来说至关紧张。

                • GPU 减速:Snap ML 完成了一些特别的顺序,可以充沛应用 GPU 的并行特性,同时在 GPU 内存中保存数据,增加数据传输开支。

                • 希罕数据构造:大局部呆板学习数据集都是希罕的,为此,他们对希罕数据构造的相干算法停止了优化。

                万亿级另外基准测试

                由 Criteo 实行室公布的告白点击日记训练数据集包括了 40 亿个训练样本,每个样本都有一个“标签”和一组相干的匿名特性,此中标签用于标识样本能否由用户点击在线告白所天生。基于这组数据集停止呆板学习,可以预测出新用户能否有能够点击某个告白。这个数据集是现在地下公布的最大的可用数据集之一,带有 24 天告白数据,均匀每天包括 1 亿 6 万万个训练样本。

                Snap ML 团队将 Snap ML 摆设在 IBM Power System AC922 效劳器上,每台效劳器装备了 4 个 NVIDIA Tesla V100 GPU 和两个 Power9 CPU,它们经过 NVLINK 2.0 接口与主机衔接,而效劳器之间则经过有限带宽网络停止通讯。他们在这些效劳器上训练了一个逻辑回归分类器,工夫为 91.5 秒,丧失为 0.1292。

                2017 年 2 月,谷歌花了 70 分钟在他们的云平台上运用 TensorFlow 训练异样的数据集。并且,他们运用了 60 台任务机和 29 台参数机。相比 TensorFlow,Snap ML 取得相反的丧失,但速率却快了 46 倍。

                在训练进程中需求处理的一个次要技能题目是,怎样将那么大的数据集塞进 GPU 内存中。由于数据集太大,GPU 内存又很小,在训练进程中就需求不时地将数据移进移出 GPU 内存。为了剖析 GPU 内核和数据拷贝辨别花了几多工夫,他们运用了数据集的一小局部停止测试,只选取了 2 亿个训练样本,并辨别在两种硬件设置装备摆设上运转:

                1. 装备 1 个 NVIDIA Tesla V100 GPU 和 Xeon Gold 6150 2.70GHz CPU 的效劳器,运用了 PCI Gen 3 接口。

                2. 装备 4 个 NVIDIA Tesla V100 GPU 和 IBM Power System AC922 的效劳器,运用了 NVLINK 2.0 接口。

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                上图(a)展现的是第一种设置装备摆设的运转状况。图中有 S1 和 S2 两条线。S1 是实践用于训练的工夫,可以看到,每个数据块的训练工夫约莫为 90 毫秒。S2 是用于拷贝数据的工夫,从图中可以看到,拷贝数据需求消耗 318 毫秒。这么看来,拷贝数据是训练的瓶颈地点。

                上图(b)展现的是第二种设置装备摆设的运转状况。可以看到,由于 NVLINK 2.0 接口提供了更大的带宽,用于拷贝数据的工夫降到了 55 毫秒,以是全体速率提拔了 3.5 倍。

                Snap ML 零碎简析

                Snap ML 完成了多个层级的并行,以便在集群的多个节点上分摊任务负载,充沛应用减速器单位和盘算单位的多核并行才能。

                 第一层并行

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                第一层并行是指跨集群多个任务节点运转。训练数据散布在多个任务节点上,经过网络接口衔接到一同。由于有了这种数据并行才能,才干够冲破单台设置装备摆设的内存限定,训练大范围的数据集。

                 第二层并行

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                在每个任务节点上,可以经过将任务负载分摊给主机和减速器单位来取得并行才能。差别的任务负载可以同时被实行,任务节点的硬件资源失掉了充沛应用。

                 第三层并行

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                为了更进一步无效应用盘算资源,Snap ML 完成了一些特别的顺序,可以充沛应用古代 GPU 的并行才能,同时也开辟了一些多线程代码,用于处置 CPU 的任务负载,这就完成了第三个层级的并行。

                功能评测

                研讨职员对 Snap ML 停止了功能评测,让它运转在差别设置装备摆设的硬件上,并将它与 sklearn、TensorFlow 和 Apache Spark 停止比照。

                评测所运用的呆板学习使用顺序是互联网界较为抢手的点击率预测(Click-Through Rate Prediction,CTR)。CTR 是一种大范围的二元分类使用,基于一系列匿名特性来预测一个用户能否会点击一个告白。

                评测所运用的数据集是由 Criteo 提供的告白点击数据集,他们运用前 23 天的数据停止模子训练,然后运用最初一天的数据停止功能测试。数据集的细致信息如下表所示:

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                 单节点功能

                单节点测试次要是要测出 Snap ML 在单台效劳器上运转的功能,测试内容是训练一个逻辑回归分类器,并运用相反的正轨化参数(λ = 10),然后比拟 Snap ML 与 sklearn 和 TensorFlow 之间的差异。测试运用的是 criteo-kaggle 数据集,它的巨细是 11GB,可以塞进单台呆板或单个 GPU 的内存里。效劳器是 IBM Power System AC922,装备了 4 个 NVIDIA Tesla V100 GPU,并运用了 NVLINK 2.0 接口,不外在实践运转中只用了此中的一个 GPU。后果如下图所示。

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                从图中可以看出,TensorFlow 运用了约莫 500 秒,而 sklearn 只运用了 200 秒左右。这个能够是由于 sklearn 把全部数据集都装入内存,而 TensorFlow 则是每次从磁盘上读取一批数据。固然,成果最好的是 Snap ML,只花了约莫 20 秒,比前两个框架快一个数目级,这要归功于 Snap ML 团队开辟的 GPU 处置顺序。

                 多节点功能

                多节点测试次要是要测出 Snap ML 在集群上训练模子的功能,统共停止了两次测试。在第一次测试中,当地训练数据可以完全塞进 GPU 内存中,他们辨别训练了一个线性回归模子(Linear Regression)和一个支持向量机模子(SVM),并将后果与 Spark MLLib 停止比照。第二次次要测试在当地训练数据无法完全塞进 GPU 内存的状况下,Snap ML 将会有怎样的体现。多节点测试运用的是 criteo-1b 数据集,它的巨细是 274GB,平凡的单台呆板无法把它全部塞进内存。

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                从上图可以看出,在第一次测试中,在不启用 GPU 减速的状况下训练两种模子,Snap ML 均比 Spark MLLib 快上不止一个数目级:训练线性回归模子快 77 倍,训练支持向量机模子快 24 倍。而在启用 GPU 减速的状况下,训练线性回归模子快 2800 倍,训练支持向量机模子快 1000 倍。

                第二次测试的内容是训练一个 SVM 分类器。训练集群包括了 4 个节点,每个节点装备了 2 个 NVIDIA GTX 1080 Ti GPU。这种 GPU 有 11GB 内存,此中 8G 可用于存储数据。测试运用的二进制数据集 criteo-1b 巨细为 98GB,无法全部塞进单台效劳器的 GPU 内存中。为了充沛应用每个节点的 GPU,他们联合运用了 DuHL 和 CoCoA。

                下图展现的是启用 GPU 减速的训练工夫、运用单线程 CPU 停止训练的工夫,以及运用 Snap ML 提供的多线程 CPU 顺序停止训练的工夫。

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                从图中可以看出,在启用 GPU 减速的状况下,即便训练数据无法完全塞进 GPU 内存,由于运用了 DuHL,其训练速率比运用 CPU 的单线程或多线程都快了一个数目级。

                 大范围基准测试

                这次测试运用了全部的 42 亿个训练样本,并把 Snap ML 摆设在 IBM Power System AC922 效劳器上,每台效劳器装备了 4 个 NVIDIA Tesla V100 GPU。测试内容是训练一个逻辑回归模子,并辨别与 TensorFlow、LIBLINEAR、Vowpal Wabbit 和 Spark MLLib 曾经发布的测试后果停止比照。

                IBM全新呆板学习库SnapML:训练提速46倍,40亿样本仅需91.5秒

                从上图可以看出,Snap ML 的训练速率比之前最好的成果(TensorFlow)快 46 倍。

                假如读者想要进一步理解 Snap ML 的完成原理和算法细节,可以阅读其研讨论文:

                http://arxiv.org/pdf/1803.06333.pdf

                持续阅读
                中国存储网声明:此文观念不代表本站态度,若有版权疑问请联络我们。
                相干阅读
                产物引荐
                头条阅读
                栏目热门

                Copyright @ 2006-2019 ChinaStor.COM 版权一切 京ICP备14047533号

                中国存储网

                存储第一站,存储流派,存储在线交换平台