作者 | 苏宓
出品 | CSDN(ID:CSDNnews)
不知道是不是之前“TensorFlow 将死”的谣言传得过盛,Google 于日前紧急发布了一篇标题为《Bringing Machine Learning to every developer’s toolbox》(将机器学习带入每位开发者的工具箱)的公告,广而告之,TensorFlow 没有“死”,而且各种数据表明,其现如今发展地非常好,也是全球 300 万软件开发者最常用的 ML 工具。
与此同时,Google 也没有放弃继续开发 TensorFlow,未来它将与 JAX 同在。
被左右夹击的 TensorFlow
TensorFlow,是 Google 在 2015 年开源的端到端机器学习平台。其一经发布,业内如苹果、Netflix、Stripe、腾讯、Uber、LinkedIn、Twitter、百度、Orange、LVMH 等公司常将它用来优化运营工作,同时也应用在深度神经网络的训练和推理中。
随着时间的迭代,TensorFlow 最强劲的竞争对手 PyTorch 在 2016 年出现了,它带来了比 TensorFlow 更快的原型设计。此外,PyTorch 与 Python 生态系统的集成比 TensorFlow 更为紧密,调试体验也简单得多。
来源:The Gradient
多年间,TensorFlow 与 PyTorch 的竞争可以说已经到了较为焦灼的状态。
然而,当时间来到 2020 年,Google 的一个决策,给本就与 PyTorch 竞争稍显被动局势下的 TensorFlow 浇了一波凉水,其同属于一个母公司 Alphabet 旗下的 DeepMind 对外表示,他们正在使用 JAX 来加速 AI/ML 研究。
根据 JAX 在 GitHub 上的官方介绍显示:
JAX 是由 Google Brain 团队推出的进行高性能机器学习研究的新框架,其前身是 Autograd 和 XLA 的结合体。
通过 Autograd 的更新版本,JAX 可以对 Python 程序与 NumPy 运算执行自动微分,且支持循环、分支、递归、闭包函数求导。另外,JAX 还可以使用 XLA 实现在 GPU 和 TPU 上编译和运行 NumPy 程序。默认情况下,编译按照系统调用被 JIT 编译和执行。但是 JAX 也允许开发者使用一个单一函数的 API jit 将自己的 Python 函数编译为 XLA 优化的内核。
现如今 JAX 发展的势头似乎比此前 TensorFlow 刚推出时更为迅猛。截至目前,其在 GitHub 上已获得了 19k 个 Star。
因此,很难不让众人对 TensorFlow 未来去向担心。
就连图灵奖得主、CNN 之父 Yann LeCun 也曾评价道,“深度学习框架之间的激烈竞争进入了一个新阶段。现在 Google 的 TensorFlow 已经输给了 Meta 的 PyTorch,Google 内部也正在转向 JAX。”
那么,Google 是否真的用后起之秀 JAX 将众人所熟知的 TensorFlow 取而代之?
TensorFlow 依然是开发者最常用的框架
就目前而言,Google 给出了确信以及肯定的答复:不会。
在最新的公告中,Google 用诸多的数据来说明 TensorFlow 的当前现状。
正如此前 Stack Overflow 开发者调查的数据结果显示,TensorFlow 是开发者最常用的 ML 工具,被全球 300 万的软件开发者采用,以此增强他们的产品和解决方案。与此同时,TensorFlow 也是不少开发者在未来最想使用的框架,预期在不久的将来,TensorFlow 的用户群体将会达到 400 万。
最想要尝试的框架和库
TensorFlow 现在每月下载超过 1800 万次,并在 GitHub 上积累了 166k 颗个 Star,这个数据在当前所有深度学习框架中也处于领先地位。
Google 称,在其公司内部,TensorFlow 几乎支持所有 AI 研发的工作流程,包括搜索、广告、YouTube、GMail、地图、播放、照片等等。与此同时,每个月,Google Scholar 都会为超过 3,000 篇提及 TensorFlow 或 Keras 的新科学出版物编制索引,其中包括重要的应用科学,如 CANDLE(癌症分布式学习环境框架)对理解癌症的研究。
一种框架不足以走天下
对于为何要研发一种新的框架,Google 也做出解释,「单一的通用框架不可能适用于所有情况——特别是,“现实的生产环境”和“顶端的科学研究”的需求经常发生冲突。」
故而,其推出了一个用于分布式数值计算的极简主义 API——JAX,来为下一个时代的科学计算研究提供动力。
简单来看,TensorFlow 和 JAX 的受众各有所倾向性,前者倾向于 ML 开发者群体,后者则主要面向研究人员。
Google 表示,“在这个新的多框架世界中,TensorFlow 是我们对应用 ML 开发人员需求的回应——在任何规模和任何平台上,工程师需要构建和部署可靠、稳定、高性能的 ML 系统。我们的愿景是创建一个有凝聚力的生态系统,研究人员和工程师可以利用协同工作的组件,无论它们起源于哪个框架。我们已经在 JAX 和 TensorFlow 互操作性方面取得了长足的进步,特别是通过 jax2tf。开发 JAX 模型的研究人员将能够通过 TensorFlow 平台的工具将它们投入生产。”
展望 TensorFlow 的未来,Google 进一步表明了态度,「我们打算继续开发 TensorFlow,作为应用 ML 的一流平台,与 JAX 并肩,推动 ML 的研究范围。我们将继续投资这两个 ML 框架,以推动数百万用户的研究和应用。」
国产深度学习框架冲破“垄断”的机遇
TensorFlow 未曾放弃,PyTorch 依然引领,JAX 奋起直追,深度学习框架领域已然越来越热闹。而放眼国内,也有不少深度学习框架迅速崛起。
截至 2021 年 12 月,百度“飞桨”深度学习平台(即 PaddlePaddle),已经冲破了过去在中国市场上 Google、Facebook(Meta)的垄断局面,成为中国深度学习平台综合市场份额第一。
全球AI开源框架Star数4月、5月榜TOP2,来源:OSS Insight 数据
与此同时,国产 MindSpore、OneFlow、MegEngine、Jittor 等框架也正在渗透各个领域的应用中。
对于这一趋势,一流科技 OneFlow 创始人袁进辉不久前也在朋友圈评价道,“我原本也以为 Google 放弃了 Tensorflow,因为很久没看到显著的更新,不过最近看正在引入 dtensor,以及重构 runtime,这说明 TF 并没有被放弃,应该是两条腿走路的策略。最近看到,国内框架进步也很快,聚焦于创新和本土化策略,还是很有机会。”
不过,根据数据调研显示,TensorFlow 与 PaddlePaddle 的 Star 数差距接近 10:1。同时,TensorFlow 与 PaddlePaddle 的 Commits 数量,中美差距近 3 倍。尽管从 AI 发展历程上,国外具有一定的先发优势,但开源框架 Star 数和 Commits 数的欠缺仍能反映出中国开源生态中存在的些许问题。
前瞻产业研究院报告指出,中国 AI 的发展更偏向于应用层。对此,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛表示,“重应用,轻生态”的 AI 开源模式并非长久之计。「目前的开源生态尚且存在问题,甚至形成了一种“各自为政”的局面,这会导致内部消耗,增加用户选择成本,以及技术复用难度,阻碍整个行业的大规模发展。所以,开源生态建设对于中国的发展至关重要。」而这也是“弯道超车”的最佳突破口。
参考链接:
https://blog.tensorflow.org/2022/06/%20bringing-machine-learning-to-every-developers-toolbox.html?m=1
https://github.com/google/jax
— 推荐阅读 —
二十年前,《程序员》创刊时,我们要全面关注软件人的成长。今天,我们依然初心不变:在一行行代码的背后,是一颗颗鲜活的开发者想要改变世界的雄心壮志。因此,《新程序员 004》从 C++之父 Bjarne Stroustrup、C# 之父 Anders Hejlsberg、MySQL 之父 Michael "Monty" Widenius、PostgreSQL 全球开发组联合创始人 Bruce Momjian 等程序员祖师爷,到阿里巴巴副总裁贾扬清、指令集创始人兼董事长潘爱民、Vue.js 作者尤雨溪……48 位技术大咖,共创我们的程序人生、我们的技术时代。《新程序员 004》已全面上市,欢迎订阅!