TensorFlow 敗給 PyTorch,谷歌:未來就靠你了,JAX!
整理 | 彭慧中 責編 | 屠敏
出品 | CSDN(ID:CSDNnews)
谷歌是機器學習領域的開拓者,它于 2015 年發布開源深度學習框架 TensorFlow,開創了現代機器學習的生態系統。TensorFlow 一經發布便迅速被開發者熱捧,谷歌也由此成為了主流 AI 產品的領導者。
然而好景不長,在 2017 年 Meta(前身 Facebook)發布 AI 框架 PyTorch 之后,TensorFlow 便逐漸失去了開發人員的青睞。如今,谷歌內部正押寶在一個取代 TensorFlow 的新 AI 項目—— JAX。
PyTorch 的后來居上
TensorFlow 的人氣近年來停滯不前,而 PyTorch 的人氣持續攀升。在各個開發者社區,"PyTorch 真香 " 論聲勢浩大,又在頂會數據上實力壓倒 TensorFlow,僅在工業界,TensorFlow 尚能守住陣地。
據 CSDN 最熱 AI 框架排名顯示,盡管 TensorFlow 在中國開發者心中仍然排在 PyTorch 之前,但使用頻率較去年的 48%,下降至今年的 37%。
盡管 PyTorch 和 TensorFlow 都是基于 Python 開發的,但在外界看來,Meta 則更注重維護開源社區,甚至不惜大量投入資源。而且,Meta 關注到了谷歌的問題所在,認為不能重蹈覆轍。他們專注于一小部分功能,并把這些功能做到最好。
如今,開發人員、硬件專家、云服務供應商以及熟悉谷歌機器學習項目的人士一致認為:"TensorFlow 已經失去了開發人員的芳心。" 其中一些人更是放言:"PyTorch 吃掉了 TensorFlow 的午餐 ",這樣的比喻可謂一語中的。
專家們表示,由于谷歌犯下一系列戰術失誤、制定了錯誤的開發決策以及在開源社區中敗給 Meta,谷歌在互聯網上引導機器學習未來的機會可能正在逐漸消失。PyTorch 已儼然成為業余開發人員和科學研究人員的首選機器學習開發工具。
這種瘋狂的 " 貓捉老鼠 " 游戲是許多率先進入市場的公司經常遇到的問題。例如,谷歌不是第一家建立搜索引擎的公司,卻能夠從 Alta Vista 或雅虎等先行者所犯的錯誤中汲取教訓。
JAX 是否能幫谷歌扳回一局?
既然 TensorFlow 這個 " 大號 " 已經練廢了,那么是時候改換個 " 小號 " 上場了!
熟悉谷歌機器學習工作的人士說,最初,JAX 曾面臨來自內部的巨大反對。谷歌員工過去一直使用 TensorFlow,盡管它使用起來可能很困難,但它早已占領谷歌員工的心智,并融入了他們的習慣。雖然 JAX 的使用方法要簡單得多,但它還是改變了谷歌內部構建軟件的方式。
然而,哪有革命不付出代價的呢?JAX 現在不僅在谷歌中鋪開來,并且很多大廠及其研究團隊中也采用了它,譬如 2020 年 DeepMind 就正式投入 JAX 的懷抱?,F在,JAX 有望在未來幾年成為所有使用機器學習的谷歌產品的主流,就像曾經的 " 老大哥 "TensorFlow 那樣。
JAX 有望勝出的秘密武器則是提供了一個更直接的方法用于處理機器學習中最復雜的問題之一:多核處理器調度問題。根據所應用的情況,JAX 會自動地將若干個芯片組合而成一個小團體,而不是讓一個去單打獨斗。如此帶來的好處就是,讓盡可能多的 TPU 片刻間就能得到響應,從而解決了谷歌內部的一個心頭大患:快速訪問 TPU。
"JAX 是一項工程壯舉!"Julia 編程語言創建者 Viral Shah 說道," 我認為 JAX 是一種通過 Python 實例化的獨立編程語言。如果你遵守 JAX 想要的規則,它就可以發揮它的魔力,這真是令人驚嘆。"
現在,谷歌希望在這場競賽中打個漂亮的 " 翻身仗 ",同時也從開發 TensorFlow 時所犯的錯誤中吸取教訓,但這將是一個巨大的挑戰。畢竟 JAX 尚且年輕,作為實驗性的框架,遠沒有達到一個成熟的谷歌產品的標準。例如,JAX 在一些問題上仍然要依賴于其他框架,距離成為理想的 " 一站式 " 框架還有很長一段路要走;除了完善了 TPU 的優化外,對 GPU 和 CPU 的支持還沒跟上。同時,JAX 和前兩個框架差別也很大,因此遷移到 JAX 對于大多數人來說可能還需要考慮遷移成本的問題。
但很明顯,谷歌決定豪賭這一把。那么各位讀者,你們怎么看呢?
參考資料:https://www.businessinsider.com/facebook-pytorch-beat-google-tensorflow-jax-meta-ai-2022-6?IR=T