vlambda博客
学习文章列表

机器学习框架从开源走向融合

机器学习框架如PyTorch和TensorFlow的发展,改变了机器学习工程师产品研发的思路和方式。

 

“从某种意义上说,这是一个突破,让研发速度比以前快了一两个数量级。”PyTorch创始人Soumith Chintala在评价机器学习框架的作用时表示。

 

轨道在线智能巡检,预测性故障维修,油气田勘探辅助支持,银行欺诈风险智能判断,高风险用户自动识别,人体肿瘤智能检查等等,目前,人工智能特别是机器学习正在改变世界,大量的机器学习应用让人们的工作和生活智能化。

 

同时,机器学习也让以前几乎无法实现的工作,变得伸手可及,让高不可攀的智能化落地。

 

自从深度学习在2012年重新占据主导地位以来,许多机器学习框架争相成为研究人员和从业者的新宠。机器学习框架也从开源起步,成就一片新天地。


01

机器学习框架发展的三大“关键词”
在人工智能时代,机器学习框架下接芯片,上承各种应用,被称为是“智能时代的操作系统”。
 
在机器学习中,一般经过数据收集、特征工程、模型建立、模型训练、模型验证等阶段,它是一个往复循环的工程,直到获得满意的模型,并在生产环境中部署模型,在生产中通过数据提供服务。
 
机器学习框架就是帮助机器学习工程师,快速地开发产品和构建算法,并确保其可靠、快速和成规模地工作。
 
中国软件网发现,2020年以来,机器学习中的深度学习框架在发展上呈现出三大趋势:
 
一是开源。 软件开源成就了操作系统Linux和安卓,成就了NoSQL数据库和关系型数据库MySQL,成就了消息中间件,成就云原生技术中的容器等。
 
同样,开源成就了AI和机器学习。几乎有名的机器学习框架都开源了,也通过开源不断发展壮大。
 
创建开源机器学习平台H2O的H2O.ai的创始人兼CEO Sri Ambati就认为,人工智能软件库和算法都免费提供给开发人员和企业家,使企业能够更容易地尝试人工智能,并建立对人工智能技术更大的信任,这是开源人工智能和机器学习框架发展的根本动力。
 
另外,开源机器学习框架培养了"开源"文化, 使企业有更大的自由与开源社区一起创新,并利用同行的想法将机器学习嵌入到其业务中。
 
相比之下,封闭式机器学习应用开发方法往往会抑制增长。它无助于创建反馈循环、解决问题和改进产品、促进急需的人工智能人才的发展,也无法激发对人工智能模型和预测的信任。
 
围绕人工智能和机器学习的开源社区可以 通过减少高许可费、共享相关成果,减少对人才的需求等更快的实现目标。
 
开源人工智能社区发展的社区思维,将平衡小组织、大组织、社区之间的力量对比, 让每一种组织都可以享受AI的好处。
 
二是融合。 PyTorch是当今世界上最受欢迎的机器学习框架,而TensorFlow则是最流行的Ml框架。这两个开源的机器学习框架,分别由Facebook和谷歌提供并开源的,分别拥有各自的拥戴者,但也不可避免的有互补关系。

机器学习框架从开源走向融合


PyTorch创始人Soumith Chintala就预言, 机器学习框架将走向大融合。
 
市场上出现大量的机器学习框架,如PyTorch和TensorFlow。Chintala认为:“目前框架的融合过程已经开始。之所以现在框架推出了量化功能,以及其他一系列较低层级的工具,是因为下一场战争是框架的编译器之争,比如XLA、TVM,以及PyTorch的Glow。
 
在接下来的几年中,深度学习框架的焦点将是如何更智能地实现量化,如何更好地促进框架间的融合,如何更有效地使用GPU,如何为新硬件进行自动编译等。”
 
在用户的实际应用中,一些ML框架也被结合起来用。如 TensorFlow与Keras就是一个强大的组合。
 
对于一个普通的ML从业者来说,TensorFlow的初始版本很难学习和实现。它被认为是一个科学计算工具包,与处理极端并行性和高性能计算的研究项目保持一致。
 
TensorFlow和Keras的完美结合为构建复杂的深度学习模型提供了动力和简单性。 使用TensorFlow 2.0,工具包采用了流行的Keras框架,Keras以其简单和直观的方法而闻名。
 
据悉,Keras的创始人François Chollet后来加入谷歌,之后谷歌就推出了TensorFlow。
 
三是竞技场。 机器学习框架开源、融合,但是依然存在竞争。 同场竞技是目前机器学习框架市场的主流声音。
 
一家研究机构的数据显示,虽然TensorFlow和PyTorch是目前使用最多和最流行的机器学习框架,各自市场份额也互有涨跌,但是 其他机器学习框架所占比例依然高达35~40%。
 
在2020年第一个月的数据看,大约23%的学术论文使用TensorFlow,但到了2020年12月,这一数字已经下降到11%。
 
有人认为,机器学习框架竞争的背后,是 为机器学习提供服务支持的开源服务商和其发行的商业版,同时也会给机器学习框架云服务商带来商业利益。
 
无利不起早,机器学习框架依然是一个创造价值的技术市场。
 

02

机器学习框架三大“势力”
如前文所言,机器学习框架层出不穷,不同的技术集团推出自己的框架。从早期的学术成果Caffe、Theano,到获得庞大工业支持的 PyTorch、TensorFlow等。

机器学习框架从开源走向融合

市场上的机器学习框架
 
中国软件网认为,从机器学习框架的使用量以及产品更新的程度来看,机器学习框架出现了三大力量,分别代表不同的阵营。
 
TensorFlow由谷歌团队开发,于2015 年发布。
 
TensorFlow是一个使用数据流图进行数值运算的开源软件库,它实现了数据流图,其中,张量(“tensors”)可由一系列图形描述的算法来处理,数据在该系统中的变化被称为“流”。数据流可用C++或Python编码后在CPU或GPU的设备上运行。
 
目前,Tensorflow已经进入了2.x版时代。TensorFlow 1和TensorFlow 2.x之间不同包括:
 
新推出的Tensorflow.js.,可以使用Node在浏览器中运行现有的pyThon模型、重新训练现有的模型,并使用Javascript完全构建和训练模型,却不需要pyThon。
 
轻量级库Tensorflow Lite,则用于在移动和嵌入式设备上部署模型,可将现有模型转换为“compressed flat buffer”,将buffer加载到移动设备或任何其他嵌入式设备上。
 
新发布的Tensorflow Extended(TFX),用于部署生产ML pipeline的端到端平台,并在web应用程序、移动应用程序和生产管理方面表现出色。TFX可以应对经典的软件生产挑战,如可扩展性、可维护性和模块化,还可以帮助解决机器学习的特定挑战,如持续在线学习、数据验证、数据管理等。
 
PyTorch则由Facebook的团队开发, 并于2017年在GitHub上开源。
 
Torch是纽约大学与Facebook的开源机器学习库、科学计算框架和基于Lua编程语言的脚本语言。它提供了广泛的深度学习算法,被Facebook、IBM、Yandex和其他公司用于解决数据流的硬件问题。
 
之后,在Torch基础之上,Facebook研发开源了PyTorch,并在学术研究中广受欢迎。PyTorch采用了被已为研究、开发和数据科学家所熟悉的Python命令式编程风格。
 
Facebook主导的开源机器学习框架PyTorch已经推出了1.8版。与Tensorflow Lite相似,PyTorch改进了其现有的Pytorch Mobile。该框架可以量化、跟踪、优化和保存适用于Android和iOS的模型。
 
新的发布Pytorch Lite Interpreter的原型可减小移动设备上二进制运行时的大小。Pytorch Profiler用于分析APP、模型的执行时间、执行流程、内存消耗等。
 
开源世界很精彩,但是开源世界依然存在限制使用、下载等风险。因此,在开源软件托管还是机器学习框架托管方面, 国产系统依然的一个发展方向。
 
今年3月,我国首个自主研发、功能完备、开源开放的产业级深度学习框架飞桨发布了 2.0 正式版,可以说是一次“基础设施”的更新换代
 
距离飞桨开源框架2.0版本发布刚过去两个月,5月20日,百度发布了新的飞桨开源框架 2.1 版本,同时飞桨企业版也有新升级。
 
百度首席技术官、深度学习技术及应用国家工程实验室主任王海峰介绍,飞桨已凝聚320万开发者,相比一年前增加近70%;服务的企事业单位达到12万家。
 
飞桨开源框架V2.1版集自动混合精度优化、动态图功能增强、高层API、自定义OP功能优化四大技术亮点于一身,启动后可将训练速度提升3倍,即时执行效率提升11%。
 
通过这些技术升级,飞桨开源框架V2.1版将打造更开放、更具扩展性的算法平台。
 

03

好用基础上机器学习框架的三大“看点”
机器学习框架的核心目的是帮助机器学习工程师落地模型和算法,提高效率,降低成本。因此,机器学习框架必须得从能用,向好用发展,在机器学习螺旋式发展中,造就新的竞争力。
 
中国软件网观察,机器学习框架在发展有三大看点,不容忽视。
 
一是平台与芯片软硬一体融合创新。
 
从平台的角度,机器学习框架中平台与芯片软硬一体融合创新,满足算力、功耗、时延等的多样化需求,让机器学习取得最佳的应用效果。
 
如TensorFlow是可用于运行从云到最微小的微控制器设备的机器学习模型的框架。使用 TensorFlow训练的模型可以针对CPU和GPU进行优化,从x86到ARM64。
 
使用TensorFlow精简版,相同型号可以针对手机、物联网设备和边缘计算环境。这使得它有可能训练模型一次,并将其部署到Android手机和更多的微控制器上。
 
飞桨针对多种芯片并存的环境,研制了异构参数服务器训练技术,突破了超大模型的高效训练难题。
 
据介绍, 截至2021年5月,飞桨硬件生态与22家国内外硬件厂商开展适配和联合优化,已完成和正在适配的芯片或IP达到31款。
 
英特尔、英伟达、Arm等国际芯片大厂均主动在开源社区为飞桨贡献代码。飞桨也同飞腾、申威、海光、鲲鹏、龙芯、兆芯、等国产CPU进行深入融合适配,并结合麒麟、统信、普华操作系统,以及百度昆仑、海光DCU、寒武纪、华为昇腾、比特大陆、登临、瑞芯微、高通、苹果、联发科等AI芯片深度融合。
 
让ML框架成为云计算的一部分。
 
目前,大多数的公有云服务商已经将ML作为企业业务增长的主要方向,因此在云上支持开源的机器学习框架,或者支持机器学习框架的商业版,成为一个趋势和方向。
 
TensorFlow是主流公有云管理ML PaaS 的一部分,是公有云平台不可分割的一部分。它为计算机视觉、自然语言处理、个性化和推荐服务等应用提供API。主流机器学习平台作为一种服务(MLaaS)品对TensorFlow有着广泛的支持。 亚马逊云服务、Azure ML、谷歌AI平台、IBM沃森机器学习、阿里云等均将在其平台上紧密的集成TensorFlow。
 

机器学习框架从开源走向融合


AWS CEO Andy Jassy2019年演讲
 
在AWS re:Invent 2019 上,AWS CEO Andy Jassy声称,在应用最多的机器学习框架方面,85%的TensorFlow用户在云上的工作负载都运行在亚马逊云科技上,而到了2020年,这一数字达到92%。同时,91%的PyTorch在云上的工作负载都跑在亚马逊云科技,在云上面进行机器学习已经是非常成熟的选择。
 
研发集团的支持与降低应用门槛同步同进。
 
目前来看,不管是那种机器学习框架,在依靠开源社区的基础上,依然有强大的机构研发力量的支持。
 
TensorFlow是谷歌的关键项目。 谷歌已投入数百万美元用于研发,以推进机器学习,并将这些能力带到TensorFlow。 谷歌正在利用TensorFlow为其许多产品和服务,包括谷歌助手、安卓等服务。
 
在今年上半年,Facebook联手微软宣布推出PyTorch企业支持计划,该计划使服务提供商能够为其客户开发和提供定制的企业级支持。Facebook与微软合作建立的新产品是根据PyTorch企业用户在生产中为关键任务应用开发模型的反馈而创建的。
 
另一个机器学习框架Azure ML Studio允许微软Azure的用户创建和训练模型,随后将这些模型转化为能被其他服务使用的API。在Azure中有大量的算法可供使用。
 
飞桨一直致力于降低用户使用的门槛,既有支持动静统一的核心框架,也有产业级模型库、开发套件和工具组件,以及提高企业生产效率的飞桨企业版等,满足不一样行业、不一样阶段、不一样层次开发者的需要。
 
使用门槛的下降,比如会加快人工智能应用的多样化和规模化,加快了产业智能化的进程。


END.