深度学习框架江湖群侠传

世间有一种软件,名叫“深度学习框架”。

 

在人工智能的江湖,常听人言:得框架者,得天下。

 

多年以前,一面画着大G的大旗在高处飘扬,美国谷歌公司的深度学习框架占据大半江山。万万没有想到,一场大风暴来了。

 

2018 年,脸书公司“同款”对标产品把一款前辈产品吸纳进来,联剑并肩,威力大增。一年后,火力全开,专拣敌人的罅隙进攻。连冲数剑,杀开一个缺口,有守有攻,看看就可闯出。放眼学术圈,更是独领风骚,顶级学术会议的胜利快 像雪片一样飞来。

 

小心低头,王冠易掉,谷歌框架的王者时代,结束了。

 

历史总是吊诡,一些无名之处会发生极为有名的战役。战事残酷而隐秘,高深晦涩的技术仿佛咒语,牢牢挡住人们的视线。

 

美国白宫《2019年国家人工智能研发战略规划》 告中,美国将中国视为人工智能主要对手,进行了深刻观察。

 

“中国人工智能发展势头很猛。” 这话猛一听,真让人高兴。

后半句是个打击:“中国人工智能缺点亦十分明显,硬件、算法、人才……人工智能框架创新能力薄弱。”

 

“硬件” “人才”……这题我会,这题我会,“框架”是个啥/p>

 

假如人工智能深度学习是太平洋上的一个岛屿,算法是岛上茂盛的植被,框架和芯片则是地质结构,算法建在框架和芯片之上。

 

深度学习框架,头顶两个光环亮闪闪,第一个,基础软件。

 

几乎所有的深度学习开发者,都要用深度学习框架。

几乎所有的深度学习算法和应用,都是用其实现的。

 

作为一种复杂基础软件,有这样一条原则:极少数人“造”轮子,大部分人“用”轮子。

框架研发门槛高不可攀,本质上,这类产品是大型科技企业才“配”拥有的基础设施,小门小户造不起。

 

多说一句,打败围棋大师李世石的人工智能阿法狗(AlphaGo)听过吧,框架也是其背后的底层技术。

 

谷歌科学家的凡尔赛是:“我们让阿法狗更顺畅”。

现任阿里巴巴技术副总裁贾扬清,浙江绍兴人,从初中三年级开始接触电脑,他一直觉得自己学编程挺晚的。

 

2002年是他高考那一年,浙江省是高考界的领跑者,清华大学计算机系的分数线很高,他去了清华自动化系。 

在科学界,瑞士是物理和数学领域的领跑者。也在2002年,瑞士戴尔莫尔感知人工智能(Idiap)研究所诞生了第一个机器学习库Torch。

库和框架的不同之处,在于境界。

库是兵器库,框架则是一套武林绝学的世界观,程序员在这个世界观的约束下去练(编)拳(程)法(序),结果被框架所调用。框架接管了程序的主控制流。

 

反正,框架比库厉害多了。

 

有了框架,才能做到只关注算法的原理和逻辑,不用去费事搞定底层系统、工程的事。生命短暂,都想走捷径。话不能这么说,都996了,生产队里的驴也得歇歇。

 

转眼间,贾扬清已经在美国加州大学伯克利分校攻读博士学位。也是在此期间,他开启了计算机视觉的相关研究。

那时候,他常被一个问题困扰:怎样训练和设计深度学习的 络此,贾扬清想造一个通用工具。

 

著名的Caffe框架的发音和“咖啡”相似,是“快速特征提取的卷积框架”论文的英文简称。巧合的是,这个框架像咖啡一样流行。

 

这是贾扬清第一个C++项目,多年以后,他在阿里巴巴回忆:“最开始的时候没有测试,代码纠错(Debug)成了最痛苦的事。”

 

2013年的Caffe框架是他的成名之作。在工业场景的计算机视觉系统上,Caffe 稳健快速,是无可争议的王者。 

谷歌开源AI产品备受瞩目。若论起名的原因,TensorFlow直译,张量(tensor)在图中流动(flow)。由此也可获知,数据流图是框架的重要技术。

 

再往细说,数据流图由算子组成,算子又分为大算子和小算子。Caffe是大算子抽象,TensorFlow是小算子抽象。小算子好处是灵活,坏处是性能优化难。

 

 

为什么说他是天才/p>

 

赞美之词就免了。在2000年下半年的时候,Jeff Dean的代码速度突然激增了40倍,原因是他把自己的键盘升级到了USB 2.0。编译器从来不会给Jeff Dean警告,但Jeff Dean会警告编译器。

 

笔者承认,这确实是两个段子,出处无考。

 

2015 年是一个重要的年份,何恺明等人的研究成果,突破了边界,在准确率上再创新高,风头一时无二。

谷歌AI研究员弗朗索瓦·乔莱特(Francois Chollet)几乎是独自完成了著名的Keras 框架的开发,为谷歌再添一条护城河,大有“千秋万代,一统江湖”的势头。

 

这时候,喊一嗓子“深度学习是下一个重大技术趋势”,已经没有压倒性的反对意见了。

 

美国西雅图素有“阿拉斯加门户”之称,微软公司总部位于西雅图卫星城,从那里开车13个小时就能到达谷歌公司总部所在地山景城。在AI的跑道上,很多人在追赶谷歌,但是,微软既没有好车,也没有弯道,压力大了,方向盘也能捏碎。

 

按理说,背靠微软的产品本应有个好前途,框架却都没有流行起来。

 

英文单词Minerva的意思是“智慧女神”,这是微软亚研院一个孵化项目的名字,由当时的副院长张峥发起,项目组成员有纽约大学王敏捷和北京大学肖天骏。

现在张峥在亚马逊上海AI研究院做院长。两名大将也随之前往,现在均是张院长麾下主力。

 

后来,就没有后来了。开源(Github)给女神画上了句 。

 

2016年,从先后关系上讲,CNTK(Cognitive Toolkit)伸手接过女神的接力棒,可惜魔障难消,用的人少,没有推广开,于2019年停止维护。

 

GitHub上的悼词是:“在这个版本之后,没有新功能开发的计划。”

 

这意味着,微软已经放弃了CNTK。

 

两次前车之鉴,微软仍没有认输的打算。

因为深知框架的重要性,也因为微软的电脑里,绝不会长期使用贴着别人家logo的AI工具。 

 

2016年,贾扬清从谷歌TensorFlow团队离职,跳槽到了Facebook公司。与谷歌挥手道别,四载光阴(实习两年,工作两年),往事依稀,他的内心充满感怀。

 

西雅图作为美国的超一线城市,华盛顿大学是城市招牌之一,华人武术宗师李小龙就毕业于此。“天才少年”陈天奇也在这里取得了计算机博士学位。

 

陈天奇在AI圈的名气,不比李小龙在武术界低,且都是少年成名。

 

陈天奇读博士的第二年,一个叫做MXNet的项目开始了,这是一个名牌大学联合学术项目。

仅仅一年时间里,就做出了完整的架构。团队中还有一位闻名遐迩的大神,李沐(现任亚马逊公司资深主任科学家,principal scientist)。

 

2016年5月,MXNet开源,浓缩了当时的精华,合并了几个原来有的项目,陈天奇cxxnet、参数服务器、智慧女神、颜水成学生林敏的purine2。

 

所以,MXNet,读作“mixnet”,mix是中文“混合”之意。

 

可巧了,从华盛顿大学到亚马逊公司全球总部不到6公里,开车只消10分钟。总部大楼抱着两个“温室大球”坐落于市中心。可能是近水楼台先得月,这次亚马逊公司火眼金睛,行动迅速。2017年9月,MXNe被亚马逊选为官方开源平台。

 

江山代有才人出,该退休时就退休。同一年,祖师爷Theano官宣退休。

 

这时候,贾扬清借鉴谷歌TensorFlow框架里面的一些新思想,实现了一个全新的开源Caffe2。三十而立的他,成长为遍历世界级产品的第一高手。

 

谷歌TensorFlow在人间潇洒走一回。未曾想一场大风暴正在酝酿。

 

2018 年,PyTorch接纳Caffe2后,意外崛起,上演令谷歌框架王冠落地的戏剧性一幕。

 

易用性确实可以抢客户,但谷歌没有想到脸书抢了这么多。

后来者确实可以居上,但谷歌没有想到脸书仅用如此短的时间。

 

改旗易帜,有人哗然,有人唏嘘。 

微软岂能袖手旁观,微软在智慧女神和CNTK两次滑铁卢之后,依然斗志昂扬准备第三次入局。

 

这次,微软思路清奇地设计了ONNX(全称Open Neural Network Exchange),一种开放式深度学习神经 络模型的格式,用于统一模型格式标准。

ONNX是脸书和微软合作力推的,贾扬清也是发起者之一,目标剑指“标准和生态”。

 

说白了,一个PyTorch模型可以被导出ONNX文件格式的模型。

 

不止于此,随后,微软基于ONNX这个桥梁研发了一个推理用的ONNX Runtime框架,低调地在2018年最后一个月开源。

 

想做“标准”,得大家伙都同意。

ONNX没成为标准,若论原因,可能是ONNX还做得不够好吧。

 

ONNX Runtime框架的“新功能”暴露了巨头之间的动态竞争关系。

这一次,微软站队脸书,给Pytorch机器学习库做了几个 “好用的部件”。

若论其中一个原因,可能是微软和脸书没有云上的竞争关系,这几年脸书公司的定位依然还是互联 公司,没有发展云计算。

 

亚马逊云(AWS)、谷歌云、微软云则斗红了眼。

 

第三次进军框架,微软的策略是,强攻不下,组队打怪。若有一日,Onnx Runtime 框架有希望挑战Pytorch框架,肯定调转火力,支持自家。

 

真正的竞争激烈,不是玩家多,而是高手多。短短几年之内,几座技术巅峰,拔地而起,各有各的精绝。

 

其一,谷歌和亚马逊是计算图的拥趸。两者都以更高的、令人赞叹的工业级工程质量把计算图抽象推向新高度,把表达能力推向新的里程碑。

 

其二,脸书公司在计算过程中没有计算图的概念。但在解决易用性上,超常发挥。

 

谷歌皇冠跌落,给后来者“跌出”希望,留给中国队的时间不多了。

大公司必胜,那是夸海口。

大公司必争,才是真灵验。

 

坐标北京西二旗,百度大厦和百度科技园。

技术大牛背景的李彦宏,牵着搜索入口的现金牛,依着“牛脾气”治理百度,他看不上云计算,这倒让阿里巴巴笑了。

 

其实,看不上云计算的技术大佬不止一位,自由开源软件GNU/Linux的鼻祖理查德·斯托曼(Richard Stallman)也多次在公开场合“怼”云计算。

 

巧合的是,他俩观点出奇地一致:云计算不是技术创新,而是一种商业模式创新。

 

李彦宏睥睨云计算,却对人工智能,满眼小星星。

 

百度深度学习研究院(IDL)在人工智能的江湖里,是桃源仙境般的存在,处处大神,遍地高手。高水平科学家、研究人员、工程师密度之大,令人惊叹,感觉连保安都要会编程才配在门口刷工作证。

 

昔日盛景,已成绝响。

 

 

每一家科技巨头的深度学习框架的首位指挥官,均非等闲之辈。徐伟也是Facebook早期研究员,Facebook产品矩阵丰富,他负责大规模推荐平台,在多个产品背后显神功。

 

可能是有法律文件约束,百度大神科学家的离职,大多不公开原因。徐伟离职加盟地平线,他将手中的接力棒交给了另一位神级技术大牛,撸码一绝的王益。

 

见过王益的人会说一个词,“聪明绝顶”,重音在后面两个字上。

 

王益在知乎谦虚地自称“四十岁老程序员”,言谈之间一副老技术专家的低调本色。他在加入百度之前曾任谷歌研究员,是少见的“APAC创新奖”获得者(参与开发一个分布式机器学习的工具)。王益是清华大学机器学习和人工智能博士,师从清华大学周立柱教授。

 

有一次在知乎分享程序员成长经验,他轻描淡写地说了一句:“我有一位恩师,徐伟。”

 

细节总是让人容易忽略,早年,王益曾向徐伟抱怨:“某某团队好像就是想用他们自己研发的工具,不用PaddlePaddle

 

后来,王益在回复一位 友跟帖时解释当时这一问题存在的合理性:“设计PaddlePaddle是技术换代的时候,步子大,当时来不及优化用户体验,不愿意用确实有道理。离开后,后来人持续优化了体验。内部组织结构调整也促进了新技术的接纳。”

 

这也印证了一位百度匿名AIG离职科学家高管对笔者的独家透露:“百度内部曾经有两个类似的产品,最后敲定PaddlePaddle的人,是陆奇。”

 

了解此事的人不多,也正因此,采访前夕,这位科学家高管仍在反复向笔者强调——“请务给我匿名”。

 

百度最早出发,生态建设也最早起步。

 

2017年年末,百度市场部的朋友找笔者交(chi)流(fan),给PaddlePaddle出谋划策。那时候,开源框架的运营和推广已经全面拉开:北航软件学院的教材出版、顶级学术会议模型复现、高校宣讲……

 

据说,陆奇离职前,仍然紧盯PaddlePaddle的进展。

 

一山行尽,一山青。框架的玩家,不止科技大厂。

 

人工智能独角兽旷视科技是从2014年起内部开始研发框架。在2021年的采访中,旷视天元的负责人田忠博告诉笔者:“原因很简单,仅以当时的开源框架,没有办法真正做好科研,才会有自己做深度学习框架的想法。”

 

举一例,就能说明问题。

 

旷视科技有一篇ShuffleNet的学术论文,仅用Caffe提供的“工具”,永远也探索不到ShuffleNet这件事情的可能性。由此看来,旷视科技早已参悟,研究和工程的共振,离不开强大框架的支持。

 

百度PaddlePaddle开源时间点是在2016 年8月。现在看来,这是历史性的一刻,尤其在中美摩擦的历史背景下回看,更不敢皱眉设想,一旦美国忌惮中国的人工智能发展势头,把深度学习框架彻底掐死。

 

百度的出征,代表着中国队上场了,标志着中国科技企业参与到人工智能最残酷的战役之中。

守旧的经验是,既然国外开源了,就抓紧学。既然人家成了事实工业标准,就尽力参与。总是慢了好几拍,Linux这轮就是这样。

 

引用某游戏厂商的经典台词是:“别催了,在抄了,在抄了。”

 

可惜竞争从来不是游戏。

 

深度学习框架的台词是:“不能照抄,不能舔狗,舔到最后,一无所有。”

 

2020年,国产框架在技术上不是单纯的跟随者角色了,也有很多创新点可圈可点。

 

飞桨作为国内最早的开源框架,模型库是最丰富的。以模型库的形式沉淀成深度学习框架生态的一部分,生态也起步早。

 

古人云:“不谋全局者,不足以谋一域” 。有匿名采访者认为:“华为是国内投入框架研发最坚定的大公司。”

 

可以观察到,华为剑指全栈AI战略,投入非常大。硬件算子库、基础软件、平台、产业基金、联合项目、标准、论文专利、人才,几乎所有的地方都发狠力。

 

华为内部技术高管(笔者被反复要求匿名)告诉笔者:“大厂发展深度学习框架一定不是为了卖钱,而为了发展生态。华为发展深度学习框架,一方面是自主可控,一方面是坚定地发展AI全栈能力。Mindspore并没有拘泥于自家的芯片,不能仅仅视为一款产品,而是战略级的平台,这是明确公开说的。”

 

翻看所有的宣传稿件,不难总结出,华为有全场景,端边云协同,比如,华为自己有手机业务,方便对硬件做指令级优化。

 

但是,华为做的远不止这些。

 

第一,在拿MindSpore 为抓手,来解决深度学习之外的、以前在超算领域关注的一些计算任务(科学计算)。其它框架虽然也有这个目标,但华为想到了,也做到了。

 

第二,AI有个公开的槽点,即被黑盒问题所累。然而,牵扯到AI安全的问题,既基础,又前沿,搞得人少,困难多。对于基础软件来说,又格外重要。

 

华为金雪锋博士有一个表述:“按DARPA(美国国防部先进研究项目局)的说法,可解释AI的目的,就是要解决用户面对模型黑盒遇到的问题,从而实现:用户知道AI系统为什么这样做,也知道AI系统为什么不这样做,用户知道AI系统为什么做错了。

 

这个问题被华为关注,无疑提高了国产框架段位。你在研究拳法,我在研究拳法背后的哲学根基。

 

华为MindSpore开源后,很多质疑的声音消失了,酝酿了半天的道德制高点没有骂出来,憋得怪难受。

不过,有些批评,华为确实该虚心接受,不是外人,都能过去。

 

大模型,跑步前进,工业级实现,拔腿直追。

 

迈入大型模型训练时代,要求深度学习框架能够在面临数百台、数千台计算机的庞大规模时,有效地进行训练。

 

比如,对于单个设备或多个设备数据并行这种简单场景的支持已经足够优秀,但在模型更大或者神经 络拓扑更复杂时,通用框架的易用性和效率都大打折扣,有这种需求的工业级应用只好下血本研发定制方案。

 

大规模训练是当前各厂商竞争的一个焦点,谁输谁赢仍有变数。但可以肯定的是,只待“百团大战”的第一枪打响后,就是全方位的比拼(易用性,完备性,高效性)。

 

坏消息是,国产在市场和生态上与美国巨头依然有很大的距离。

好消息是,这不是一个完全被动的局面。

 

甚至,国产框架的竞争也在细分,分化出局部战役。

 

框架分为训练和推理两部分,训练框架难度大,推理框架次之。

华为推理框架已经做到了生产级别,交付到了华为手机上。在手机巨头厂商中,框架的玩法,各不相同。

都知道,苹果机器学习框架CoreML的代码是高度商业秘密。

 

巨头的动作出其不意地整齐划一,端侧深度学习推理框架,BAT已经全部出手。

百度Paddle Lite、阿里巴巴mnn、腾讯ncnn、华为移动端推理框架Bolt(华为诺亚方舟实验室开源)、OPEN AI LAB的边缘AI推理框架Tengine ,甚至连小米也有,MACE。

 

单论技术难度,这些同类产品比深度学习框架低很多,但也各怀绝技,各有千秋,只是误放在一起比来比去,就不是内味儿了。

 

深度学习框架的战场上,全行业最拔尖的团队悉数上场。

 

 

上帝说,要有光。

特斯拉说,要有电。

开源说,要有代码。

 

若问深度学习框架将带来什么,得想清楚深度学习的未来在哪。

 

听说过深度学习又被称为软件2.0吗为数据驱动范式的顶峰,从数据里自动推导出程序,而不是必须靠程序员绞尽脑汁手动书写程序,这是一个划时代的进步。

 

深度学习可能从一个小小岛屿,演进成一个大陆板块。

 

在接下来的十年,深度学习软件有机会变成每个软件工程师医药箱里的必备“药丸”(不要乱想,不是蓝色的那种)。人类最重要的计算机软件将由其创造,自动驾驶,药物发现……

 

开源软件的玩法自由奔放,但也有公地悲剧、PR铜臭。深度学习框架是一款理解成本很高的软件,群众基础薄(mei)弱(you)。于是,有人用“AI平台”一词,胡乱指代,张冠李戴,故意混淆,真令人作呕……大过节的,算了算了。

 

有决心,就有私心,有疯子,就有骗子。

时间总能给出答案。

图为:贾扬清在阿里巴巴公司的工位 

搞深度学习框架的那群人,

 

他们,可能是同学同事同行,亦狂亦侠亦友。

他们,必然是浩宇璀璨群星,风雷意气峥嵘。

 

贾扬清,化身修罗,重回故里,现任阿里巴巴技术副总裁。

陈天奇,学府道场,CMU大学教书,投入深度学习编译TVM。

李沐,蒲团打坐,驻守美国亚马逊,现任资深主任科学家。

徐伟,开山老祖,现任地平线AI首席科学家。

王益,绝顶神僧,谷歌、腾讯、蚂蚁金服美研主任科学家,2021年初去脸书公司。

袁进辉,苦炼金刚, 名老师木,清华博后,微软科学家,穷酸创业。

林敏,羽化成仙,跳出三界,研究基础理论去了。

 

无论是产品,还是生态,最终,市场会决定胜出者。

人工智能头顶高科技花环,被高高捧起,又被左右开弓扇耳光,灵魂三逼问:到底行不行时候突破杀死那只独角兽/p>

 

突破难规划,创新难计划,独角兽不拼命也不行……此后,深度学习框架,对于国外开发者同样重要。

需要发问的是:如何才能做出全球大流行的开源深度学习框架友质问的原话是:“你敢超过吗

《亲爱的数据》出品人:谭婧

想了解OneFlow深度学习框架击“阅读原文”前往GitHub↓

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月1日
下一篇 2021年2月1日

相关推荐