AI技术大爆发背景下,开源深度学习框架的发展趋势如何?(人工智能的发展论文)

时间:2023-05-10 07:43:17来源:网络整理
导读本文并不打算对深度学习算法的发展趋势进行分析,而是跳出算法层面,对当前主流的开源深度学习框架的发展趋势进行分析。

作者|周志虎、赵永标

编辑|朱浩兵

2016 年是人工智能 (AI) 技术爆发的一年。 作为AI领域的一个重要分支,深度学习已经成为AI的代名词。 人们提到AI,肯定会想到深度学习。 本文向读者介绍了深度学习提升性能的三种形式:横向扩展、水平扩展和融合扩展。 随后介绍了主流的开源深度学习框架,并进行了发展趋势预测分析,加深了读者对开源深度学习框架的理解。 知识和理解。

写在上面

深度学习(Deep Learning)的概念是由芝加哥学院院长Geoffrey Hinton于2006年提出的,本质上是一种神经网络算法。 其原理是通过模拟人脑进行分析和学习,无需人为干预即可训练算法。 ,所以它也属于一种无监督的机器学习算法。 深度学习的概念从提出到今天已经六年了。 在这六年时间里,无论是国际互联网巨头谷歌、微软、百度,还是全球各大学术研究机构,都投入了巨大的人力和财力。 用于探索理论和产业应用,在字符识别(OCR)、图像分类、语音识别、无人驾驶、自然语言处理等多个领域取得突破,极大地推动了人工智能(AI)的发展.

发展人工智能的好处_人工智能的发展论文_智能人工气候箱

图1:深度学习典型应用场景示例

2012年,由吴恩达和耶鲁大学杰夫迪恩院士共同领导的谷歌大脑项目,利用深度学习让系统能够人工学习和识别猫。 《纽约晨报》披露了谷歌大脑项目,让大众对深度学习有了初步的认识。 2016年3月,谷歌旗下DeepMind开发的AlphaGo以总比分4:1击败国际象棋世界亚军、职业九段棋手李世石,将人们对人工智能(AI)的认知提升到一个新的阶段。

深度学习在众多领域的成功应用,离不开学术界和产业界对这项技术的开放。 深度学习发展之初,相关代码开源,使得深度学习“飞入寻常百姓家”,大大提高了学术界研究和工业界使用的A门槛。 本文不打算分析深度学习算法的发展趋势,而是跳出算法层面,分析当前主流开源深度学习框架的发展趋势。

智能人工气候箱_人工智能的发展论文_发展人工智能的好处

开源深度学习框架

在计算机视觉领域,仍然使用神经网络算法来解决图像分类和识别等问题。 学术界使用的算法研究工具一般是Matlab和Python。 有很多基于 Matlab 和 Python 语言的深度学习工具包。 在使用大量图像训练深度学习算法模型时,由于单机CPU的估计能力非常有限,一般采用专用的图形处理单元(GPU)来提高算法模型的速度。

但是在工业应用中,由于Matlab、Python、R语言的性能问题,大部分算法都会用C++语言实现。 但随着深度学习在自然语言处理、语音识别等领域的广泛应用,专用GPU也逐渐演变成通用图像处理器(General Purpose GPU,GPGPU)。 该处理器不仅用于渲染和处理图像人工智能的发展论文,还可以用于需要处理大量数据进行科学计算的场景,增强单机的处理能力。 该形式属于横向扩展(ScaleUp)。

随着大数据时代的到来,大数据处理技术的成熟为解决深度学习模型训练时长问题提供了重要的发展方向。 因此,目前如何通过大数据训练深度学习模型引起了广泛关注。 :减少训练样本数量或模型参数数量,或者同时减少训练样本数量和模型参数数量,也可以大大提高最终分类的准确率。 由于Hadoop已经成为建立企业级大数据基础设施的事实标准,在Hadoop生态系统中建立了很多分布式深度学习算法框架。 这些通过分布式集群来提高处理能力的扩展方式称为垂直扩展(ScaleOut)。 ).

虽然使用Spark等平台训练深度学习算法可以大大提高训练速度,但近年来,存储设备和网络的性能提升远远超过CPU,如图2所示。

人工智能的发展论文_智能人工气候箱_发展人工智能的好处

图2:存储系统、网络和CPU的性能变化对比

CPU性能困境极大地限制了分布式环境中单个节点的处理速度。 为了解决这个问题,很多优秀的开源深度学习框架都在尝试结合Spark、GPGPU等开源大数据处理技术框架,通过提高集群中每台机器的处理性能来加速深度学习算法模型的训练,如图3所示为SparkNet架构示意图。 这些通过向上扩展和向外扩展相结合来提高处理能力的方法称为聚合扩展。 图 4 总结了深度学习提高性能的方法。 图中给出了典型的垂直扩展、垂直扩展和融合扩展的开源深度学习框架。

智能人工气候箱_发展人工智能的好处_人工智能的发展论文

图 3. SparkNet 中的 ScaleUp 和 ScaleOut

智能人工气候箱_人工智能的发展论文_发展人工智能的好处

智能人工气候箱_发展人工智能的好处_人工智能的发展论文

图 4. 深度学习提高性能的方式

下面将介绍一些目前优秀的开源深度学习框架,包括基于GPU的单机开源深度学习框架和集成GPU的开源分布式深度学习框架。 在让您熟悉当前主流开源深度学习框架的同时,能否进一步探索开源分布式深度学习框架的发展方向。

独立的开源深度学习框架

目前已有众多学术机构如国际顶尖大学加州学院伯克利校区,以及谷歌、微软等互联网巨头的开源深度学习工具。 目前比较成熟的基于GPU的单机开源深度学习框架包括:

Theano:深度学习开源工具的鼻祖,由加拿大理工学院于2008年开发并开源,框架采用Python语言开发。 许多在学术界和工业界有影响力的深度学习框架都是建立在 Theano 之上,并逐渐产生了自己的生态系统,包括大家熟知的 Keras、Lasagne 和 Blocks。

Torch:Facebook 和 Twitter 推广的开源深度学习框架,谷歌和一些学术研究机构也在使用 Torch。 出于性能的考虑,Torch使用了一种相对冷门的语言(Lua)作为其开发语言,目前在音频、图像、视频处理方面有大量的应用。 著名的 AlphaGo 是基于 Torch 开发的,但在 Google 开源 TensorFlow 后,AlphaGo 将迁移到 TensorFlow。

TensorFlow:谷歌开源的深度学习工具,用C++语言开发,下层提供Python API。 开源后,在业界和学术界引起了极大的震动。 由于TensorFlow是著名的谷歌大脑项目的一部分,谷歌大脑项目的成功吸引了众多科学家和研究人员深入学习这个“坑”。 往里跳也是今天深度学习繁荣的一个重要原因,可见TensorFlow的影响力。 TensorFlow还在往分布式方向发展,尤其是迁移到Spark平台,后面会介绍。

Caffe:Caffe是加州大学伯克利校区伯克利视觉与学习中心(BVLC)贡献的一套深度学习工具。 采用C/C++开发,下层提供Python API。 Caffe也在走分布式路线,比如大家熟知的CaffeOnSpark项目。

CNTK:CNTK(计算网络工具包)是来自谷歌的开源深度学习工具。 它已更名为 Microsoft Cognitive Toolkit。 它也是用 C++ 开发的,并提供 Python API。 目前已广泛应用于估价视觉、金融领域和自然处理领域。

DeepLearning4J官网有一篇文章《DL4Jvs.Torchvs.Theanovs.Caffevs.TensorFlow》,对那些主流的深度学习框架的优缺点做了详细的分析对比。 感兴趣的读者可以点击查看。

分布式开源深度学习框架

Google研究员Jeffy Dean在2012年发表了一篇文章《LargeScaleDistributedDeepNetworks》,讨论了分布式环境下深度学习算法的设计原则,并给出了分布式环境下深度学习的两种不同实现思路:模型并行(Modelparallelism)和数据并行(模型并行性)。 模型并行化将训练好的模型进行划分,发送给各个worker节点; 数据并行化对数据进行划分,然后向每个工作节点发送模型副本,并通过参数服务器(ParameterServer)更新训练参数。 具体原理如图5所示。

人工智能的发展论文_发展人工智能的好处_智能人工气候箱

图 5. 深度学习并行化的两种形式:模型并行化(左)和数据并行化(右)

目前,大多数开源分布式深度学习框架都是以数据并行化的形式设计的。 目前分为两类:框架本身具备训练分布式模型的能力; 它建立在Hadoop生态系统之上,通过分布式文件系统(HDFS)、资源调度系统(Yarn)和Spark预估平台进行深度学习模型训练。 其中,具有分布式模型训练能力的开源深度学习框架包括:

DSSTNE:亚马逊开源的一套深度学习工具。 英文全称是DeepScalableSparseTensorNetworkEngine (DSSTNE)。 用C++语言实现,解决稀疏数据场景下的深度学习问题。 值得一提的是,亚马逊对于是否开源、开源DSSTNE仍持谨慎态度,虽然这也是谷歌、Facebook等巨头在开源深度学习领域占据制高点后的无奈之举。

Paddle:百度开源的并行分布式深度学习框架(PARallel Distributed Deep Learning,PADDLE),采用C++语言实现,提供Python API。 Paddle 框架已经在百度内部的多个产品线进行了测试,包括搜索广告中的点击率估计 (CTR)、图像分类、光学字符识别 (OCR)、搜索排名和计算机病毒监控。

由于Hadoop生态已经占据了大部分企业级大数据市场,目前很多开源发行版都在向Hadoop生态迁移,包括Caffe、TensorFlow、百度的Paddle。 Hadoop/Spark生态下建立的深度学习框架实现示意图如下:

人工智能的发展论文_发展人工智能的好处_智能人工气候箱

图 6. Hadoop 生态中分布式深度学习算法的实现原理

目前比较有影响力的基于Hadoop/Spark的开源分布式深度学习框架有:

SparkNet、Deeplearning4J和CaffeOnSpark等构建在Spark平台上的深度学习框架在性能、易用性、功能等方面都有详细的对比。 请参阅“Spark 上深度学习框架的深度比较”、“inferno-scalable-deep-learning-on-spark”。

由于近年来大数据技术的成熟和普及,尤其是基于JVM的语言(主要是Java和Scala)建立的大数据处理框架,如Hadoop、Spark、Kafka和Hive,几乎推动了大数据的发展的大数据技术。 方向,我相信会有越来越多的开源深度学习框架构建在Hadoop生态中,但是基于Java或者Scala语言实现。

总结与展望

本文首先介绍了深度学习提升性能的三种形式:横向扩展(给机器加GPU)、横向扩展(通过集群训练模型)和融合扩展(在分布式基础上,加GPU),接着介绍了主流open来源深度学习框架。 通过对这个开源深度学习框架的了解,我们可以看到目前开源深度学习框架的发展有以下几个趋势:

作为AI领域的一个重要分支,深度学习长期以来一直是AI的代名词。 人们提到AI,肯定会想到深度学习。 相信随着大数据和深度学习技术的不断发展,还会有更多现象级的应用不断涌现。 刷新人们对人工智能的认知,让我们期盼“奇点”临近。

关于作者

周志虎人工智能的发展论文,电子科学与技术学院计算机硕士,研究方向为计算机视觉、机器学习,在国外核心期刊发表多篇机器学习相关论文,现任高级数据平台架构师、专业负责人绿城中国,主要从事房地产行业数据应用。

赵永标,上海大学应用物理硕士,11年互联网行业从业经验。 现任CTO兼联合创始人,专注于工业、公安、房地产行业的大数据应用。

明天推荐号码

智能人工气候箱_发展人工智能的好处_人工智能的发展论文

冷眼看待AI

实事求是,以客观专业的态度,带你“冷眼看AI”

陌陌ID:partakeAI

明天的建议

点击下方图片阅读

不管你承不承认,人工智能时代正式来临

最新文章