【51CTO.com快译】机器学习是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。
如果论及哪一个机器学习的领域最为热门,非人工智能莫属,这就是深度学习。深度学习框架又名深度神经网络,一个复杂的模式识别系统,可以实现从自动语言翻译到图像识别的功能。
深度学习需要收集大量的数据,并且拥有处理这些数据的能力,做到这些并非易事,但深度学习技术正在蓬勃发展的道路上,并且已经突破了很多障碍。深度学习对于分析非结构化数据具有非常大的优势。
各大软件巨头们也在酝酿一场深度学习技术的争霸战,比如谷歌的TensorFlow项目与百度的paddle。多个软件框架之间的竞争蓄势待发。软件和硬件间的战争开始了。有预言称,专门的硬件设计模型和服务会是深度学习的下一个大的进步,或许有更好、更智能、更高效的算法,无需硬件的辅助就可以把功能服务推向更多人。问题也由此产生,我们中的大多数人都能逐渐理解和接受深度学习技术吗?还是我们一直需要计算机博士们来把握这项技术工作?
微软比谷歌更紧张
一项重要技术展示给世界的好办法,就是引起技术巨头公司们的兴趣。像过去的NoSQL、Hadoop和Spark。在深度学习框架领域,谷歌的TensorFlow已经发展得十分可观,而谷歌云和谷歌专有硬件的研发也紧随其后。
作为竞争对手,微软反击谷歌的杀手锏是认知工具包,也叫CNTK。CNTK2.0版在多个层面挑战TensorFlow。CNTK现在提供JavaAPI,可接受Spark处理框架,同时支持Keras神经网络图书馆代码,这实际上就是TensorFlow的前端。这样一来,Keras的用户就可以避开谷歌的解决方案而转向微软。
对于谷歌TensorFlow,微软最直接、最有意义的应对方法是让CNTK更快速和准确,并且使PythonAPI提供高级别和低级别的功能。这是微软想出来的***应对策略。
当然,所谓的快速和准确并不是吹牛,如果微软的系统比TensorFlow更快,那便意味着人们有更多的选择而不只是去砸硬件设备。比如,
Tensorflow通过谷歌的定制TPU处理器进行硬件加速,那就意味着第三方项目,TensorFlow和CNTK的接口,就像Spark一样,都能得到加速。承蒙雅虎的牵线,TensorFlow和Spark已经协同工作,但是如果CNTK和Spark提供更少的工作和更高的报酬,CNTK就成为了Spark所在领域中最为诱人的选择。
硬件:Graphcore和波计算
谷歌TPU的一个缺点是,他们只在谷歌云中有效。对于那些已经投资了GCP的人来说,这可能不是个问题,但是对于大多数人,这是一个潜在的"阻断剂"。为深入学习专用硅,如NVIDIA的GPU需要的附加条件较少。
几家公司最近推出了专门的硅优于GPU深度学习的应用。启动Graphcore深度学习处理器,专门的硅片设计过程中采用神经网络的图形数据。该公司称面临的挑战是创建硬件优化,以运行循环或相互连接的网络和其他网络。
一种Graphcore加速的方法是保持网络模型尽可能接近硅,避免对外部存储器的往返访问。尽可能的避免数据运动是加快机器学习的一种常用方法,但Graphcore以这种方式到达另一个层次。
波计算是深度学习专用硬件的另一种启用方式。像Graphcore一样,公司认为GPU的发展和它自身固有的局限性有很大关系,波计算的计划是建立"数据流的设备,"机架式系统使用定制芯片,可以提供2.9petaops计算("petaops"是定点运算,不是"千万亿次的"浮点运算)。这样的运算速度超出了谷歌TPU提供的92teraops的订单。
在需要独立基准,也不清楚每Petaop的价格是否有竞争力的情况下,波计算能保证价格的稳定,也让它的潜在用户可以放心。谷歌TensorFlow的支持是***个产品框架支持,CNTK、亚马逊的MXNeT和其他公司紧随其后。
brodmann17:小模型,高速度
鉴于Graphcore和波计算的硬件要优于TPU,其他第三方的目的是展示框架和更好的运算法则,可以带来更有力的机械学习。有些用于定位缺乏访问处理区域,例如智能手机。
谷歌已经针对TensorFlow在移动设备上的应用作出升级,一个名为Brodmann17的工具试图在智能手机级硬盘上占用5%的资源(包括计算、存储和数据)。
该公司的做法是由***执行官和创始人AdiPinhas提出的,用现有的标准神经网络模块创建一个更小的模型。Pinhas说,相比其他流行的深度学习架构,小的模型数量少于训练数据的10%。但在相同的时间里需要一些培训。最终的目的是对速度的精确权衡,更快的预测时间,功耗更低,占用的内存少。
现阶段别指望看到什么开放源代码的产品出现,brodmann17的商业模式是提供云计算的API和本地计算的SDK。Pinhas说,"我们希望扩大我们未来的产品,所以商业化可能只是***步。
擦出新火花
今年早些时候,InfoWorld撰稿人JamesKobielus预言深度学习框架之间的战火渐起。雅虎已经把TensorFlow引向Spark,但是Spark的主要供应商Databricks现在向Spark提供自己的开源软件包来整合深度学习框架。
正如该项目的名称--深度学习管道,探讨深度学习整合并且以Spark自己的角度来看待ML管道技术。Spark工作流可以像TensorFlow和Keras一样被称为图书馆。这些框架模型可以像Spark在其他方面一样,进行规模化训练。并且通过Spark自己的方式来处理数据和深度学习模型。许多数据管理员已经熟悉了Spark并且开始使用它。
全民深度学习?
Databricks曾经在自己的新闻稿里提到"民主化的人工智能和数据科学"。这样的论调意味着什么呢?微软认为他们的CNTK2.0可以成为一项有力的举措,使AI技术无处不在的面向所有人。深度学习固有的复杂性并不是唯一要克服的障碍。深度学习的整个工作流程仍然是一个点对点的工作流程。这里有需要填补的空白,所有平台、框架和云背后的商业机构都在竞相填补端到端的解决方案。关于深度学习技术,下一步的关键将不仅仅是找到一个真正的深层学习框架。而是找到一个统一的工作流程。这样一来,不管是谁在开发运行项目,其深度学习框架都可以有据可循的进行开发和研究。
作者:SerdarYegulalp
原文链接:
http://www.infoworld.com/article/3199950/artificial-intelligence/deep-learnings-next-steps-custom-hardware-better-frameworks-easier-on-ramps.html
刘妮娜译
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】