本周,PyTorch迎来了自己的5岁生日,官方发布可一条Twitter庆祝。
今天是PyTorch公开发布5周年!我们没想到会走这么远,但我们现在达成了这些成就——2000贡献者,9万项目,GitHub上390万行“import torch”。
你细看,官方推文还复古了一把,图片里用上了5年前的原始Logo。
追忆5年前,首个公开版PyTorch还不支持Windows,Python最新版还是3.5,当时苹果操作系统还叫OS X,PyTorch的“老父亲”Meta还叫Facebook。
再看一眼现在PyTorch的安装指导页面,不禁让人感叹深度学习发展太快。
在这条Twitter下许多程序员发出祝福,一改学术圈推文下冷清的常态。AI硬件的“老大哥”英伟达也发来贺电:
还有网友前来“捣乱”,玩起了HR梗:招聘具有7年PyTorch的程序员。
作为最受欢迎的机器学习框架(之一),PyTorch诞生的过程并不是想象的那般具有传奇性。
Meta官方邀请了LeCun与PyTorch创始人一起回顾了当年那段历史。
时间回到2016年,当时的Facebook AI还在使用Caffe、Torch框架。Caffe是贾扬清在加州大学伯克利分校攻读博士期间创建的项目,用C++编写。Torch则是基于Lua语言开发。
PyTorch的创始人Soumith Chintala回忆说,当时很多框架安装都非常麻烦,甚至需要手动gcc编译源代码,如果要用GPU加速还要安装正确的CUDA版本,一切都像在碰运气。
TensorFlow的出现简化了很多工作。
但是还有很多研究是基于Caffe、Torch框架,像Torch这样的框架,开发者甚至还要每组网络层手动编写微分,然后再以一种复杂的方式组合在一起。
所以,Chintala希望开发在此基础新一代框架,它可以自动微分,而且使用动态计算图。他在Torch的GitHub页公开了自己的想法。
Chintala拉来一个实习生Adam Paszke,后者当时只是华沙大学一年级学生。后来又有两位核心成员Sam Gross和Gregory Chanan入伙。
在经历了一个半月的紧张开发后,PyTorch的雏形诞生。
Chintala邀请来自不同公司和大学的大约100名开发者当“小白鼠”,言辞近乎恳求:“你能试用一个小时吗?用它来做研究,看看有没有问题。”
事实上,这些早期用户给了非常多有用的反馈,帮助PyTorch小队一周内修复了30多个bug。
据Chintala说,不少试用科研人员喜爱上了PyTorch,很多人写论文就用上了PyTorch,甚至论文在公开发布之前就已经在PyTorch上发表。
PyTorch在起步阶段就取得了不错的成就。
经过5年的发展,PyTorch已经和TensorFlow成为最受欢迎的两大框架。
从PyTorch诞生至今,它与TensorFlow孰优孰劣的口水战就从来没有挺过。
如今,PyTorch已经在学术论文圈对TensorFlow形成碾压的态势。
据统计Hugging Face上有85%的模型是PyTorch独家的,TensorFlow的比例为8%
如果把目光聚焦到前30个受欢迎的项目,那么所有项目都有PyTorch代码,而超过10个模型是没有TensorFlow代码的。
对八家顶尖研究期刊数据的统计显示,PyTorch诞生当年,仅有7%论文的开源代码由其写就。而到了2021年,将近80%的论文都使用PyTorch框架。
根据对Paper with Code数据的统计,PyTorch论文比例稳步增长,达到了60%,TensorFlow的份额被蚕食到仅11%。
2019年,有55%的TensorFlow使用者“叛逃”到PyTorch阵营。
不过在产业界TensorFlow还有非常重要的地位,由于TensorFlow强大的部署框架和端到端扩展平台,对于部署生产模型的人来说还是非常重要。
但是在工业界也有越来越多的人选择PyTorch,比如特斯拉的Autopilot、深度学习研发框架Catalyst等。
面对PyTorch的强势地位,甚至连TensorFlow的TensorBoard可视化工具也加入了对PyTorch的支持。
另外,PyTorch官方Twitter的关注者里,谷歌大神Jeff Dean也赫然在列。
下一个五年,PyTorch会朝怎样的方向发展,Chintala表示未来会有更多AI技术商业化,PyTorch将更加重视在产业界的作用。
看来PyTorch和TensorFlow的下一场对决是不可避免了。
仅仅5年就获得巨大的成功,就连PyTorch创始人Chintala本人也没想到,无论是使用量、贡献者还是资金支持都超出了他的预料。
不知道这算不算凡尔赛呢?
参考链接:
[1]https://twitter.com/PyTorch/status/1483861422668795907
[2]https://www.youtube.com/watch?v=r7qB7mKJOFk
[3]https://blog.paperspace.com/why-use-pytorch-deep-learning-framework/
[4]https://www.assemblyai.com/blog/pytorch-vs-tensorflow-in-2022/