Google 辟谣放弃 TensorFlow,它还活着!

[好文分享:www.ii77.com]

[原创文章:www.ii77.com]

作者 | 苏宓
出品 | 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 框架,以推动数百万用户的研究和应用。」