IBM科学家证明使用GPU可以将大规模机器学习速度提高10倍

时间:2019-03-06 18:38:36 阅读:19次

  与EPFL科学家一起,我们的IBM研究团队已经开发出一种快速培训大数据集的方案。它可以使用单个图形处理单元(GPU)在不到一分钟的时间内处理30千兆字节的训练数据集 - 比有限内存训练的现有方法快10倍。有效利用GPU的全部潜力的结果将在2017年加利福尼亚州长滩举行的NIPS大会上展示。

  在TB级数据集上训练机器学习模型是一个常见的难题。如果你很幸运,你的服务器可能有足够的内存来容纳所有数据,但培训仍需要很长时间。这可能是几个小时,几天甚至几个星期的事情。

   GPU等专用硬件设备在许多领域越来越受到关注,无法加速计算密集型工作负载,但很难将其扩展到数据密集型工作负载。

  为了利用GPU的巨大计算能力,我们需要将数据存储在GPU内存中以便访问和处理它。但是,GPU的内存容量有限(目前高达16GB),因此对于非常大的数据来说这是不实用的。

  一个简单的解决方案是按顺序分批处理GPU上的数据。也就是说,我们将数据分区为16GB块,并按顺序将这些块加载到GPU内存中。

  不幸的是,将数据移入和移出GPU是很昂贵的,并且将每个批次从CPU传输到GPU所花费的时间可能会成为一个巨大的开销。事实上,这种开销非常严重,可能完全超过了首先使用GPU的好处。

  我们的团队着手创建一种技术,确定在任何给定时间哪个较小部分数据对训练算法最重要。对于大多数感兴趣的数据集,每个数据点对训练算法的重要性非常不均匀,并且在训练过程中也会发生变化。通过以正确的顺序处理数据点,我们可以更快地学习我们的模型。

  例如,假设该算法正在训练以区分猫和狗的照片。一旦算法可以区分猫的耳朵通常小于狗的耳朵,它就会保留这些信息并跳过审查此功能,最终变得越来越快。

  Dünner(右)在NIPS 2017上写了她将与Parnell一同提出的计划。

  这就是为什么数据集的可变性如此重要的原因,因为每个数据集都必须揭示尚未在我们的模型中反映出来的其他功能。如果一个孩子只在天空是蓝色时向外看,他或她将永远不会知道它在夜间变暗或者云层会产生灰色阴影。这里也一样。

  这是通过获得关于个体训练样本可以为学习算法的进展贡献多少信息的新颖理论见解来实现的。该度量在很大程度上依赖于对偶差距证书的概念,并且即时适应训练算法的当前状态。换句话说,随着算法的进展,每个数据点的重要性都会发生变化。有关理论背景的更多详细信息,请参阅我们当前的论文。

  采用这一理论并将其付诸实践,我们开发了一种新的,可重复使用的组件,用于在异构计算平台上训练机器学习模型。我们将其称为DuHL,用于基于二重性缺口的异构学习。除了涉及GPU的应用程序之外,该方案还可以应用于其他有限的内存加速器(例如使用FPGA而不是GPU的系统),并且具有许多应用程序,包括来自社交媒体和在线营销的大型数据集,可用于预测向用户显示的广告。其他应用包括查找电信数据模式和欺诈检测。

  

  在左图中,我们展示了DuHL的运行情况,用于在扩展的30GB版本的ImageNet数据库上训练大型支持向量机。对于这些实验,我们使用了具有8GB内存的NVIDIA Quadro M4000 GPU。我们可以看到,使用顺序批处理的方案实际上比单独的CPU表现更差,而使用DuHL的新方法实现了10倍;加速CPU。

  此项工作的下一个目标是将DuHL作为云中的服务提供。在云环境中,诸如GPU之类的资源通常按小??时计费。因此,如果可以在一小时而不是10小时内训练机器学习模型,这直接转化为非常大的成本节省。我们希望这对需要培训大规模机器学习模型的研究人员,开发人员和数据科学家具有重要价值。

  此研究是IBM Research开发分布式深度学习(DDL)软件和算法的一部分,该软件和算法可自动化和优化大型复杂计算任务的并行化,并连接到数十台服务器上的数百个GPU加速器。

  参考文献:

   [1]C.Dünner,S。Forte,M。Takac,M。Jaggi。 2016.原始双重率和证书。在第33届国际机器学习会议论文集 - 第48卷(ICML 2016)。


  在异构系统上有效使用有限内存加速器进行线性学习,CelestineDünner,Thomas Parnell,Martin Jaggi,https://arxiv.org/abs/1708.05357

  

  

  保存

  保存

  保存

  保存

  保存

  保存

  保存

  保存

IBM科学家证明使用GPU可以将大规模机器学习速度提高10倍所属专题:机器学习 《IBM科学家证明使用GPU可以将大规模机器学习速度提高10倍》链接:http://www.zhouchuanxiong.net/821

IBM科学家证明使用GPU可以将大规模机器学习速度提高10倍相关文章

  • ROMEO寻求通过机器学习和边缘物联网改善风电场
  • 从研究论文中自动生成深度学习模型的代码
  • 攻丝机学习促进更多地利用仿生学进行创新
  • 深度学习培训时间显着减少
  • IBM Research的深度学习进展
  • IBM利用POWER9和NVIDIA GPU设置万亿级机器学习基准记录; PowerAI即将推出
  • 一种用于大规模图的可扩展深度学习方法
  • 在强化学习中发现特征选择的新算法
  • 加速机器学习算法的培训
  • 使用深度学习生成餐厅评论
  • 使用OpenCV和深度学习在视频中跟踪对象
  • 开发一个使用机器学习的基于Web的移动健康应用程序
  • 在Kubernetes上部署和使用多框架深度学习平台
  • 创建一个Web应用程序以与机器学习生成的图像标题进行交互
  • 创建一个Web应用程序,以便与使用机器学习检测到的对象进
  • 机器学习模型的性能评估
  • 构建机器学习推荐引擎,以鼓励基于过去购买行为的额外购买
  • 使用内部部署数据训练基于云的机器学习模型
  • 使用Watson Machine Learning和IBM Db2 Warehouse on Cloud持续学习
  • 部署深度学习驱动的“魔术裁剪工具”
  • 使用机器学习预测心脏病
  • 使用Watson OpenScale监控自定义机器学习引擎
  • 使用Watson OpenScale监控Sagemaker机器学习
  • 使用机器学习和高级分析分析物联网传感器数据
  • 使用Watson OpenScale监控Azure机器学习
  • 从计算机中学习大脑,反之亦然
  • 机器学习分支出来
  • 更好的机器学习
  • 通过玩游戏来学习语言
  • 更灵活的机器学习