人工智能技术之争促进AI框架快速迭代

2022-11-02 10:22文陈徐毅北京
中关村 2022年10期
关键词:编程语言开发者开源

文陈徐毅(北京)

人工智能技术在经历了计算机科学领域过去几十年没有突破的瓶颈期之后,这些年由于算法和算力(并行计算)革命,迈入了一个高速发展的时期。不仅如此,在编程语言和开发者环境不断演化的今天,人工智能算法已悄然形成了两大阵营——TensorFlow与PyTorch互相角逐的格局。

随着竞争日趋激烈,先入为主的TensorFlow被后来者PyTorch迎头追上,前者逐渐显现颓势而棋输一着,业内有一鲜明比喻:“PyTorch吃掉了TensorFlow的午餐!”不久前有科技媒体证实,谷歌内部正押注一个新框架JAX来力求改变与PyTorch竞争不利的局面,而谷歌大脑和DeepMind也很大程度上放弃了TensorFlow转而使用JAX,这意味着AI框架之争进入了一个新的阶段。

人工智能框架TensorFlow和PyTorch的起源

在此之前,我们先了解一下框架的概念。“框架”源于计算机软件开发术语,由于上世纪编程语言模块化资源的匮乏,框架的概念少有流行,随着后来开发者环境的改善,生产力工具的极大丰富,框架的应用随之普及,概念也逐渐清晰。

框架作为编程语言伴生的集成化工具,在开发者环境中处于一种中间地位:语言-库-框架-引擎,越往后集成度越高,理论上开发者可以利用的效率也越高。知名的框架比如基于JavaScript的前端工具React,一个熟练的开发者可以运用此类工具快速构建软件项目的原型基础,这也是常见的敏捷开发思想。

人工智能框架TensorFlow的初始版本源于2015年,由谷歌大脑团队开发并发布在Apache 2.0开源许可证下。TensorFlow是谷歌大脑的第二代机器学习工具,谷歌旗下部署的商业应用包括搜索、图片、地图、广告、翻译等等都与此有关。一个显著的例子是,近年来深度学习神经网络的发展,各国语言文字翻译(机翻)准确度的提高,TensorFlow在其中起到了重要作用。

PyTorch是由科技公司Meta人工智能团队开发的开源Python机器学习工具,它的出现比TensorFlow晚了近一年,但它兼收并蓄地改进了当时主流的包括其他几个AI框架Caffe、Torch,由此开发的基于自动微分,且使用动态计算图的新一代AI框架。PyTorch起步之初就迎合了大量开发者的需求与习惯,逐渐成长为与TensorFlow并列最受欢迎的两大AI框架之一。

框架战争:PyTorch崛起和TensorFlow的衰退

原本先入为主的TensorFlow缘何被PyTorch后来居上?须知道,在人工智能机器学习深度学习神经网络领域,谷歌团队已经历了第一代专有机器学习系统DistBelief(TensorFlow的前身)的部署,所以当TensorFlow进入工业领域的时候,优势非常之大。但是后来的市场变化,PyTorch在开发者社区大受欢迎,以至于其在学术研究领域全面胜出,而TensorFlow的优势也正逐渐为之蚕食。

据开发者社区数据统计,TensorFlow和PyTorch框架的论文公开代码库两者数量差距从2021年3月的1:4扩大到2022年的1:6。如今各大顶会论文数量都是PyTorch对TensorFlow的绝对碾压,就连谷歌自家的论文也只有Torch和JAX,以及零星的TF1.0开源代码。全球范围看,经过几年发展PyTorch在学术圈的主导地位已基本站稳,一方面得益于PyTorch一开始主打的动态图机制,有益于实验室和研究中心快速迭代模型;另一方面得益于吸收了TF1.0和其他主流框架的优点、摒弃缺陷,尊重开发者意见并给予便利操作,赢得受众青睐。

TensorFlow的衰退源自许多科技巨头常有的弊病——追求自利的生态膨胀。一开始TensorFlow凭借先入为主获取市场稳操工业界的盘子,谷歌也凭借安卓系统大量开发者和数据的支撑令TF1.0日臻成熟,大量企业项目落地。但作为科技巨头,谷歌过于执着自家生态的一系列操作致使TensorFlow日后变成了一个不那么适合开源的项目。TF1最大的缺点在于混乱的API设计和难以调试的静态图,许多原本可以顺手解决的问题谷歌团队视而不见,以至于开源的TensorFlow出现了大量交叉版本,厂商开始各自为政。

后来的TF2也不那么成功,反而破坏了TF1的生态,TF2不兼容TF1,TF1继续适配新设备,TF2想办法兼容TF1。恶性循环,开发者大量流失到更为开放、更容易听取意见的PyTorch阵营。而推出JAX实属谷歌的自救,它的做法也就是尽可能不全盘否定TensorFlow的基础上向PyTorch贴近。

框架之争的结果是势均力敌,趋势互为接近,倘若一方因管理团队决策失误导致开发者大量流失,那么另一方将占据垄断地位。目前来看TensorFlow的工业基本盘暂时不会丢失,但随着建立在PyTorch之上的特斯拉自动驾驶、优步Pyro等项目落地,TensorFlow的优势领域也正面临日益增长的压力。

AI框架之争是21世纪的新鲜事,这也是技术文明发展进程中的必经之路。随着人工智能产研基数的不断扩大,该领域技术演化与形态碰撞将持续催生优胜劣汰、与时俱进的生产力工具。

猜你喜欢
编程语言开发者开源
压力-体积转换在CFC编程语言中的实现解析
Java编程语言的特点与应用
五毛钱能买多少头牛
浅谈不同编程语言对计算机软件开发的影响
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
面向对象Web开发编程语言的的评估方法
开源计算机辅助翻译工具研究
iOS开发者调查
iOS开发者调查