世间有一种软件,名叫“深度学习框架”。 在人工智能的江湖,常听人言:得框架者,得天下。 多年以前,一面画着大G的大旗在高处飘扬,美国谷歌公司的深度学习框架占据大半江山。万万没有想到,一场大风暴来了。
2018 年,脸书公司“同款”对标产品把一款前辈产品吸纳进来,联剑并肩,威力大增。一年后,火力全开,专拣敌人的罅隙进攻。连冲数剑,杀开一个缺口,有守有攻,看看就可闯出。放眼学术圈,更是独领风骚,顶级学术会议的胜利快报像雪片一样飞来。
小心低头,王冠易掉,谷歌框架的王者时代,结束了。 历史总是吊诡,一些无名之处会发生极为有名的战役。战事残酷而隐秘,高深晦涩的技术仿佛咒语,牢牢挡住人们的视线。 美国白宫《2019年国家人工智能研发战略规划》报告中,美国将中国视为人工智能主要对手,进行了深刻观察。 “中国人工智能发展势头很猛。” 这话猛一听,真让人高兴。
后半句是个打击:“中国人工智能缺点亦十分明显,硬件、算法、人才……人工智能框架创新能力薄弱。” “硬件” “人才”……这题我会,这题我会,“框架”是个啥? 假如人工智能深度学习是太平洋上的一个岛屿,算法是岛上茂盛的植被,框架和芯片则是地质结构,算法建在框架和芯片之上。 深度学习框架,头顶两个光环亮闪闪,第一个,基础软件。 几乎所有的深度学习开发者,都要用深度学习框架。几乎所有的深度学习算法和应用,都是用其实现的。 作为一种复杂基础软件,有这样一条原则:极少数人“造”轮子,大部分人“用”轮子。
框架研发门槛高不可攀,本质上,这类产品是大型科技企业才“配”拥有的基础设施,小门小户造不起。 多说一句,打败围棋大师李世石的人工智能阿法狗(AlphaGo)听过吧,框架也是其背后的底层技术。 谷歌科学家的凡尔赛是:“我们让阿法狗更顺畅”。
(一)上半场:美国科技大厂的豪门恩怨 简单地说,深度学习框架=深度学习操作系统。 世间最流行的两个深度学习框架,谷歌公司的TensorFlow和脸书公司的PyTorch。
开发者压力山大,需要“精通”这两个,或至少“熟练”其中一个,甚至,“辅修”第三个框架,“选修”第四个。 谷歌与脸书,作为美国科技企业,其框架产品的流行度,像极了可口可乐和百事可乐。 快乐肥宅水统治世界,兵家必争之地必属枭雄。大型科技企业想尽一切办法取得技术上的领先优势,深度学习框架不会错过,也无法绕过。 算法突破、数据爆发、算力增长的“铁人三项”支撑了AI的浪潮,唯一能将“铁人”整合的系统软件,是深度学习框架。
它好比底座,对下,完成对底层硬件的调度;对上,支持模型搭建。
人工智能的一堆新玩(算)意(法):人脸识别、图像分类、图像检测与分割、语音识别、广告推荐、GAN、强化学习等等,被封装在软件框架里。 封装,不是封印。 孙悟空冲着框架大喊:“人工智能,叫你一声,敢答应吗?”Siri(用机械女声回答):穿豹纹超短裙的那位,你有事找我? 一般来说,只有超大型科技企业才能支撑“操作系统”的开发。 深度学习的“操作系统”萌芽于高等学府,但早期工业雏形出现在美国科技豪门,是大公司竞争的舞台,也是全球计算机技术精英群体,最精锐部队的角逐。
使用全国通用感叹词:“卧槽,深度学习框架是硬科技。” 把全球AI顶级精英俱乐部的会员分成两类:一类是原创AI算法的发明者, 一类是AI框架的发明者。 前一类是加钱阅读的部分,后一类是本文的重点。 请大家记住这些名字,因为这些“精神小伙”,对深度学习框架的发展至关重要。
现任阿里巴巴技术副总裁贾扬清,浙江绍兴人,从初中三年级开始接触电脑,他一直觉得自己学编程挺晚的。 2002年是他高考那一年,浙江省是高考界的领跑者,清华大学计算机系的分数线很高,他去了清华自动化系。
在科学界,瑞士是物理和数学领域的领跑者。也在2002年,瑞士戴尔莫尔感知人工智能(Idiap)研究所诞生了第一个机器学习库Torch。 欧洲最高山脉阿尔卑斯山的雪顶千年不化,山脚下的瑞士名城马蒂尼(Martigny),既是登山爱好者的天堂,又是葡萄酒产区。 这是个做学术的好地方,自1991年以来,这里的研究所就是全球人工智能和认知智能领域的领导者之一。 机器学习库Torch,出自“葡萄酒产区”研究所的一份研究报告(三位作者分别是:Ronan Collobert、Samy Bengio、Johnny Mariéthoz)。
其中一位作者姓本吉奥(Bengio),没错,这位眉毛粗粗的科学家,就是深度学习三巨头之一,约舒亚·本吉奥(Yoshua Bengio)的兄弟。
2007年他跳槽去了谷歌。 Torch意为火把,成为框架旷野的第一颗火种。 “库”(Library)是一系列事先编写好的代码集合,在编程中调用,可以减少重复工作。 加拿大蒙特利尔大学的深度学习框架的开发,始于2007年,Theano是行业祖师爷。
框架和图灵奖获得者颇有渊源,约舒亚·本吉奥(Yoshua Bengio)和伊恩·古德费洛(Ian Goodfellow)都有参与Theano。 库和框架的不同之处,在于境界。
库是兵器库,框架则是一套武林绝学的世界观,程序员在这个世界观的约束下去练(编)拳(程)法(序),结果被框架所调用。框架接管了程序的主控制流。 反正,框架比库厉害多了。 有了框架,才能做到只关注算法的原理和逻辑,不用去费事搞定底层系统、工程的事。生命短暂,都想走捷径。话不能这么说,都996了,生产队里的驴也得歇歇。 转眼间,贾扬清已经在美国加州大学伯克利分校攻读博士学位。也是在此期间,他开启了计算机视觉的相关研究。
那时候,他常被一个问题困扰:怎样训练和设计深度学习的网络?为此,贾扬清想造一个通用工具。 著名的Caffe框架的发音和“咖啡”相似,是“快速特征提取的卷积框架”论文的英文简称。巧合的是,这个框架像咖啡一样流行。 这是贾扬清第一个C++项目,多年以后,他在阿里巴巴回忆:“最开始的时候没有测试,代码纠错(Debug)成了最痛苦的事。” 2013年的Caffe框架是他的成名之作。在工业场景的计算机视觉系统上,Caffe 稳健快速,是无可争议的王者。
这一年,Parameter Server(参数服务器)的两位著名教授走向台前,邢波(Eric Xing)教授和Alex Smola教授,现在两位均在美国卡内基梅隆大学(CMU)任教。 参数服务器是个编程框架,也支持其他AI算法,对深度学习框架有重要影响。 高校实验室善于技术创新,深度学习框架的很多精髓创意源于此地。但是,深度学习框架复杂性高、工程量极大,长期负责复杂产品,高校并不擅长。 事实也证明,多年后,高校出生的深度学习框架,都以某种方式“进入”企业,或者被企业赶超了。 嗅觉敏锐者,业已出发。 2015年11月,TensorFlow开源,由谷歌大脑团队开发。谷歌的搜索、油管、广告、地图、街景和翻译的背后,都有其身影。