谷歌全面開源 MLIR 及生態聯盟,全球 95% 的加速器硬體都在使用

2021-01-12 雷鋒網

雷鋒網 AI 開發者按:近日谷歌宣布,向非盈利性 LLVM 基金會提供今年 4 月開源的 Multi-Level Intermediate Representation(MLIR)架構,一個與 TensorFlow 緊密結合的表示格式和編譯器實用工具庫,該架構介於模型表示和低級編譯器/執行器(二者皆可生成硬體特定代碼)之間。谷歌希望通過向社會提供該架構來激勵更多的創新,從而進一步加速 AI 領域發展。雷鋒網(公眾號:雷鋒網) AI 開發者將 MLIR 的詳細內容及谷歌相關報導整理編譯如下。

MLIR 與 TensorFlow 的淵源

在過去,若想解決多級別堆棧問題,則需要我們構建新的軟硬體堆棧生成器,這也意味著必須為每個新路徑重新構建優化與轉換傳遞。

TensorFlow 生態系統包含許多編譯器和優化器,可在多個級別的軟硬體堆棧上運行。作為 TensorFlow 的日常用戶,在使用不同種類的硬體(GPU、TPU、行動裝置)時,這種多級別堆棧可能會表現出令人費解的編譯器和運行時錯誤。

圖 1 TensorFlow  組件概述

TensorFlow 能夠以多種不同的方式運行,如:

將其發送至調用手寫運算內核的 TensorFlow 執行器

將圖轉化為 XLA 高級優化器(XLA HLO)表示,反之,這種表示亦可調用適合 CPU 或 GPU 的 LLVM 編輯器,或者繼續使用適合 TPU 的 XLA。(或者將二者結合)

將圖轉化為 TensorRT、nGraph 或另一種適合特定硬體指令集的編譯器格式

將圖轉化為 TensorFlow Lite 格式,然後在 TensorFlow Lite 運行時內部執行此圖,或者通過 Android 神經網絡 API(NNAPI)或相關技術將其進一步轉化,以在 GPU 或 DSP 上運行

但事實上,多級別堆棧的複雜性遠遠超過圖 1 所示。為了更好解決 TensorFlow 用戶在使用不同種類的硬體(GPU、TPU、行動裝置)時,由於多級別堆棧而導致的編譯器與運行時錯誤,我們開源了一個全新的中介碼與編譯器框架 MLIR。

什麼是 MLIR

MLIR(或稱為多級別中介碼)是一種表示格式和編譯器實用工具庫,介於模型表示和低級編譯器/執行器(二者皆可生成硬體特定代碼)之間,在生產質量組件的支持下,能夠對優化編譯器設計與實現進行全新探索。

圖 2 谷歌 MLIR(相關 ppt 見文末)

MLIR 深受 LLVM 的影響,並不折不扣地重用其許多優秀理念,比如擁有靈活的類型系統,可在同一編譯單元中表示、分析和轉換結合多層抽象的圖等。這些抽象包括 TensorFlow 運算、嵌套的多面循環區域乃至 LLVM 指令和固定的硬體操作及類型。

為區分不同的硬體與軟體受眾,MLIR 提供「方言」,其中包括:

TensorFlow IR,代表 TensorFlow 圖中可能存在的一切

XLA HLO IR,旨在利用 XLA 的編譯功能(輸出到 TPU 等)

實驗性仿射方言,側重於多面表示與優化

LLVM IR,與 LLVM 自我表示之間存在 1:1 映射,可使 MLIR 通過 LLVM 發出 GPU 與 CPU 代碼

TensorFlow Lite,將會轉換以在移動平臺上運行代碼

每種方言均由一組存在不變性的已定義操作組成,如:「這是一個二進位運算符,輸入與輸出擁有相同類型。」

MLIR 沒有眾所周知的固定或內置的操作列表(無「內聯函數」),方言可完全定義自定義類型,即 MLIR 如何對 LLVM IR 類型系統(擁有一流匯總)、域抽象(對量化類型等經機器學習 (ML) 優化的加速器有著重要意義),乃至未來的 Swift 或 Clang 類型系統(圍繞 Swift 或 Clang 聲明節點而構建)進行建模。

另外值得一提的是,雖然 MLIR 充當 ML 的編譯器,但它同樣支持在編譯器內部使用機器學習技術。MLIR 的擴展性有助於探索代碼降階策略,並在抽象之間執行逐步降階。

MLIR 開放的意義

機器學習現在的使用範圍非常廣泛,它可以在從包含 GPU 和 TPU 的雲基礎設施到行動電話,甚至是最小的硬體(例如為智能設備供電的微控制器)上運行。正是因為將硬體和開源軟體框架(如:TensorFlow)的優勢相結合,今天我們才能看到所有令人難以置信的 AI 應用成為可能。無論是預測極端天氣(https://www.youtube.com/watch?v=p45kQklIsd4);幫助有語言障礙的人更好地溝通;還是協助農民檢測農作物疾病。 

圖 3 AI 協助農民進行檢測(https://www.blog.google/technology/ai/ai-takes-root-helping-farmers-identity-diseased-plants/)

但隨著所有這些進展如此迅速,企業工廠方正在努力跟上不同的機器學習軟體框架與各種不斷增長的硬體組合。機器學習生態系統依賴於許多不同的技術,而這些技術通常具有不同的複雜程度,因而無法很好地協同工作。

管理這種複雜性的負擔最終落在了研究人員、企業和開發人員身上。通過減緩新的機器學習驅動產品從研究到實現的速度,這種複雜性將會影響我們解決具有挑戰性現實問題的能力。 

今年早些時候,我們發布了 MLIR,這是一種開源機器學習編譯器基礎架構,可以解決因軟體和硬體碎片不斷增加而導致的複雜性,並且可以更輕鬆地構建 AI 應用程式。它提供了新的基礎設施和設計理念,使得機器學習模型能夠在任何類型的硬體上一致地表示和執行。現在,我們宣布我們會向非營利性 LLVM 基金會(http://llvm.org/foundation/)提供 MLIR ,這也將使整個行業更快地採用 MLIR。

圖 4 MLIR 生態聯盟

MLIR 旨在成為 ML 基礎架構的新標準,並得到全球硬體和軟體合作夥伴的大力支持,包括 AMD,ARM,Cerebras,Graphcore,Habana,IBM,Intel,Mediatek,NVIDIA,Qualcomm Technologies,Inc,SambaNova Systems,Samsung,Xilinx 的小米——佔全球數據中心加速器硬體的 95%以上,超過 40 億部手機和無數的物聯網設備。在谷歌,MLIR 正在整合併用於我們所有的伺服器和移動硬體工作。

機器學習已經走過了漫長的道路,但之後的路仍然很長。通過 MLIR,人工智慧將通過賦予研究人員更大規模地訓練和部署模型的能力,以及在不同硬體上具有更高的一致性、速度和簡單性,從而更快地推進該領域的發展。這些創新也可以迅速進入你每天使用的產品中,並在你的所有設備上順利運行。我們也希望通過 MLIR 能夠最終實現 AI 對地球上的每個人都更有幫助、更有用的願望。

關於 MLIR 的 ppt:

http://llvm.org/devmtg/2019-04/slides/Keynote-ShpeismanLattner-MLIR.pdf 

文章相關連結:

https://medium.com/tensorflow/mlir-a-new-intermediate-representation-and-compiler-framework-beba999ed18d 

https://www.blog.google/technology/ai/mlir-accelerating-ai-open-source-infrastructure/ 

MLIR 開源地址:

https://github.com/tensorflow/mlir    

雷鋒網 AI 開發者

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • Facebook 開源 Glow 支持一系列硬體加速器
    近日,Facebook宣布將Glow編譯器開源,並且希望通過合作夥伴支持,打造面向機器學習的硬體生態系統。本次推出的Glow目的在於為機器學習實現硬體加速。我們希望PyTorch之類的深度學習框架迅速普及開來,因此需要提供種種優化的編譯器,加速各種硬體平臺上的推理性能,從而支持行業對於AI和機器學習越來越多的需求。」
  • 谷歌開源硬體傳感器延時計時器 Walt
    (原標題:谷歌開源硬體傳感器延時計時器 Walt)
  • MLIR:藉助開源基礎架構加快 AI 發展
    這些進步如此之快,業界正努力加緊步伐,以保證各類機器學習軟體框架能與多元化且日益增多的硬體組合搭配使用。機器學習生態系統需要依賴多種不同的技術,但這些技術複雜程度各異,通常很難協同工作。應對這種複雜性的重擔便落在了研究人員、企業和開發者的肩上。這一複雜性會拖慢全新機器學習驅動型產品從研究到落地階段的速度,最終影響我們解決棘手的實際問題的能力。
  • 華米OV聯手成立全球開發者服務聯盟,或將對標谷歌Play!
    最近,華為、小米和OV兩家聯手成立了「全球開發者服務聯盟」,並且計劃在3月份與大家見面。藉助「全球開發者服務聯盟」,海外的開發者除了可以將旗下的應用上傳到這一服務聯盟中,還可以將應用同步到這四家品牌自家的應用商店中,看來國內這四家手機巨頭是準備合力在全球打造一個共同應用市場啊,而這四家的戰略目標也是十分同步,針對的就是谷歌Play。
  • 英雄聯盟手遊怎麼用uu加速器下載 需要註冊谷歌帳號或者拳頭帳號
    英雄聯盟手遊怎麼用uu加速器下載 需要註冊谷歌帳號或者拳頭帳號時間:2020-11-01 08:52   來源:格雷   責任編輯:凌君 川北在線核心提示:原標題:英雄聯盟手遊怎麼用uu加速器下載 需要註冊谷歌帳號或者拳頭帳號 英雄聯盟手遊怎麼用uu加速器下載?
  • 本體推出全方位生態加速器計劃 – Ontology Olympus Accelerator...
    新一代公有基礎鏈項目及分布式信任協作平臺——本體(Ontology)今日宣布推出本體Olympus加速器計劃(Ontology Olympus Accelerator, OOA) ,邀請各領域的技術、產品專家團隊開展分布式創業協作,基於本體新一代基礎公有鏈平臺,構建新的分布式商業應用,不斷擴展本體生態,共建一個開源、開放、協同的分布式信任生態。
  • 谷歌會禁止中國人使用Android系統嗎?
    時至今日,Android系統已經更新至8.0版本,最新的下一代Android 9.0也已經發布了預覽版本,正式版本即將在不久之後發布,這些所有的Android版本包括其源碼都是開源發布在Android官方網站上的,任何人都可以籍此開發、使用,包括且不限於商業應用。
  • 百度飛槳秀出最新成績單,產業應用、人才培養、開源生態全面繁榮
    200+,飛槳企業版EasyDL智能數據服務升級,飛槳硬體生態路線圖以及攜手全球開發者開啟「大航海」計劃。可見飛槳技術與生態發展的步調越來越快。八大亮點發布,夯實AI技術底座,助力產業智能化新基建浪潮下,各行各業都拉開了智能化升級的大幕。百度集團副總裁、深度學習技術及應用國家工程實驗室副主任吳甜通過三組數據揭示出AI加速下沉的產業洞察。
  • 英特爾與阿里巴巴、華為、微軟等公司形成處理器競爭聯盟
    當地時間3月11日,英特爾和RISC-V的支持者宣布結成競爭聯盟,圍繞未來的處理器培育相互競爭的生態系統。英特爾啟動了計算高速連接(CXL)項目,這是一種開放的晶片間互連,預計將從2021年開始在其處理器上使用,用以連接加速器和內存。
  • LOL英雄聯盟手遊公測,流星遊戲加速器支持下載及免費加速!
    LOL英雄聯盟手遊10月27日正式開服!現已針對東亞和東南亞地區雙平臺開放,包括韓國、日本、菲律賓、新加坡、馬來西亞、印尼、泰國、汶萊、柬埔寨、寮國、緬甸和東帝汶。國內玩家想要提前體驗,可以使用流星手遊加速器加速解決。
  • 《英雄聯盟》手遊加速器推薦,迅遊手遊加速器限免加速還送拳頭帳號
    【天極網IT新聞頻道】《英雄聯盟》手遊於10月27日即將迎來大規模的公測,搶先第一波面向公測的地區不包含國內,許多國內的玩家想要搶先體驗公測但是不知道該如何註冊拳頭帳號以及下載遊戲,迅遊手遊加速器接下來為大家帶來詳細的《英雄聯盟》手遊下載註冊教程,迅遊手遊加速器已搶先預支持《英雄聯盟》手遊加速,助力各位玩家暢玩遊戲。
  • 好看書單·Arduino&Raspberry開源硬體技術|共18部
    其主要內容包括四個方面:Arduino開源硬體與Arduino開發板、開發環境及程式語言,介紹了開源硬體開發的基本知識和方法,包括開源硬體的發展、常用的開發板以及ArduinoIDE的使用和相關的程式語言等;Arduino開發產品的基本方法,包括硬體設計方法Fritzing的使用、Arduino入門程序設計和擴展板的使用;外圍硬體及傳感器使用方法,包括智能開源硬體平臺、傳感器和模塊,從功能、電路連接和實例程序等方面介紹其使用方法
  • 一文讀懂華為移動服務:和谷歌的區別在哪,是救命良藥?
    作為替代,華為於2019年8月的全球開發者大會上,首次面向全球發布了華為移動服務HMS(以下簡稱HMS)。2020年1月16日,華為公司又發布了HMS Core 4.0版本,其生態服務進一步完善。
  • 英雄聯盟手遊谷歌帳號怎麼註冊 谷歌帳號註冊方法介紹
    ------------------------------------- 英雄聯盟手遊谷歌帳號怎麼註冊?谷歌帳號要怎麼註冊?谷歌帳號註冊要特殊方法嗎?
  • 谷歌開源 Scorecards,為開源項目安全性「打分」
    開源軟體的廣泛應用催生了日漸增多的開源軟體供應鏈攻擊,與普通供應鏈攻擊不同,開源軟體擁有更長的「信任鏈」和更大的影響力,因此導致的結果之一就是破壞性更大
  • 英雄聯盟手遊用什麼加速器能進?海豚手遊加速器效果怎麼樣?
    英雄聯盟手遊用什麼加速器能進?海豚手遊加速器效果怎麼樣?來源:www.18183.com作者:阿姆斯特朗雷時間:2020-10-28 分享到: 註冊一個對應區服的拳頭帳號,無論在蘋果還是安卓手機上都能使用
  • David Patterson新年首發聲:RISC-V開源的產學研之路該怎麼走?
    金杜律所合伙人樓仙英提到, 當我們使用開源軟體時,進一步開發後仍有可能出現侵權的現象,而且中國的商業模式不太一樣,有的人獲得專利不是為了保護自己,而是考慮如何賺錢。所以必須要做好FTO檢索,從而減小損失。北京大學法學院教授張平也提到了另一個維護專利的辦法,那就是成立和加入ORIN、RPX這樣的專利聯盟,成員之間免費使用專利,阻止專利濫訴的發生。
  • 英雄聯盟手遊谷歌帳號怎麼註冊 谷歌帳號註冊攻略
    ------------------------------------- 英雄聯盟手遊谷歌帳號怎麼註冊?谷歌帳號在哪裡註冊?谷歌帳號註冊要注意些什麼?
  • 《英雄聯盟》手遊國際服註冊教程,迅遊手遊加速器可免費獲取拳頭帳號
    《英雄聯盟》手遊10月27日即將迎來大規模的公測,但是國內玩家想要搶先體驗第一波公測的話需要註冊外服帳號並前往外服進行搶先體驗,許多玩家可能對國際服的帳號註冊不了解,迅遊手遊加速器接下來為大家帶來《英雄聯盟》手遊國際服註冊教程,公測開啟之後記得用迅遊手遊加速器暢玩遊戲。
  • 谷歌與中國開發者的恩怨情仇
    但谷歌流量變現的商業模式本質並沒有發生變化,僅僅是將自己原先搜索導流的方式,改為通過自己龐大的移動產品矩陣以及安卓的底層生態聚集流量。免費開源的模式幫助安卓系統實現了對iOS的彎道超車,並快速拉升了市場滲透率。