2023-01-19 14:07:34 来源:商业新知网
来源 | AI前线
(相关资料图)
作者 | AriAri Joury
译者 | 核子可乐
策划 | 刘燕
【导读】 曾经与 PyTorch 并驾齐驱,TensorFlow 如今怎么就不行了?
科技领域的派系之争从未休止,各种各样的操作系统、云服务商乃至深度学习框架都有各自的支持者和反对者。几杯小酒下肚,从业人士们总爱拾起话题、挑动争端,搞搞“抛开事实不谈”的娱乐插曲。没错,人们会打心里支持自己喜爱的技术,甚至愿意牺牲人缘加以捍卫。
还记得关于 IDE 的热烈讨论吧,有些人支持 VisualStudio,也有人将神圣一票投给 IntelliJ,平淡老派的 Vim 仍不乏拥护者。这样的争论永无止尽,甚至成了从业者衡量他人的重要线索和攻讦素材。
堪称深度学习双雄的 PyTorch 和 TensorFlow 当然也逃离不了这样的命运。 两个阵营都有大批支持者,双方也掌握着丰富详实的证据,足以证明为什么自己喜欢的深度学习框架能够“打爆”对方。
但如果单从数据来看,那这个争议甚至没有存在的价值。截至目前,TensorFlow 仍是应用范围最广的深度学习框架,每月在 Stack Overflow 上收到的相关问题数量几乎是 PyTorch 的两倍。
但从另一方面来看,TensorFlow 自 2018 年以来几乎就没有继续增长。PyTorch 受到的关注度则一直稳步提升,至今仍在保持。
为了证明所言非虚,下图所示为 TensorFLow、PyTorch 以及 Keras 三款框架的发展历程。但可以看到, Keras 已经基本陷入难以逆转的回落 。最简单的解释是,Keras 过于简单且性能不佳,难以满足多数深度学习从业者的现实需求。
PyTorch 仍在增长,TensorFlow 则基本陷入原地踏步。图片基于 Stack Overflow 趋势数据。
当然,TensorFlow 在 Stack Overflow 上的流量可能不会快速下降,但也已经开始下降。而且我们有理由相信,这 种下降将在未来几年中,特别是在 Python 领域变得更加明显 。
PyTorch 感觉更有 Python 范
由谷歌开发的 TensorFlow,大约是 2015 年底加入深度学习狂欢的首批老成员。然而,其初代版本的使用难度很高 — 但这也没什么,毕竟很多软件的首个版本都不够成熟。
正因为如此,Meta 才决定开发 PyTOrch,希望能以更低的上手门槛提供与 TensorFlow 几乎相同的功能。
TensorFlow 开发团队很快意识到了这个问题,并在 TensorFlow 2.0 中引入了 PyTorch 那边不少广受欢迎的设计。
首先得夸一句,PyTorch 能实现的在 TensorFlow 中也完全可以实现,只要你能容忍花两倍精力编写代码。时至今日,TensorFlow 使用起来也不够直观,让人感觉很没有 Python 那个“范儿”。
至于 PyTorch,只要大家喜欢用 Python,那就一定会喜欢上这套强大的深度学习框架。
PyTorch 提供更多模型选项
很多企业和学术机构都不具备构建大模型所需要的充裕算力。而要命的是,机器学习向来以规模为王 — 模型体量越大,往往越能带来令人印象深刻的效能表现。
借助 HuggingFace,工程师们只需编写几行代码,就能把经过训练和调优的大型模型整合到自己的管道当中。这时 PyTorch 的一大优势就体现出来了— 这些模型中约有 85% 可以跟 PyTorch 配套使用。目前只有约 8% 的 HuggingFace 模型属于 TensorFlow 独占,其余部分基本都是跨阵营兼容。
也就是说,如果您打算使用大模型,那要么远离 TensorFlow,要么就得投入大量计算资源来训练自己的模型。
PyTorch 对教育和研究类场景更友好
PyTorch 在学术界备有赞誉,其中的道理并不能理解。有四分之三的研究论文使用的都是 PyTorch,而且即使是那些早期从 TensorFlow 的研究人员(请注意,TensorFlow 在这方面是具备先发优势的),其中大部分如今也已经迁移到了 PyTorch。
必须承认,谷歌自己在 AI 研究领域就独成一套颇具份量的体系,而且主要使用 TensorFlow;但这种向 PyTorch 转型的趋势已成现实且持续加快。
另外要强调一点,学术研究会直接影响到教学习惯,给年轻的预备队们灌输技术喜好。用 PyTorch 发论文的教授们,当然更倾向在课堂上使用 PyTorch。他们也更乐意和擅长回答跟 PyTorch 有关的问题,这自然会左右学生们的工具选择。
因此,与 TensorFlow 相比,大学生们往往更了解 PyTorch。而且随着他们慢慢成长并走向产业,PyTorch 阵营将变得愈发强大。
PyTorch 的生态系统增速更快
归根结底,软件框架的重要意义其实是参与者社群的反映和体现。PyTorch 和 TensorFlow 都有相当发达的生态系统,包括除 HuggingFace 以外的各类训练艺术形式仓库、数据管理系统、故障预防机制等。
值得一提的是,截至目前,TensorFlow 的生态系统还是要比 PyTorch 略强一些。但 PyTorch 亮相得更晚,而且过去几年来的增长之势坚定有力。因此可以预见, PyTorch 生态系统可能会在不久的将来全面超越 TensorFlow。
TensorFlow 的部署基础设施更强
虽然 TensorFlow 的编码难度更高,但只要编写完成,其部署难度却远低于 PyTorch。TensorFlow Serving 和 TensorFlow Lite 等工具都能快速在云、服务器、移动设备和物联网设备上完成部署。
另一方面,PyTorch 的发布 - 部署工具则是出了名的慢。但好消息是,它已经意识到了问题,并正在迅速缩小与 TensorFlow 间的差距。
目前还很难断言,但 PyTorch 确实有可能在未来几年内赶上、甚至反超 TensorFlow 的部署优势。
当然,TensorFlow 的代码不会就此立马消失,毕竟部署之后再切换框架的成本很高。不过可以想象,后续会有更多新的深度学习应用程序选择使用 PyTorch 进行编写和部署。
TensorFlow 的心中并不只有 Python
千万别误会,TensorFlow 并没有就此衰落,它只是不再像过去那么那么受欢迎了。
其核心原因,就是很多使用 Python 进行机器学习的用户开始转向 PyTorch。
但 Python 并不是唯一的机器学习语言。这可以说完全是个偶然,而这个偶然也促使很多 TensorFlow 开发者将关注集中在 Python 身上。
如今,人们可以将 TensorFlow 与 JavaScript、Java 乃至 C++ 一起使用。社区也在开发面向 Julia、Rust、Scala 和 Haskell 等其他语言的支持方案。
与之对应,PyTorch 则在以 Python 为中心这条路上拼命狂奔,所以框架本身呈现出一种非常鲜明的 Python 范。虽然也出现了 C++ API,但 PyTorch 所能支持的其他语言数量还不到 TensorFlow 的一半。
可以想见,PyTorch 在 Python 世界中肯定会超越 TensorFlow。但另一方面,TensorFlow 凭借其令人印象深刻的生态系统、部署功能和对其他语言的广泛支持,仍将在深度学习领域长久占据重要的一席之地。
说到这里,该选 TensorFlow 还是 PyTorch 应该有了明确的答案 — 专情于 Python 就选 PyTorch,反之则选 TensorFlow。
融资丨「唐锋能源」完成近3亿元C轮融资,金浦智能、前沿投资、东风资管联合领投,唐锋能源总经理朱凤鹃博士表示,本轮融资资金将主要用于研发和
2022Q4中国新增15家独角兽居全球首位,占比46 9%;中美新增独角兽行业差异加大丨创业邦《2022Q4全球独角兽企业观察》,本季度报告全面展现2022
方法一、 cgi格式的动画图片文件可以使用windows系统自带的图像浏览器软件就能够打开;方法二、 cgi格式的视频文件则需要windows7系统,且安
融资丨「汇芯生物」完成数千万元Pre-A+轮融资,中南创投基金独家投资,资金将用于加速汇芯生物的工业级外泌体纯化设备和系统开发与量产,加快外
融资丨「普元生物」完成超千万元首轮融资,兴华鼎立创投独家投资,普元生物表示,融资所获资金将用于自有PM002、PM005等菌株的进一步功能开发与
米哈游创始人兼总裁刘伟在接受采访时谈及该公司的宏大愿景,其愿景是在2030年打造出10亿人生活的元宇宙虚拟世界。
信息技术发展日新月异,网络威胁层出不穷,面对未来,数字世界将长期伴生变化的网络安全问题。
近段时间,人工智能领域的黑马产品ChatGPT亮相成为备受关注的全球科技界大事件之一。
近日,由亚马逊云科技举办的首届AmazonDeepRacer自动驾驶赛车互联网行业全国总决赛圆满结束。
在这几年,运营商的各种新兴业务正在变得越来越多,也表现出前所未有的发展活力和价值贡献。