作者丨Matthew Lynley
来源!机器之心
TensorFlow 大概已经成为谷歌了「弃子」。
2015 年,谷歌大脑开放了一个名字「TensorFlow」该产品迅速流行,成为人工智能行业的主流深度学习框架,塑造了现代机器学习的生态系统。七年后的今天,故事的方向完全不同:谷歌 TensorFlow 失去了开发者的支持,因为他们已经转向了 Meta 另一个框架 PyTorch。曾经无处不在的机器学习工具 TensorFlow 已经悄然落后了 Facebook 在 2017 年开源的 PyTorch 成为这一领域的霸主。近日,外媒 Business Insider 采访了一系列与谷歌机器学习密切相关的开发人员、硬件专家、云供应商和人员,并获得了同样的观点。TensorFlow 这场战争已经输掉,有人用了一个鲜明的比喻:「PyTorch 吃掉了 TensorFlow 的午餐。」专家表示,鉴于战术失误、开发决策和 Meta 谷歌引领互联网机器学习学习的机会正在逐渐消失,这是开源社区的一系列智能策略。在 PyTorch 谷歌正在悄悄地开发一个机器学习框架 JAX(曾是「Just After eXecution」许多人认为首字母缩写不再代表官方声明中的任何东西) TensorFlow 的继承者。
这为谷歌的其他部门铺平了道路,一位谷歌内部人士向 Insider 证实,JAX 现在谷歌的大脑和大脑几乎已经存在了 DeepMind 全球采用。接近谷歌机器学习的人说,最初 JAX 面对内部的强烈反对,一些人认为谷歌员工已经习惯了使用它 TensorFlow。尽管它可能很难使用,但它一直是谷歌员工的统一因素。他们说,JAX 方法要简单得多,但它会改变 Google 内部构建软件的方式。熟悉该项目的人士表示,Jax 谷歌产品有望成为未来几年使用机器学习的所有支柱,就像 TensorFlow 在 2015 几年后做的。「JAX 是工程壮举,」Julia 编程语言创造者 Viral Shah 说。「我认为 JAX 是一种通过 Python 实例独立编程语言。如果你遵守 JAX 如果你想要规则,它可以发挥它的魔力,这真是太棒了。」现在谷歌希望在这场比赛中再次获得金牌,同时也从发展开始 TensorFlow 从错误中吸取教训,但这将是一个巨大的挑战。
根据提供给 Insider 的数据,PyTorch 一些必读开发者论坛上的帖子正在迅速赶上 TensorFlow。Stack Overflow 参与数据显示,以论坛问题的份额来衡量, TensorFlow 近年来人气停滞不前, PyTorch 参与度继续上升。
TensorFlow 启动强劲,推出后人气不断提高。Uber 和 Airbnb 等公司以及 NASA 机构很快就开始在一些复杂的项目中使用,需要在大量的数据集中进行算法培训。 2020 年 11 月,TensorFlow 已被下载 1.6 亿次。但谷歌持续及增量的功能更新使得 TensorFlow 即使是谷歌内部的人、开发人员和与项目密切相关的人也会变得笨拙和不友好。随着机器学习领域以惊人的速度发展,谷歌不得不经常使用新工具来更新其框架。接近该项目的人士表示,该项目已在内部传播,越来越多的人参与其中,不再关注最初是什么 TensorFlow 成为首选工具。专家告诉 Insider,这款疯狂的猫鼠游戏对于许多领导者来说是一个反复出现的问题。例如,谷歌并不是第一家建立搜索引擎的公司,它可以从 AltaVista 或 Yahoo 从前辈的错误中吸取教训。2018 年,PyTorch 尽管如此 TensorFlow 和 PyTorch 都建立在 Python 之上,但 Meta 投入大量资金满足开源社区的需求。 TensorFlow 项目人士说,PyTorch 也受益于专注于做一些事情 TensorFlow 团队错过了什么。「我们主要使用它 PyTorch,社区支持最多,」机器学习初创公司 Hugging Face 研究工程师 Patrick von Platten 说。「我们认为 PyTorch 他们可能在开源方面做得最好,他们可以确保在线回复问题,所有的例子都可以 work。」一些最大的组织开始在 PyTorch 上运行项目,包括那些曾经依赖 TensorFlow 的机构。不久之前,特斯拉、Uber 等公司就在 PyTorch 他们最困难的机器学习研究项目已经运行。TensorFlow 有时会复制新功能 PyTorch 流行元素,使 TensorFlow 对于它最初的研究人员和用户观众来说,它变得越来越臃肿。这样的例子是 2017 年增加了「敏锐执行」,这是 Python 开发人员可以很容易地分析和调试他们的代码。
随着 PyTorch 和 TensorFlow 谷歌内部的一个小型研究团队开发了一个新的框架 JAX,该框架将更容易访问张量处理单元(TPU)——谷歌专门用于机器学习和 TensorFlow 定制芯片。团队研究人员 Roy Frostige、Matthew James Johnson 和 Chris Leary 在 2018 年发表了一篇名为《Compilation of machine learning software through high-level traceability》的论文,介绍了这个新框架 JAX。PyTorch 原作者之一 Adam Paszky 于 2020 年初全职加入 JAX 团队。
论文地址:https://cs.stanford.edu/~rfrostig/pubs/jax-mlsys2018.pdf
JAX 为了解决机器学习中最复杂的问题之一,提出了直接的设计:将一个大问题的工作分散到多个芯片上。JAX 它不会为不同的芯片运行单段代码,而是自动分配工作,并尽可能实时访问 TPU,满足操作需要。这解决了谷歌研究人员对计算能力的巨大需求。PyTorch 和 TensorFlow 它们都是以同样的方式开始的究项目,然后成为机器学习研究的标准化工具,从学术界传播到更多的地方。然而,JAX 许多方面仍然依赖于其他框架。开发人员说:JAX 需要使用一种简单的方法,没有加载数据和预处理数据 TensorFlow 或 PyTorch 处理大量数据。JAX 基础框架 XLA 也针对谷歌 TPU 设备得到了极大的优化。该框架也适用于更传统的 GPU 和 CPU。了解该项目的人称:该项目仍有办法对 GPU 和 CPU 优化,实现 TPU 同等水平。谷歌发言人表示,2018年 年至 2021 谷歌内部对 GPU 支持策略不好,缺乏大规模的支持策略 GPU 谷歌转而关注供应商英伟达的合作 TPU,谷歌本身的内部研究也主要集中在谷歌本身 TPU 上,导致缺乏好的 GPU 使用反馈循环。从这个意义上说,谷歌对 TPU 强调和专注也是必须的。然而,如 Cerebras Systems 的 CEO Andrew Feldman 所说:「任何一种设备优于另一种设备的行为都是开源社区抵制的不良做法。没有人想局限于单一的硬件供应商,这就是机器学习框架应运而生的原因。机器学习从业者希望确保他们的模型可以移植到他们选择的任何硬件上,而不是锁定在一个平台上。」如今,PyTorch 快 6 岁了,TensorFlow 这个年龄已经有衰落的迹象了。 PyTorch 未知有一天会被新框架取代。但至少,新框架出现的时机已经成熟。
原文链接:https://www.businessinsider.com/facebook-pytorch-beat-google-tensorflow-jax-meta-ai-2022-6
本文仅进行学术分享。如有侵权行为,请联系删除。
1.自动驾驶领域的多传感器数据集成技术
2.自动驾驶领域3D点云目标检测全栈学习路线!(单模态 多模态/数据 代码)3.彻底了解视觉三维重建:原理分析、代码解释、优化和改进4.中国第一门面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码解释6.彻底理解视觉-惯性-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底了解基础LOAM框架的D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
扫码添加小助手微信,可
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题