不斷發展的 JAX:加速 AI 研究的利器

2021-02-20 谷歌開發者

文 / David Budden 與 Matteo Hessel

DeepMind 工程師通過構建工具、對算法進行拓展和創造具有挑戰性的虛擬和物理環境來訓練和測試人工智慧 (AI) 系統,加速我們的研究。作為這項工作的一部分,我們在持續評估機器學習新的庫和框架。

近來,我們發現由 Google Research 團隊開發的機器學習框架 JAX 為越來越多的項目提供良好支持。JAX 與我們的工程理念產生了很好的共鳴,並在去年被我們的研究社區廣泛使用。本文將分享我們的 JAX 使用經驗,來說明我們認為它有助於我們 AI 研究的原因,並概述我們正在為支持各地研究人員而建立的生態系統。

JAX 是為高性能數字計算(尤其是機器學習研究)而設計的 Python 庫。其用於數值計算的 API 基於 NumPy 這樣一個用於科學計算的函數庫所構建。得益於 Python 和 NumPy 較高的使用率和知名度,使得 JAX 簡潔靈活、易於使用。

除了其 NumPy API 之外,JAX 還具有一個用於可組合函數的轉換的擴展系統,在以下幾方面幫助機器學習研究:

自動微分
https://jax.readthedocs.io/en/latest/notebooks/autodiff_cookbook.htmlJIT 編譯:XLA 被用於在 GPU 和 Cloud TPU 加速器上進行及時 (JIT) 編譯和執行 JAX 程序。JIT 編譯結合 JAX 中與 NumPy 一致的 API,使沒有高性能計算經驗的研究人員也可以輕鬆擴展研究至一個或多個加速器上。XLA
https://tensorflow.google.cn/xla
Cloud TPU
https://cloud.google.com/tpu

我們發現,JAX 幫助新型算法和架構的研究進行快速實驗,為近期發表的多篇論文奠定了基礎。要了解詳情,請參考我們在 NeurIPS 虛擬大會上舉辦的 JAX 圓桌會議。

對前沿 AI 研究的支持意味著能在快速原型設計與快速迭代間保持平衡的同時,兼顧在傳統生產環境中成規模部署的能力。而這一切帶來挑戰的原因為研究領域發展十分迅速且難以預測。往往一項新的研究突破能在任意時刻改變整個領域發展的方向與需求。在這種瞬息萬變的環境中,我們工程團隊的核心使命便是確保在研究項目中可以有效復用現有的經驗與代碼。

一種成熟的方法是模塊化:我們將每個研究項目中開發的最重要和最關鍵的代碼塊提取至經過測試且高效的組件中。這使得研究人員能夠專注研究的同時受益於我們的核心庫所實現的算法部分的代碼重用、錯誤修復和性能提升。我們還發現,應該確保每個庫都有明確定義的範圍,並確保庫之間在能夠互相調用的同時保證相互獨立。增量更新,即使用版本特性時不會受制於其餘部分,對於為研究人員提供最大的靈活性並持續支持其選擇正確的工作工具至關重要。

JAX 生態系統開發中的其他考慮因素包括確保其與現有 TensorFlow 庫(如 Sonnet 和 TRFL)的設計(儘可能)保持一致。我們還構建了(在相關時)儘可能接近其基礎數學的組件,以實現自我描述,並最大程度地減少「從紙面到代碼」的思維跳轉。最後,我們選擇將我們的庫開源,以促進分享研究成果,並鼓勵更廣泛的社區探索 JAX 生態系統。

TensorFlow 庫
https://tensorflow.google.cn/guide

Sonnet
https://deepmind.com/blog/article/open-sourcing-sonnet

TRFL
https://deepmind.com/blog/article/trfl

最後,我們選擇將我們的庫開源,以促進分享研究成果,並鼓勵更廣泛的社區探索 JAX 生態系統。

可組合函數轉換的 JAX 編程模型可能會使對有狀態對象的處理複雜化,例如具有可訓練參數的神經網絡。Haiku 神經網絡庫允許用戶使用常見的面向對象的編程模型,同時利用強勁而便利的 JAX 純功能範式。

Haiku 的活躍用戶包括 DeepMind 和 Google 的數百名研究員,Haiku 也已在多個外部項目(如 Coax、DeepChem、NumPyro)中得到採用。它以 Sonnet 的 API 為基礎。Sonnet 是我們在 TensorFlow 中基於模塊的神經網絡編程模型,我們希望儘可能簡化從 Sonnet 到 Haiku 的移植。

在 GitHub 上了解更多信息。

Optax 

梯度優化是 ML 的基礎。Optax 提供了梯度轉換庫以及允許在單行代碼中實現許多標準優化器(例如 RMSProp 或 Adam)的合成算子(例如鏈)。

Optax 的合成性質自然支持在自定義優化器中重組相同的基本成分。此外,它還提供了許多用於隨機梯度估算和二階優化的實用工具。

許多 Optax 用戶已經採用 Haiku,但根據我們的增量購買理念,任何以 JAX 樹結構表示參數的庫都可獲得支持(例如 Elegy、Flax 和 Stax)。請在此處查看關於這一豐富多樣的 JAX 庫生態系統的更多信息。

在 GitHub 上了解更多信息。

RLax

我們許多最成功的項目都位於深度學習與強化學習 (RL) 的交匯處,也就是深度強化學習。RLax 庫為構建 RL 代理提供了實用的構建塊。

RLax 中的組件涵蓋了廣泛的算法和概念:TD 學習、政策梯度、actor-critic、MAP、近端政策優化、非線性價值轉換、一般價值函數和許多探索方法。

雖然提供了一些介紹性的示例代理,但 RLax 並不是用於構建和部署完整 RL 代理系統的框架。Acme 是基於 RLax 組件構建的全功能代理框架示例。

在 GitHub 上了解更多信息。

Chex

測試對於軟體可靠性至關重要,研究代碼也不例外。只有保證研究代碼正確,才能從研究實驗中得出科學結論。Chex 測試實用工具集合可支持庫作者驗證通用構建塊是否正確耐用,還可支持最終用戶檢查其實驗代碼。

Chex 提供了多種實用工具,包括 JAX 感知單元測試、JAX 數據類型的屬性斷言、mock 和 fake 以及多設備測試環境。Chex 廣泛用於 DeepMind 的整個 JAX 生態系統以及 Coax 和 MineRL 等外部項目。

在 GitHub 上了解更多信息。

Jraph

圖神經網絡 (GNN) 是一個激動人心的研究領域,包括許多大有前途的應用。例如,我們最近在 Google 地圖中的交通預測工作和物理模擬方面的工作。Jraph(發音同「giraffe」)是一個輕量級庫,支持在 JAX 中使用 GNN。

Jraph 提供了標準化的圖數據結構,用於處理圖的一組實用程序,以及易於分叉和可擴展的圖神經網絡模型的「zoo」。包括其他關鍵特性:有效利用硬體加速器的 GraphTuples 批處理,通過填充和遮蔽對可變形圖的 JIT 編譯支持,以及在輸入分區上定義的損失。與 Optax 和我們的其他庫一樣,Jraph 對用戶的神經網絡庫選擇沒有任何限制。

從我們豐富的示例中詳細了解如何使用庫。

在 GitHub 上了解更多信息。

我們的 JAX 生態系統正在不斷發展,我們希望 ML 研究社區能夠探索我們的庫和 JAX 的潛力,從而加速自己的研究。

如果您發現 DeepMind JAX 生態系統有助於您的工作,請使用此引用(託管在 GitHub 上)。

 點擊屏末 | 閱讀原文 | 探索 JAX 庫

相關焦點

  • 新研究結合視覺和聽覺進行情感預測 | 一周AI最火論文
    隨著智能虛擬助手的不斷發展,它們對增強語音識別算法的要求也越來越高。與傳統的先進模型相比,該模型顯示了更好的結果。雖然在完整的語音片段中表現出了微弱的優勢,這也是研究人員打算在未來的工作中進行研究的,但是UtterIdNet在增強短片段語音識別方面有很大的潛力。
  • 輔助戰鬥利器—無人地面載具發展現況研究
    無人地面載具於軍事上之運用,能有效戰場監控、災害救助執行、營區安全巡邏及城鎮巷弄利器等特性,而美軍於戰場上使用超過5,000 餘臺無人地面載具,有效的降低非正規戰鬥巡邏所造成的死亡率,由37%減少至 5%以下。  遙感是遠距離的感知,遠程獲取信息,遙測主要是用於遠距離的監測,而遙控是遠距離的控制,遙控脫離了線路的限制,能夠在所望空間進行遠程控制。
  • 和谷歌研究人員一起,探索數據並行的邊界極限
    這樣的成績離不開軟體和硬體的對訓練過程的加速和改進。更快速的訓練使得模型質量飛速提升,不僅在相同的時間內可以處理更多的數據,也使得研究人員得以迅速嘗試更多的想法,研究出更好的模型。隨著軟硬體和數據中心雲計算的迅速發展,支撐神經網絡的算力大幅提升,讓模型訓練地又好又快。
  • 2020年世界電子戰裝備發展研究
    隨後,美國國防部發布了更新版的《國防部軍事及相關術語詞典》,在整個詞典中,「電子戰」(Electronic Warfare)被正式撤除,取而代之的是「電磁戰」(Electromagnetic Warfare),「電子幹擾」、「電子防護」、「電子攻擊」、「電子支援」等都相應地改為「電磁幹擾」、「電磁防護」、「電磁攻擊」、「電磁支援」。以上調整表明,美軍電磁頻譜條令體系正經歷一次重大變革。
  • 谷歌雲AI新掌門被曝與軍方有聯繫,4000員工白抗議了? | AI WORLD峰會議程曝光
    1982年至1988年,在MIT人工智慧實驗室和哈佛大學應用科學系擔任研究科學家,並在哈佛擔任助理教授及教授到1996年。其後在Smith-Kettlewell眼科研究中心擔任研究科學家。他曾是加州大學洛杉磯分校的統計學教授,兼任計算機科學、精神病學和心理學學院的聯合任命。2016年1月正式加入約翰霍普金斯大學。研究興趣包括視覺計算模型、認知數學等。
  • 矽谷初創公司Cerebras發布史上最快AI計算機
    ,團隊由頂尖計算機架構師、計算機科學家和深度學習研究人員組成,目標是構建一種新的計算機系統,可以將人工智慧加速到超越現有技術數量級水準。當外界不斷追求晶片小型化、低功耗時,這顆晶片企業反其道而行之,採取了一種新穎的方法,把所有的數據保存在一個巨大的晶片上,讓系統就可以更快地運行,該公司於今年8月推出了有史以來製造的最大的晶片-晶圓規模引擎(WSE)。WSE將邏輯運算、通訊和存儲器集成到單個矽片上,是一種專門用於深度學習的晶片。
  • 五角大樓秘密研究計劃:試圖用AI取代人類黑客
    IKE於2012年以不同的名稱開始使用,並於2018年開始使用,它提供了一個更快地發展的機會,用人工智慧代替了人類。研究關於美國如何以及何時發動網絡戰的決策將越來越依賴計算機。這具有從根本上加速攻擊和防禦的潛在優勢,允許在幾分之一秒內測量出移動,而不是人類黑客的相對令人咋舌的速率。
  • 我國高性能纖維及其複合材料發展戰略研究
    本文作為重大諮詢項目子課題「關鍵戰略材料強國戰略研究」的系列成果,主要圍繞關鍵戰略材料的核心之一—高性能纖維及其複合材料進行研究,筆者系統梳理了國內外技術與產業發展現狀,研判了未來發展趨勢和挑戰,分析了當前我國存在的主要問題,研究確立了高性能纖維及其複合材料的發展思路、原則和重點任務,針對性提出了政策措施建議,以期為我國高性能纖維及其複合材料發展決策制定提供參考
  • AI在這一周學會了很多事,都是什麼? | 一周 AI 頭條
    根據研究人員介紹,這一新方法可以顯著減少模型訓練與推理時間。在相同任務中,新模型的表現在單一模型對比中超過了微軟等公司的研究。https://futurism.com/a-new-ai-can-write-music-as-well-as-a-human-composer/Nvidia與博世合作開發自動駕駛汽車的AI系統 | 牽手 |
  • 清華AMiner團隊:AI 之機器人學研究報告
    一、機器人現狀及市場近二十年來,網際網路的發展帶動了一系列網絡延展科技的發展,給人們的生活帶來了翻天覆地的變化,未來,網際網路將向物聯網發展,而機器人作為物聯網的重要一環,正不斷改變人們的生產生活方式。目前機器人主要分為:工業機器人和服務機器人兩大類。
  • 2017 AI成熟度曲線圖
    AI的復興是由多個關鍵部分的正向市場發展所驅動的,這些部分是:對於爆炸性非結構性數據的捕捉,預處理和存貯,用於「訓練機器」;用於機器學習的高互補性的處理單元和並行處理架構;通過平臺/API接口獲得的更廣泛的算法來處理更大量的商業應用;不斷增加的數據科學實踐者和大眾對於數據科學/機器學習的興趣。
  • PyTorch深度學習模型訓練加速指南2021
    Smith提出的方法,然後由fast.ai推廣。本質上,1Cycle學習率策略看起來像這樣:[1cycle由兩個相同長度的步驟組成,一個是從較低的學習率到較高的學習率,另一個步驟是回到最低的學習速率。最大值應該是使用Learning Rate Finder選擇的值,較低的值可以低十倍。
  • GTC 2020 | NVIDIA提供全球最先進AI系統NVIDIA DGX A100幫助對抗COVID-19
    全新DGX A100系統為阿貢國家實驗室所帶來的計算力將幫助研究人員探索治療方法和研發疫苗、研究病毒的傳播方式,使科學家能夠利用AI加速工作,在數月甚至數日內完成以前需要數年才能完成的工作。」佛羅裡達大學(University of Florida)將成為美國首所採用DGX A100系統的高等院校。該大學將把DGX A100系統應用於其課程當中,培養具備AI能力的人才。
  • 託卡馬克研究的現狀及發展
    ITER的建設、運行和實驗研究是人類發展聚變能源的必要環節,有可能將直接決定聚變示範電站(DEMO)的設計和建設,並推進商用聚變電站實現的進程。HL-2A裝置的使命是研究具有偏濾器位形的託卡馬克物理,包括高參數等離子體的不穩定性、輸運和約束,探索等離子體加熱、邊緣能量和粒子流控制機理,發展各種大功率加熱技術、加料技術和等離子體控制技術等,通過對核聚變前沿物理課題的深入研究和相關工程技術發展,全面提高我國核聚變科學技術水平,為中國下一步研究與發展打好堅實的基礎。圖2是HL-2A裝置照片。
  • 美國電磁軌道炮(Rail Gun)發展態勢
    利用強大電磁能將彈丸的速度加速到極高,可以大大超過火炮的射程。在電磁軌道炮研究方面,美國一直保持國際領先優勢,有關研究不斷取得新進展。早在1978年,由美陸軍提議,美國國防部成立了電磁炮發展研究顧問委員會和技術工作小組,開始評估電磁炮技術的技術現狀和應用潛力,展開了電磁軌道炮武器化研究。
  • 反無人機作戰系統加速發展問題探要
    反無人機屬於新興的作戰領域,反無人機作戰系統屬於新生的武器裝備,以美國為代表的世界各軍事強國在推動反無人機作戰系統發展上不遺餘力、多法並舉, 力爭通過武器裝備發展的先行優勢、技術優勢獲得無人機對抗領域的優勢和主動權,從而為贏得未來戰爭奠定堅實基礎。加強反無人機作戰問題理論研究。
  • 2020年世界航天裝備發展研究
    3.X-37B天地往返飛行器成功開啟第6次軌道試驗任務2020年5月17日,美國從佛羅裡達州卡納維拉爾角空軍基地成功發射第6次X-37B任務。X-37B OTV-6首次在尾部加裝一個專門進行各種試驗的服務模塊。
  • 構建軟體工程的未來:研究和發展路線圖
    美國國防部聯邦資助的研究和發展中心(FFRDC)專注於改進軟體工程實踐,卡耐基梅隆大學(CMU)軟體工程研究所(SEI)正圍繞下一代軟體依賴系統,領導團隊規劃未來多年的研發遠景和路線圖。本文介紹了這方面的一些工作。
  • AI人機互動指南(譯文)
    原文連結:https://docs.microsoft.com/en-us/ai/guidelines-human-ai-interaction/一.為什麼需要AI人機互動指南AI系統可能會表現出不可預測的行為,這些行為可能具有破壞性、混淆性、冒犯性甚至危險性。
  • AI STUDIO—零門檻實現AI能力
    另一個重要組成就是比賽了,眾所周知構建良性循環的產、學、研社區是行業發展的重要組成部分,不過目前 AI Studio 組織的比賽還剛起步,希望後續比賽多多,大家在這裡都能學到知識,交到朋友,最重要的是,可以在學習的同時給自己賺點零用錢花花(笑~)。