近年来,处理器技术进入如此大,一个像U盘那么大的设备现在都可以用于为神经网络提供能量。但是,企业通常很难充分发挥其计算能力,因为实施大规模人工智能过程中还存在的根本挑战。
这个问题和可扩展性有关,本周二IBM发布了一种名为分布式深度学习(Distributed Deep Learning,DDL)的软件库来解决这个问题。深度学习是机器学习的一个子集,旨在教计算机以人类相同的方式进行学习。例如,人们不会通过描述这个生物有4条腿、1个鼻子和1条尾巴的事实来识别出这是一只狗。一旦人们知道狗是什么样子,就会与猫做永久性的区分。深度学习试图在软件中复制这种方法。
大多数深度学习的框架都支持跨多个服务器扩展大型模式的能力,很多现在也支持GPU,但是收集和同步分析结果的方式还远远不够,IBM研究部门总监Hillery Hunter表示。
同步的工作流
深度学习模式运行在计算机集群上,通过GPU进行增强,GPU芯片有数百万个分布式和互相关联的处理元素,其作用大致类似于人类大脑中的神经元。这些人造神经元一起处理信息,就像人类的部分一样,每个神经元都处理一小部分数据。当节点完成计算的时候,结果将同步在其他神经网络上,以帮助协调工作。
在IBM看来,这就是瓶颈所在。人造神经元部署运行在越快的GPU上,完成计算的速度就越快,意味着结果的同步更加频繁。由于AI集群的构建方式,如果环境中芯片的数量增加,同样适用。但是深度学习框架只能频繁地同步数据。
因此,处理速度收到了数据在GPU之间传输的限制。DDL利用所谓的多层通信算法来改变这一平衡。这个软件库修改信息发送通过的网络路径,以实现延迟和带宽之间“最优化”的平衡,让通信不再是主要的瓶颈。
创纪录的性能
在一次内部测试中,IBM在一个有数百个GPU的集群上部署了DDL,并从一个受欢迎的研究数据集中发送处理750万个图像,将其分到22000个分类中的一个或者多个。该模型在经过7个小时的训练之后,可准确识别33.8%的对象,打包了之前微软在经过10天训练之后创下的29.8%的纪录。
如果4%的改进听起来不足为奇,而且整体成功率还比较低,这是因为这个模型远比现实中遇到的更为复杂,IBM高性能计算及人工智能副总裁Sumit Gupta表示。所以改进是循序渐进的,他指出,微软此前的纪录只比上一次改进了0.8%。这个基准测试旨在强调深度学习软件,以证明研究人员真正构建了更好的模型。
DDL在训练人工智能开发的过程中尤其有用,这是整个项目生命中其中占用时间最长的之一。有时候模型需要花费几周甚至几个月的时间来处理样品数据,才能变得足够准确用于生产中。IBM称,在某些情况下IBM的软件库可以将这个过程缩短至几个小时。“如果需要16天时间训练一个模型如何识别新的信用卡,那么这16天你就是在亏本的。”
深度学习在医疗场景中也很有用,例如组织分析,长时间的训练关于生存或者死亡的问题。此外还有其他好处,如果一个深度学习模型可以在数小时而不是数周时间内完成训练,那么就能释放企业的人工智能基础设施,用于更快地完成其他项目和其他工作。
IBM还另外展示了如何利用DDL实现95%的扩展效率,相比之下Facebook在此前的测试中记录是89%。这两个测试都使用了相同的样本数据。
IBM表示,DDL帮助企业培训他们的模型,实现此前由于时间限制而无法实现的速度和范围。它将DDL软件库与所有主流深度学习框架相连接,包括TensorFlow、Caffee、Chainer、Torch和Theano,都是在一个开源许可下的。
IBM还将这个软件库融入到自己的PowerAI深度学习共计套件平台中,有免费和付费企业两个版本,此外还有在Minbix Minsky Power Cloud上。Gupta表示:“我们将通过PowerAI把它带给每个人。”