服务器 频道

大规模机器学习现状和未来

  【IT168 评论】在过去十年中,企业已开始使用机器学习(ML)来收集和分析大量数据以获得竞争优势。现在有些人正在寻求更深入的研究。使用称为深度学习(DL)的机器学习技术的子集,他们正在寻求深入到隐藏在数据中更深奥的属性。目标是为欺诈检测,需求预测,点击预测和其他数据密集型分析等领域创建预测应用程序。

  使用DL技术开发的计算机视觉,语音识别,自然语言处理和音频识别应用需要大量的计算能力来处理大量的数据。为了获得企业正在寻找的DL解决方案,底层IT基础设施需要作为企业级部署和管理。正在开发新的解决方案,使企业能够更快,更容易地从丰富,复杂的数据中获得可行的洞察。

  机器学习包括开发算法,通过从示例输入构建模型来进行数据驱动的预测或决策。诸如谷歌,Facebook,亚马逊,百度,雅虎,特斯拉汽车和沃尔玛实验室等领先的技术公司已经使用这些机器学习工具来改进图像识别,程序化广告以及产品和内容推荐的分析应用程序。

  有三种类型的机器学习:监督机器学习,无监督机器学习和强化学习。

  通过有监督的机器学习,程序在预定义的一组标准上被“训练”。例如,可以基于邻居,卧室数量和总平方英尺来馈送关于先前房屋销售价格的节目信息,然后要求它预测新销售的销售价格。虽然一个好的房地产代理知道如何基于面积,邻域和类似因素来定价房子,但是使用标准技术来编程计算机来做这件事将是非常麻烦的。另一个例子是显示计算机预定义的数据集(像猫和狗的图像的集合),以训练它正确地识别其他类似的图像。

  无监督的机器学习意味着程序被给予大量的数据,并且必须在所提供的数据内找到非线性关系。这方面的一个例子可能是查看房地产数据,并确定哪些因素导致城市某些地方的价格上涨。一个主要制造商使用这种类型的无监督机器学习来预测各种零件的未来需求。这样,在设备必须接地之前,部件将可用于安装。人类专家可能知道什么因素影响对零件的需求,但机器学习提供了自动化该决定所需的附加数据。

  加强学习是指计算机程序与动态环境交互,其中动态环境必须执行某个任务。示例包括与社交媒体动态交互以收集关于问题的公众情绪的数据。计算机可以从数据获得信息并预测未来的实时贡献。

  这些机器学习方法仅在问题可用数据解决时才起作用。例如,人们不能使用机器学习技术基于客户是否带宠物来估计机票的价格。如果数据不会帮助人类专家解决问题,它也不会帮助机器。

  机器学习使企业不仅能够从越来越大且多样化的数据集中发现模式和趋势,而且还能够使传统上由人类完成的分析自动化,从业务相关交互中学习,并提供基于证据的响应。它还提供了可能成功的建议行动的可信水平。它使企业能够提供新的差异化或个性化的产品和服务,以及提高现有产品和服务的有效性和/或降低其成本。

  然而,机器学习是不精确的计算,因为没有确定性的建模特征的方法。特征通常被建模为神经网络,并且参数取决于输入数据集的质量。

  深度学习是机器学习的一个子集,是一个模拟人类大脑的动态系统,特别是神经元如何在大脑中相互作用,以及大脑的不同层如何协同工作。与ML不同,在DL特征被建模为具有几个内部/隐藏层的深度神经网络,其捕获关于数据的微妙信息并且指定物理意义。DL能够将数字图像分割成更易于分析的片段;这意味着可以提取高级信息并对其进行编码以供计算机使用。

  例如,对于人类,脸部的眼睛。对于计算机,面部具有明暗的像素,构成一些类型的线的抽象。深层学习模型的每一层使计算机识别同一对象的另一级别的抽象。使用早期的动物类比,深层学习将让用户区分躺在地上的猫和那些跳跃的猫的图片。

大规模机器学习现状和未来

  以所示的例子,其中顶行是孩子的明显图像。 然而,对于计算机,包含儿童在自行车上,在海滩上或者侧向翻转的图像的位图是完全不同的数据集。一个人会有一个非常困难的时间教一个计算机来区分他们。 在某些情况下,这些图像之间的差异可能就意味着生命的死亡。例如,底行包含道路标志的图像。因为标志被雪覆盖,无人驾驶车辆如果不能识别道路标志,就关乎生命安全。一个普通的驾驶员可以识别它,因为它的八边形形状。

  DL在过去几年中取得了巨大的进步。例如,下图描绘了作为ImageNet大规模视觉识别挑战(ILSVRC)的一部分进行的图像识别研究的准确性,该技术评估大规模的对象检测和图像分类的算法。正在进行研究,以使研究人员能够比较在更广泛的各种对象的检测进度,并测量计算机视觉的大规模图像索引检索和注释的进展。

大规模机器学习现状和未来

  图中的蓝色显示了2010年和2011年的传统计算机视觉方法,最近的紫色DL技术。红色描绘了人的准确率,这是通过要求个体和个体组来描述和分类图像来测量的。人们被允许考虑所示的图像并达到共同的答案。一个人立即注意到一个非常稳定的改善。注意,使用DL技术的计算机在2015年的图像识别中变得与人类一样高效。

  百度研究的深度语音项目最近通过使用单一的深度循环神经网络,在英语和普通话的语音识别中实现了人类水平的准确性。这个结果表明DL在计算机视觉领域之外也是可用的。

  另一个有趣的例子是谷歌DeepMind,它使用DL技术用于AlphaGo(阿尔法狗)。AlphaGo的算法基于先前通过人工神经网络通过广泛训练(从人类和计算机游戏)“学习”的知识来找到它的下一步。

  对DL技术越来越感兴趣的最后一个例子是DeepMind和暴雪之间的合作,让其人工智能学会玩星际争霸2。该项目正在开发为一个研究环境,开放给世界各地的人工智能和机器学习研究人员。

  机器学习带来了巨大的计算挑战

  ML和DL技术的这些示例是令人印象深刻的,但它们提出了强大的计算任务。对DL的训练通常需要几十个五十亿的浮点运算(FLOP),其在小群集上转换为几个星期至几个月的时间。许多,即使不是大多数,企业不能等待这个时间量在迅速变化的环境中提取智能。

  深度学习软件模块如果使用开源存储库,需要花费企业多天下载和安装。找到规定深度学习框架或库的所有相关性可能需要很多时间。由于这些工具仍然是新的,许多依赖需要用户确保特定库的特定版本可用。一旦发现,用户可能需要执行耗时的手动安装所有库和相关关系。在某些情况下,它们必须满足60多个相关性性。许多这些库不能从标准企业Linux发行版的开放源代码库安装,这意味着用户需要寻找它们并手动安装它们,以确保他们使用的版本一起工作。

  用户没有从具有出色的标称性能特性但缺乏优化库的新硬件中获益,因为创建这些库可能需要几个月或几年时间。特别地,DL需要有效的接口到BLAS,FFT,卷积,malloc和memcopy。 NVIDIA已经提供了这些需要的接口cuBLAS和cuFFT,但这样优化的库从其他密集的硬件平台丢失。通常需要几年时间才能在新架构上优化这些库。

  对于那些寻找可用的机器学习包的人,Knowm Inc.提供的一个机器学习工具Plethora,提供了超过40个机器学习包和库的详细比较。

  构建深度学习的框架

  新的工具和框架正在出现,使深入学习更容易,企业必须选择正确的软件,硬件,网络,工具和库的组合,以有效地开发和运行应用程序。

  第一个业务流程是简化深度学习环境的部署,管理,操作和扩展。企业必须首先启用分析师和开发人员。深度学习工具不能孤立工作。为了有效,企业需要向开发人员和分析师提供正确的工具和支持硬件和软件框架集合。

  虽然人工智能和机器学习已经发展几十年了,但深度学习仍是新的,并在不断变化。企业需要灵活地采用新的工具和做法,以便以敏捷的方式响应市场需求。

  现代化的深度学习环境

  为了响应这些需求,Bright Computing开发了Bright for Deep Learning解决方案,可在Bright Cluster Manager V7.3上使用。新方法提供了机器学习框架的选择,以简化深度学习项目,包括Caffe,Torch,TensorFlow和Theano和CNTK。它包括几个最受欢迎的机器学习库,以帮助访问数据集,包括MLPython,NVIDIA CUDA深度神经网络库(cuDNN),深度学习GPU培训系统(DIGITS)和CaffeOnSpark,开源的分布式深度学习解决方案数据集群。

  为DL处理大量数据需要大量的计算能力。随着专为DL设计的新工具变得可用,开发人员正在使用它们在利用加速器(如NVIDIA GPU)的高级高性能(HPC)集群上构建应用程序。

  GPU使得机器学习中所需的计算密集程序的执行速度比仅使用CPU的解决方案快得多。 Bright for Deep Learning解决方案提供了GPU加速版本的通用ML库,以便更轻松地部署和管理硬件及相关软件,API和机器学习库。这意味着研究人员和开发人员可以专注于他们的工作,而不是管理工具。

  这也意味着用户不必担心查找,配置和部署运行这些深度学习库和框架所需的所有依赖项。包括超过400MB的Python模块,支持机器学习包,加上NVIDIA硬件驱动程序,CUDA(并行计算平台API)驱动程序,CUB(CUDA构建块)和NCCL(标准集体通信程序库)。未来将会增加更多,例如,CNTK,Bidmach,Keras,MXNet和其他。

  如果用户需要更多容量,他们可以使用DL功能使用Bright的云功能将支持GPU的实例扩展到云中。他们还可以轻松地集成深度学习应用程序,或者在私有OpenStack云中运行它们。用户甚至可以通过使用CaffeOnSpark运行深度学习应用程序来利用现代集群提供的性能。

  企业将非常先进的HPC集群与深度学习相结合

  企业已经使用该解决方案将非常先进的HPC集群与深度学习相结合。例如,斯坦福大学正在从事计算机视觉,自然语言处理和信用卡欺诈检测研究。乔治梅森大学正在对科学模拟数据进行分析。

  Illumina开发了用于生命科学研究,翻译和消费者基因组学和分子诊断的测序和阵列技术,正在进行基因预测研究,以鉴定编码某些功能的基因组部分。三星正在致力于将Caffe DL网络用于医疗保健应用的计算机视觉工作。RICOH正在研究图像识别的DL方法,并且NYU Medical Center正在测试HPC集群上的DL任务。

  深度学习与传统的HPC工作负载(如大型,密集线性代数问题)一致。然而,目前最快的DL群集和当今最快的超级计算机之间存在巨大的差距。虽然仍然存在许多挑战,但仍有很大的机会进一步推动DL的性能,并允许使用更大的数据集。

  作者:Panos Labropoulos,PhD是Bright Computing的高级支持工程师。

0
相关文章