投稿|争夺AI底层框架,大厂进入新赛点

投稿|争夺AI底层框架,大厂进入新赛点
文章图片

图片来源@视觉中国

文 | 光锥智能,作者|张艺
得底层创新者,得天下 。 
智能手机时代,PC巨头微软,试图与苹果iOS、谷歌Android进行“三国杀”;AI时代,在深度学习底层框架的江湖中,谷歌和Meta你追我赶,互不让步 。 
由于AI底层框架投入资金量大、风险大,所以几乎只有不差钱的科技巨头才有实力投入重金,如国外谷歌的TensorFlow和Meta的PyTorch,国内百度的PaddlePaddle 。 
“实力雄厚的美国互联网巨头对AI底层技术战略性投入力度较大,但中国的AI产业主要受需求拉动,大多数AI公司布局应用层 。国内大部分公司的AI研发都选择使用外资巨头开源的TensorFlow、PyTorch等深度学习底层框架 。”中金基金在研究报告中表示 。 
AI底层框架之争,纵有TensorFlow、PyTorch、Keras、Caffe、MxNet百花齐放,但最终还属谷歌和Meta两分天下 。如今,TensorFlow与PyTorch几乎平分春色 。 
近日,外媒Business Insider采访了一系列开发人员、硬件专家、云供应商以及与谷歌机器学习工作关系密切的人,获得了同样的观点:2015年诞生的TensorFlow,曾经辉煌一时,而Meta在2017年开源的PyTorch正在成为该领域的霸主,在此战争中,谷歌开始押宝JAX 。 
投稿|争夺AI底层框架,大厂进入新赛点
文章图片

随后,TensorFlow官方博客回应,没有放弃TensorFlow,将与JAX 并肩发展 。 
虽然谷歌否认,但这个曾经帮谷歌打赢李世石,让谷歌AI一战成名的AI框架,已经开始跌落神坛 。 
不过,谷歌试图通过“自我革命”来重现当年TensorFlow一统天下的雄风,这个艰巨的任务则由新的深度学习框架JAX实现 。Google Brain、DeepMind、DALL·E Mini等等的背后都有JAX的身影 。据《商业内幕》透露,预计在未来几年内,JAX将覆盖谷歌所有采用机器学习技术的产品 。 
从TensorFlow到JAX,随着AI发展阶段的变化,底层框架的创新和上层应用的关系也在发生微妙的变化 。 
“传统的技术研究是从底层入手,逐渐发展,最后形成demo或产品业务,但现在应用层的业务需求可以反馈影响到底层设计 。”作为技术人员,林吉向光锥智能分享了对AI行业阶段性变化的观察 。人工智能科学LeCun也曾公开表示,深度学习框架之间的激烈竞争,已经进入了一个新的阶段 。 
大厂的AI底层框架之争,是一场与时俱进的AI基础设施建设军备赛 。 
01 迎战PyTorch,TensorFlow落寞曾几何时,Tensorflow有多红?数据显示,截止到2020年11月,TensorFlow的下载次数已经达到了1.6亿次 。 
“孩子今年开学已经上小学五年级了,现在报课外班学Tensorflow 还来得及吗?” 
2018年,知乎上一个提问吸引了亚马逊首席科学家李沐的回答:“有点晚 。我家娃一岁开始就开始读读paper,现在已经可以熟练敲键盘写MXNet代码,虽然语法错误还比较多 。他妈妈在Google上班是用Tensorflow,但他对MXNet兴趣更大一点 。不过比起敲代码,调参他更在行 。” 
投稿|争夺AI底层框架,大厂进入新赛点
文章图片

图:李沐在知乎上的回答截图 
AI大牛亲自下场造梗,引得众人讨论 。 
2015年10月,Tensorflow面世,不到半年就名声大噪 。2016年3月,AlphaGo与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,背后的核心底层框架Tensorflow火速出圈,成为AI领域的崭新黑马 。2017年5月,在中国乌镇围棋峰会上,AlphaGo与排名世界第一的世界围棋冠军柯洁对战,以3比0的总比分获胜 。 
彼时,Tensorflow发展如日中天,AI江湖以其为旗帜,打开任意一家AI创业公司的官网产品技术介绍信息,“Tensorflow”都可能出现在显著位置 。 
但是,Tensorflow独占鳌头的高光时期很快收到来自当时Facebook人工智能研究院的“战书” 。2017年,后者基于Torch推出了PyTorch 。 
如果说Tensorflow是AI底层框架领域的阳春白雪,PyTorch就是下里巴人 。 
“做个类比,PyTorch就像Python,TensorFlow就像Java 。从使用者的角度看,我特别不喜欢Java,因为干一个事之前要干很多事,上手门槛比较高,部署起来也比较麻烦,但是其底层运行效率非常高,Python则是任何一个学生都特别容易上手,但Python对于服务器,对于计算资源的协调使用效率其实非常低 。” 
人工智能企业Voilà!的创始人尚可总结道:TensorFlow性能高但门槛也高,PyTorch的优势则是更易用 。“圈内有句玩笑话:TensorFlow什么都好,就是不好用 。实际上一旦部署起来,整体运行效率比PyTorch高 。” 
因为“好用”的优势,PyTorch迅速成为TensorFlow的强劲对手 。据量子位报道的数据显示,2019年,有55%的TensorFlow使用者“叛逃”到PyTorch阵营 。PyTorch官方Twitter的关注者里,谷歌大神Jeff Dean也悄悄成了“粉丝” 。 
投稿|争夺AI底层框架,大厂进入新赛点
文章图片

图片来源于The Gradient 
行业普遍认为TensorFlow在工业届广泛应用,而PyTorch在学术圈赫赫有名 。根据Paper with Code数据的统计,PyTorch论文比例达到了60%,TensorFlow的份额仅剩11% 。 
TensorFlow诞生之时,尚可也是建设团队成员之一 。 
“起初,谷歌内部的AI团队主要希望面向内部打造一个有通用价值、广而全的一套底层深度学习算法框架 。当时,也没有TPU,GPU也比较贵,所以开发TensorFlow 1.0时,团队就意识到:因为要通用,训练效率必须高,不能吃掉太多的加速资源,保证最终成本经济实用 。”他回忆道,这也是TensorFlow推出后就迅速被工业届广泛应用的核心原因 。 
随着谷歌推出TPU,并在2019年开放后,形成软硬件组合矩阵,这为TensorFlow带来了新的竞争力,然而这还不足以令其回到一家独大的巅峰时刻 。 
“TensorFlow 1.0版本,模型训练比较费劲,写代码的复杂度会高一点,需要自己提前把整个的网络图写出来,然后再给数据去做内容优化 。PyTorch的代码写起来比较简单,构建图时就可以把数据填进去,类似于写普通的代码去调一个函数一样 。” 
从应用端的体验上,Voilà! CTO 苏勇(Steve Su)透露,对于商业化公司来说,TensorFlow的应用频率更高,但实际运用过程中,操作复杂依旧是“老大难”问题 。对于大多数开发者来说,Meta没有自己的云服务,也没有在硬件方向做太多工作,主要以纯软件的方式做的,所以更加简单友好 。 
针对1.0版本“bug”的修复迭代升级,也是对PyTorch的第一次反击,2019年,TensorFlow 2.0版本上线 。 
投稿|争夺AI底层框架,大厂进入新赛点
文章图片

图 :TensorFlow 2.0 
“很多人说2.0版本的推出是谷歌革了自己的一次命 。但2.0版本时,却发现1.0版的模型代码基本上不能用 。此外,在2.0版,如果遇到问题搜索解决方案时,出现的也是1.0版时的答案,得不到想要的信息 。此时,很多使用者就会出走,转向PyTorch 。”苏勇称 。 
迎战PyTorch,TensorFlow逐渐跌下神坛,谷歌试图重回巅峰 。 
02 AI大规模商业化,底层框架也要“接地气”打不过就加入,JAX是吸收了PyTorch和TensorFlow精华的融合产物 。 
“PyTorch的人数在上涨,TensorFlow的使用者在逐渐逃离 。所以,谷歌直接将TensorFlow两个版本融合,打出了新的名号——JAX 。”苏勇表示,JAX是PyTorch和TensorFlow显著特点的结合体:容易上手,计算效率高 。 
JAX主要对于NumPy的性能优化做的较多,简单来说性能相比原来的方式提升几十倍以上 。“NumPy本身是对于矩阵运算提升了很多,JAX基于NumPy再提升,这形成一个非常大的优势 。” 
据悉,JAX的计算函数API则全部基于NumPy,可以让模型很轻松在GPU和TPU上运行 。简而言之,JAX计算速度很“快” 。 
“因为PyTorch易用性高,所以在高校学术届风靡 。但是当学术圈和商业界破壁后,学术研究可以商业化后,工程师发现在PyTorch上的东西还要在TensorFlow上重新写一遍 。”他表示,这个操作上的转移空间也是JAX的机会 。 
据谷歌官方表示:JAX生态系统开发中,也会考虑确保其与现有TensorFlow库的设计尽可能保持一致 。这也是由于TensorFlow两个版本更新替代时,有过前车之鉴 。 
不过,随着AI从神话落入凡尘,应用的落地以及商业价值是核心 。此时,对于底层框架来说,相比于技术之上的比拼,生态层面的竞争显得更为核心 。 
“从技术角度看,最终使用者对技术差距的感知会比较弱,反而能感知比较深的是生态,比如:身边有多少好友在用,研究的领域大多数人用的是哪一个,使用过程中反馈的问题能不能及时得到解决,有没有可以寻求帮助的一些渠道 。”苏勇解释道 。 
就像手机系统,一些人最开始选择微软,但是最后微软的操作系统却悄无声息地淡出人们视野 。因为开发者选择操作系统时,开发者不仅考虑上手的难度,还需要考虑做出来以后这个APP能不能活下来? 
随着进入以商业化、规模化为导向的AI阶段,底层框架并非炫技之作,各大科技巨头都在“接地气” 。 
除了谷歌推出JAX外,如国内百度的飞桨平台也在强调,基于飞桨平台,AI开发和应用门槛不断降低,人人都可以成为智能应用的开发者 。据百度CTO王海峰公开分享的成绩:飞浆平台已积累了477万开发者,创建了56万个模型 。 
投稿|争夺AI底层框架,大厂进入新赛点
文章图片

图:全球AI开源框架Star数4月、5月榜TOP2 ;图片来源于OSS Insight数据 
得开发者亲睐者,得天下 。 
科技巨头在底层框架上做主导,拥有较强的话语权,为了保证独立性,国内大厂会基于自己的平台持续去优化,也有一些大厂在研发探索底层框架,但中小企业可以不用做底层研究,直接依附大厂做开发 。 
“中小厂一般直接用开源的框架,否则跟不上时代 。”苏勇认为,站在“巨人的肩膀上可以看得更高,走得更快” 。 
“对于底层框架的选择,我们希望和商业化形成正循环 。”他解释道,今年3月,公司获得了SOSV中国加速参与的千万级融资后,商业化需求进一步激发 。上层加速规模化的同时,底层框架作为地基是否牢固尤为重要 。 
“我们核心的一个场景是面向用户的搜索推荐场景,每秒查询率非常高,对结果的精准度要求也高,所以,工业届成熟应用的底层平台更加适合 。” 
【投稿|争夺AI底层框架,大厂进入新赛点】所以,对于苏勇来说,如果JAX能在性能、易用性方面展现优势,相对于PyTorch,前者或将是一个确定性较高的新方案 。“毕竟我们好多服务是用的是Google的,包括他们的云计算和TPU,整体适配度会高一些 。” 

    推荐阅读