谷歌于 2015 年開放了一種小型資源,即 2015 年谷歌大腦研究項目,名為 TensorFlow,實質上創造了現代機器學習的生態系統。其普及速度之快,令谷歌成為了主流人工智能產品的擁有者。
但是現在,情況已經完全不同了,谷歌已經喪失了開發者的人心,轉向了 Meta。
谷歌的 TensorFlow 曾經是一款無所不在的機器學習工具,但后來卻落后于 Meta 機器學習工具 PyTorch。PyTorch 首次在 Facebook 開發,在 2017 年作為測試版開源,PyTorch 逐漸成為了領軍人物。
在采訪開發者、硬件專家、云提供商以及熟悉谷歌機器學習工作的人士時,他們的觀點也是相同的。TensorFlow 在爭奪開發者人心的競爭中落敗。其中有些人甚至使用了令人難以理解的確切說法:“PyTorch 正在享用 TensorFlow 的午餐”。
專家稱,經過 Meta 在開源社區中的一系列戰術失誤、開發決策和智勝策略,谷歌引領未來互聯網上的機器學習的機遇可能將會慢慢消逝。自那以后,PyTorch 就成了開發人員和科學研究人員的機器學習開發工具。
谷歌在 PyTorch 的陰影下,悄悄地研發了一種 名為 JAX(一度是“JustAfter eXecution”的縮寫,但是正式意義上已經沒有什么意義了)的機器學習框架,許多人認為它是 TensorFlow 的繼承者。
該項目的知情人士向 Insider 透露,谷歌大腦和谷歌的 DeepMind 人工智能公司基本上都放棄了 TensorFlow,轉而改用 JAX,以便為谷歌其他部門的跟進鋪平道路。一位谷歌代表向 Insider 證實,JAX 目前已經在谷歌大腦和 DeepMind 中得到了廣泛的采用。
項目地址:https://github.com/google/jax/releases
熟悉谷歌機器學習工作的人士稱,JAX 起初受到了很大的內部阻力。他們表示,谷歌員工過去一直使用 TensorFlow。盡管它使用起來可能很困難,但是在谷歌的雇員中,這始終是一個讓人困擾的統一因素。JAX 的方法更加簡單得多,但是他們說,這也改變了谷歌在內部構建軟件的方式。
熟悉該項目的人表示,這款工具將會有望在今后數年內成為所有使用機器學習的谷歌產品的支柱,就像 2010 年代末 TensorFlow 所做的那樣。
而 JAX 似乎已經從谷歌的邊緣走向了中心。Salesforce 告訴 Insider,她已經在自己的研究團隊中采用了 JAX。
“JAX 是一項工程壯舉,”Julia 編程語言的創建者 Viral Shah 說,專家們經常將其與 JAX 相提并論。“我認為 JAX 是一種獨立的編程語言,通過 Python 進行實例化。如果你堅持 JAX 想要的規則,它就能發揮它的神奇力量,而且可以做到讓人嘆為觀止。”
谷歌現在想要重回霸主的位置,同時也從開發 TensorFlow 時犯下的錯誤中汲取教訓。但是,專家們說,由于他現在不得不放棄這個已經贏得了開發者人心的開源工具,這將是一項很大的挑戰。
TensorFlow 的衰落與 PyTorch 的崛起
據提供給 Insider 的數據顯示,PyTorch 在一家必讀的開發者論壇上的帖子正在迅速追趕 TensorFlow。來自 Stack Overflow 的參與度數據表明,以其在論壇問題中的份額衡量,TensorFlow 在最近幾年中的人氣一直處于停滯狀態,而 PyTorch 的參與度卻在持續上升。
TensorFlow 一開始就有很強勁的勢頭,并且隨著其發布而越來越流行。像 Uber 和 Airbnb 這樣的公司,以及像 NASA 這樣的組織很快就選擇了 TensorFlow,并將 TensorFlow 應用到更復雜的項目中,這些項目要求在巨大的數據集上訓練算法。截至 2020 年 11 月,TensorFlow 已累計下載 1.6 億次。
但是,谷歌不斷增量的功能更新使 TensorFlow 變得很不方便,而且對用戶來說也很不友好,即使是谷歌內部的雇員、開發者和接近該項目的人也會這么認為。隨著機器學習領域以驚人的速度發展,谷歌必須 經常使用新的工具來更新其框架。熟悉該項目的人士表示,由于更多的人參與進來,這個項目已經開始向公司內部擴展,而不是將重點放在那些原本讓 TensorFlow 成為首選工具的部分。
專家告訴 Insider,這種狂熱的貓鼠游戲在很多率先推出的公司中是很常見的。舉例來說,谷歌并非首家創立搜索引擎的公司,它只是能夠 從 AltaVista 或雅虎等祖先的錯誤中學習。
與此同時,PyTorch 在 2018 年在 Facebook 人工智能研究實驗室 發布了其完整版本。盡管 TensorFlow 和 PyTorch 都是基于 Python,而 Python 是機器學習專家的首選語言,但是 Meta 已經在迎合開源社區的需求方面投入了大量資金。據了解 TensorFlow 項目的人說,PyTorch 在一定程度上得益于專注小而美的產品,而 TensorFlow 團隊一直在錯過。
“我們主要使用 PyTorch;它擁有最廣泛的社區支持,”機器學習創業公司 Hugging Face 的研究工程師 Patrick von Platten 說。“我們認為 PyTorch 可能在開源方面做得最好。他們確保問題能夠得到在線解答。所有的例子都有效。PyTorch 一直有一個非常開源的方法。”
有些最大的組織(包括那些依賴 TensorFlow 的組織),Weave 項目是在 PyTorch 上運行 的 。不久之后,像特斯拉和 Uber 這樣的公司 開始在 PyTorch 上進行最艱難的機器學習研究項目。
每一個額外的特性,有時會復制那些讓 PyTorch 非常受歡迎的元素,使得 TensorFlow 對其最初的研究人員和用戶而言,變得越來越臃腫了。其中一個例子是,它在 2017 年增加了一個“敏銳執行”(Keen Execution)的特性,這是 Python 的原生特性,可以讓開發者很容易對自己的代碼進行分析和調試。
進入 JAX,谷歌機器學習的未來
隨著 PyTorch 和 TensorFlow 之間的戰斗爆發,谷歌內部的一支小型研究團隊致力于開發一種新的框架,以便更容易訪問專門設計的芯片(稱為張量處理單元,或 TPU),這些芯片是其人工智能方法的基礎,只能通過 TensorFlow 獲得。
團隊研究人員包括 Roy Frostige、Matthew James Johnson 和 Leary 在 2018 年發布了一篇題為《通過高級可追溯性編譯機器學習軟件》(Compilation of machine learning software through high-level traceability)的論文,描述了最終成為 JAX 的內容。
Adam Paszky 是之前在 Facebook 工作期間 PyTorch 的原作者之一,他在 2019 年開始以學生身份與 Johnson 合作,并在 2020 年初全職加入 JAX 團隊。
新項目 JAX 提出了一種更加直觀的設計,他可以處理最復雜的機器學習問題:將一個大問題的工作分散到多個芯片上。JAX 不是為不同的芯片運行單一的代碼位,而是自動分配工作。這個要求來自在谷歌工作的一個很大的特點:只要你需要,就可以立即使用大量的 TPU 來完成任何你想要的一切。
JAX 解決了谷歌研究人員在處理需要越來越多計算能力的大型問題時所面臨的一個基本問題。
JAX Wind Catch,這個 skunkworks 項目正在被谷歌內部的開發者和研究人員所接受。熟悉該項目的人士說,這是一種繞開許多開發者對 TensorFlow 不敬的做法,并且能夠很快地把復雜的技術問題分散到多個 TPU 上。
谷歌在 JAX 方面的最大挑戰 是用 PyTorch 實施其 Meta 戰略
同時,PyTorch 和 TensorFlow 都是以同樣的方式開始的。它們一開始是研究項目,然后是好奇心,接著成為機器學習研究中的標準。最后,研究人員將它們從學術界傳播到了世界其他地方。
但是,JAX 也面臨著許多挑戰。首先,在許多方面,它對其他框架的依賴性還很強。開發者和專家們表示,JAX 沒有提供一種加載數據和預處理數據的方法,它需要 TensorFlow 或 PyTorch 來處理大量的設置。
JAX 基本框架 XLA,它也為谷歌 TPU 設備進行了極大的優化。該框架還能與更傳統的 GPU 和 CPU 協同工作,不過,據了解該項目的人表示,該項目仍有辦法通過優化 GPU 和 CPU,從而達到與 TPU 的同等水平。
谷歌發言人表示,對 TPU 的關注源于 2018 年至 2021 年的監管和戰略上的混亂,造成了缺乏投資和對 GPU 支持的次優優先級,以及缺乏與大型 GPU 提供商 Nvidia 的合作,這兩方面都在迅速改善。這位發言人說,谷歌自己的內部研究也非常關注 TPU,導致缺乏良好的 GPU 使用反饋。
Cerebras Systems 公司首席執行官 Andrew Feldman 說,隨著各公司希望將其工作分散到不同類型的機器上,專注于機器學習,因此這種改進將成為未來的關鍵。這家市值 40 億美元的初創公司,制造專注于機器學習的大型芯片。
他說:“任何以一種設備為特色而非另一種設備的行為,都會立刻被認為是一種惡劣的行為,并且會受到開源社區的排斥。沒有人愿意被限制在一個單一的硬件提供商,這就是機器學習框架出現的原因。機器學習從業者希望確保他們的模型是可移植的,他們可以將其移植到他們選擇的任何硬件平臺上,而不是被鎖定在一個平臺上。”
同時,PyTorch 本身現在已經有將近 6 年的歷史了,遠遠超過了 TensorFlow 首次開始出現放緩跡象的年齡。目前還不清楚 Meta 項目是否會面臨與其谷歌支持的前輩類似的命運,但這可能意味著新事物出現的時機已經成熟。有些專家和接近該項目的人士指出了谷歌的規模過大,并告誡批評家千萬別把希望寄托在這個搜索巨頭身上。
審核編輯 :李倩
-
機器學習
+關注
關注
66文章
8441瀏覽量
133094 -
生態系統
+關注
關注
0文章
704瀏覽量
20785 -
pytorch
+關注
關注
2文章
808瀏覽量
13370
原文標題:JAX正從谷歌的邊緣項目走向核心
文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論