" 對于 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 依舊保持一個活躍的狀态。
你更看好哪個深度學習框架呢?
參考鍊接:
[ 1 ] https://twitter.com/ylecun/status/1614186881171742720
[ 2 ] https://levelup.gitconnected.com/why-tensorflow-for-python-is-dying-a-slow-death-ba4dafcb37e6
[ 3 ] https://paperswithcode.com/trends