萧箫 发自 凹非寺 量子位 | 公众号 QbitAI

“对于Python而言,为什么TensorFlow正在慢慢死去?”

这篇观点尖锐的文章一出,就被LeCun的转发推向风口浪尖:

还能为啥,当然是因为PyTorch啊。


(资料图片仅供参考)

紧接着“PyTorch和TensorFlow谁更好?”这个经久不息的论战再次被掀起,网友们也纷纷开始从文章中找到共鸣、或予以反驳。

有TensorFlow深度使用者现身说法:现在我改用PyTorch了。

但也有尝试过好几种框架的网友表示:TensorFlow和Keras做快速实验更方便,而且TensorFlow看起来对Apple M1 GPU支持更好。

当然,在这里面也出现了一些独特的声音:

JAX不比这两个框架好多了?

所以,文章作者究竟是如何得出这一结论的?

“PyTorch统治学术论文”

这篇文章的作者 Ari Joury ,是法国索邦大学的粒子物理学博士生,但对将AI和机器学习方法应用在粒子物理学探索上很感兴趣。

作为一个Python爱好者,她在接触两种框架时察觉到了二者的区别。

好奇哪种框架目前关注度更高,她便对Stack Overflow上3种主流框架Keras、TensorFlow和PyTorch进行了一个统计:

简单来说,就是TensorFlow关注度更高,Keras陷入停滞甚至下降,而PyTorch虽然起步较晚,但这两年一直呈现关注度稳定上升的趋势。

(不过,也有网友认为文章中用Stack Overflow数据做论据,根本不能算是统计框架的“受欢迎度”,反而只能证明这些框架“让人困惑的程度”)

那么,为什么会得出“对Python爱好者来说,TensorFlow关注度会继续下降”这一结论?

Ari Joury给出了几大理由。

其一,PyTorch用起来“更Python”。

Ari Joury表示,她使用Python编写TensorFlow框架的工作量,可能是PyTorch的两倍,此外后者编写代码的感受比TensorFlow更自然。

其二,PyTorch可用模型更多,且更适合学生和研究者使用。

据统计,在HuggingFace中,85%的大模型框架是用PyTorch实现的。

剩余的框架中,除了多个框架实现以外,只有8%的大模型框架是通过TensorFlow实现的。

这意味着PyTorch在AI大模型研究者中受欢迎程度更高。

不止大模型,使用PyTorch实现论文研究框架的人,变得越来越多。

这一观点也在Papers with Code网站统计上得到了印证。

在代码开源的那些 论文研究 中,单从框架使用率来看,这4年来PyTorch占比正急剧上升。

PyTorch从最初和TensorFlow持平,到如今远超TensorFlow、稳定成为使用率第一 (占比62%) 的框架,相比之下 TensorFlow占比只有4% :

其三,PyTorch的生态发展更快。

虽然目前TensorFlow在生态体系上发展比PyTorch更好,但从PyTorch使用增长情况来看,这一趋势将在不久的将来得到逆转。

当然,TensorFlow自身也有一些不可取代的优势,例如部署更方便 (类似TensorFlow Serving和TensorFlow Lite的工具很多) 、以及对其他语言的支持更好等。

毕竟目前对于JavaScript、Java、C++、Julia和Rust等语言来说,TensorFlow还是更好的选择。

PyTorch则基本以Python为中心,即使有个C++ API,但其他语言的整体支持仍然比不上TensorFlow。

因此Ari Joury最终认为,这两个框架的选择,很大程度上取决于用户对Python的喜爱程度。

所以,那些AI大牛们又是怎么站队的呢?

AI大牛们选择哪些框架?

除了 Yann LeCun 一直是PyTorch的深度支持者以外 (毕竟是Meta的人) ,不少AI大牛也都表态过自己更看好的框架。

至少在几年前TensorFlow推出2.0的时候,“TF2.0和PyTorch谁更好”这个话题就已经开始了。

当时,前Kaggle总裁兼首席科学家、fast.ai创始人 Jeremy Howard ,更看好PyTorch框架。

Keras创始人 François Chollet ,则在这个话题中投了TensorFlow一票,当时他认为PyTorch会走向下坡路。

至少在2020年的时候,他的观点依旧如此:“如果你是PyTorch粉丝,我的工作与你无关。”

但如今来看,PyTorch依旧保持一个活跃的状态。

你更看好哪个深度学习框架呢?

推荐内容