为什么深度学习会是计算机的“杀手级应用”? IBM是怎么找到分布式计算来加快大数据人工智能工作负载处理速度的?
总的来说,这听起来足够简单:你有一台大型快速服务器在处理人工智能相关的大数据工作负载。然后需求变了,更多数据需要添加进来才能在一定时限内完成任务。逻辑上讲,你需要做的,就是添加更多的处理能力而已。
然而,就像流行表情包里说的一样:“臣妾做不到啊!”
没错,直到今天,添加更多的服务器是解决不了这个问题的。迄今为止的深度学习分析系统,都只能运行在单台服务器上;用例仅仅是不能通过添加更多服务器来扩展而已,这背后有些深层次的原因。
但是,现在,这一切都成为了历史。8月8日,IBM宣称,已找到新的分布式深度学习软件开发路线,不久之后深度学习负载分布式处理不再是梦。这很有可能是至少最近10年来,人工智能计算领域里跨越大的一步。
联网服务器搞定AI任务听起来简单,但事实并非如此
仅仅能够联网一组服务器使之协调工作解决单个问题,IBM Research 就已然发现了让大规模深度学习更为实际的里程碑:如IBM最初的结果中证明的,用数百万张照片、图片甚至医学影像,以及通过增加速度和大幅提升图像识别准确率,来训练AI模型。
同样是在8月8号,IBM发布了其 Power AI 软件贝塔版,供认知和AI开发者打造更准确的AI模型,发展更好的预测。该软件将有助于缩短AI模型训练时间,可从数天乃至数周,缩短至数小时。
到底是什么让深度学习处理如此耗时?首先,数据量非常庞大,往往涉及很多GB或TB数据。其次,能够梳理这些信息的软件现在才针对这类工作负载进行了优化。
很多人现在都没搞清楚的一件事是,深度学习与机器学习、人工智能和认知智能到底哪里不一样?
深度学习是机器学习的一个子集
IBM高性能计算与数据分析认知系统副总裁萨米特·古普塔称:“深度学习被认为是机器学习的一个子集,或者说一种特别的方法。”
我常举的一个深度学习的例子是:我们在教小孩认猫猫狗狗时,会给他们展示很多狗狗的图片,然后有一天小孩子就会说“狗”了。但是小孩子并没有认清狗狗有4条腿和一条尾巴的事实,其他一些细节也没认识到;小孩子就是在实际整体感知一条狗狗。这与传统计算机模型那种“如果……否则……”的条件逻辑迥然不同。深度学习试图模仿这种整体认知,所用方法就是所谓的神经网络。
深度学习的问题在于,计算量太过庞大,高通信开销一直是其大的挑战。
这就是计算机终结者,实实在在的“杀手App”。我们已经在用GPU(图形处理单元)加速器来加快深度学习训练了。我们所做的,就是向这些计算机模型馈送数百万的图片,但之后我们需要在带强力GPU的计算机上训练它们,为记录和理解这些图像涉及的东西。
大多数深度学习框架可扩展到一台服务器上的多个GPU,但不能延伸至多台带GPU的服务器。于是,我们的团队编写了软件和算法,自动化并优化了该超大复杂计算任务的并行计算,使之能跨数十台服务器上的数百个GPU加速器并行执行。这很难!
IBM发现“理想扩展”
IBM Research 提交了近乎理想的扩展方式。在64台 IBM Power 系统的256个GPU上部署的开源Caffe深度学习框架中,其新分布式深度学习软件,达到了历史新低的通信量,以及95%的扩展效率。
IBM研究员Hillery Hunter开发的可驱动多个GPU的新软件
上一个最佳扩展,是 Facebook AI Research 在Caffe2上执行的训练中展现出来的89%,且其通信量更高。采用该软件,IBM Research 在超大数据集(750万张图像)上训练的神经网络,达到了33.8%的图像识别准确率新高。之前的记录是微软的29.8%。
IBM Research 分布式深度学习代码的技术预览,可从 IBM PowerAI 4.0 的TensorFlow版和Caffe版获取。
在ResNet-101深度学习模型上,IBM用来自ImageNet-22K数据集的750万图片,以批处理大小5120的规模,证明了其分布式深度学习软件的扩展能力。该团队采用64台 IBM Power 服务器集群,以总共256块 NVIDIA P100 GPU 加速器,达到了88%的扩展效率,且只有非常低的通信开销。
分布式深度学习前景广大,可在很多领域形成突破,从消费者移动App体验到医疗影像诊断。但大规模部署深度学习的准确性和实用性上的进展,却受阻于大规模深度学习AI模型运行上的技术难题——训练时间以天计,甚至以周计。
分析师怎么说
Moor Insights & Strategy 总裁兼首席分析师派翠克·摩尔海德称:“这是过去6个月里我所见过的深度学习行业较大突破之一。有趣的部分在于,这一突破来自IBM,而不是谷歌之类的Web巨头,意味着企业可以通过OpenPOWER硬件和PowerAI软件在内部应用,甚或通过云提供商Nimbix来采用该技术。
最令人震惊的,是添加扩展节点时的近线性扩展率,性能在90%到95%之间。最简化的看待方式,就是横向扩展的AI vs. 我们今天大多数人用的传统向上扩展。性能的提高是数量级的。
技术咨询公司 Enderle Group 总裁罗博·恩德勒称,IBM此次发布的重要性在于,你可以用硬件扩展深度学习操作的性能。深度学习操作上一直都有可用GPU数量上的限制,IBM有效去除了这一限制,让公司企业可以通过购买硬件,来换取完成操作所需的时间。
这是巨大的一步,尤其是在安全和欺诈防护之类的领域,因为这些领域的系统训练所需时长,往往是以天计,但破坏却可在数分钟内就达到百万级。因此,你部署的解决方案,应能以更即时的方式,更合理地解决这一巨大的风险暴露面。
IT行业分析公司Pund-IT首席分析师查尔斯·金称,IBM的速度提升十分惊人。之前的纪录保持者微软的系统在10天内完成了训练,达到了29.8%的准确率。IBM的集群配合上该新的DDL库,在7小时内就训练完毕,准确率高达33.8%。
另外,IBM的DDL库及API,任何使用该公司 Power Systems 和 PowerAI V4.0 以上版本的用户均可采用。结合对Caffe和 TensorFlow AI 框架的支持,IBM计划让该DDL库和API对Torch和Chainer开放。
“总之,通过大体上清除深度学习训练瓶颈,斩落当前性能领跑者,IBM的新DDL库和API应能使AI项目更具竞争力,更吸引公司企业和其他机构组织。”