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

2020-11-28 雷鋒網

雷鋒網 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 對地球上的每個人都更有幫助、更有用的願望。

雷鋒網 AI 開發者

相關焦點

  • 谷歌開源全新中介碼與編譯器框架 MLIR
    (GPU、TPU、行動裝置)時,由於多級別堆棧而導致的編譯器與運行時錯誤,谷歌近日開源了一個全新的中介碼與編譯器框架 MLIR。將圖轉化為 TensorRT、nGraph 或另一種適合特定硬體指令集的編譯器格式將圖轉化為 TensorFlow Lite 格式,然後在 TensorFlow Lite 運行時內部執行此圖,或者通過 Android 神經網絡 API (NNAPI) 或相關技術將其進一步轉化,以在 GPU 或 DSP 上運行谷歌的 MLIR(或稱為多級別中介碼)是一種表示格式和編譯器實用工具庫
  • 華為全面啟航計算戰略:「鯤鵬+昇騰」雙引擎、硬體開放、軟體開源...
    HUAWEI CONNECT 2019第二天,華為基於「鯤鵬+昇騰」雙引擎正式全面啟航計算戰略,宣布開源伺服器作業系統、GaussDB OLTP單機版資料庫,開放鯤鵬主板,擁抱多樣性計算時代。華為通過硬體開放、軟體開源、使能合作夥伴,共同開拓萬億級的計算產業大藍海。
  • 中國工程院高文院士:為什麼中國要打造自己的 AI 開源開放生態?
    中國工程院院士、新一代人工智慧產業技術創新戰略聯盟理事長、鵬城實驗室主任高文教授在會上發布啟夢計劃,目標是加速打造依託中國、面向全球的人工智慧開源社區生態。人工智慧是當前人類所面對的最重要的技術和社會變革,是未來國家之間競爭的關鍵賽場。正因如此,我國政府把人工智慧上升到國家意志。
  • 谷歌會禁止中國人使用Android系統嗎?
    時至今日,Android系統已經更新至8.0版本,最新的下一代Android 9.0也已經發布了預覽版本,正式版本即將在不久之後發布,這些所有的Android版本包括其源碼都是開源發布在Android官方網站上的,任何人都可以籍此開發、使用,包括且不限於商業應用。
  • 英雄聯盟手遊怎麼用uu加速器下載 需要註冊谷歌帳號或者拳頭帳號
    英雄聯盟手遊怎麼用uu加速器下載 需要註冊谷歌帳號或者拳頭帳號時間:2020-11-01 08:52   來源:格雷   責任編輯:凌君 川北在線核心提示:原標題:英雄聯盟手遊怎麼用uu加速器下載 需要註冊谷歌帳號或者拳頭帳號 英雄聯盟手遊怎麼用uu加速器下載?
  • 打破谷歌壟斷,華為以分成構建鴻蒙生態系統
    鴻蒙系統和安卓都是基於Linux開發出來的,華為早些時候就修改了谷歌最原始的安卓,建立了自己的EMUI作業系統,與鴻蒙系統相比,EMUI只能使用於手機,而鴻蒙系統將在手機、電腦、穿戴等多個智能設備上應用。但作為新入局者,鴻蒙生態系統的建立仍面臨挑戰。
  • Google發布了用於機器學習應用程式的硬體加速器
    谷歌發布了一系列內部設計的硬體加速器,以加速公司雲平臺上的某些機器學習工作負載。Google的新Cloud Tensor處理單元(TPU)將於本周開始用於Beta評估。每個TPU包含四個專用集成電路(ASIC)。單個TPU在單個板上可以提供多達180 teraflops的性能和高達64 GB的高帶寬內存。
  • 《英雄聯盟》手遊加速器推薦,迅遊手遊加速器限免加速還送拳頭帳號
    迅遊手遊加速器接下來為大家帶來詳細的《英雄聯盟》手遊下載註冊教程,迅遊手遊加速器已搶先預支持《英雄聯盟》手遊加速,助力各位玩家暢玩遊戲。《英雄聯盟》手遊下載註冊教程,迅遊手遊加速器已搶先預支持《英雄聯盟》手遊加速,助力各位玩家暢玩遊戲。
  • 面向下一代計算的開源晶片與敏捷開發
    5:中國的聲音八、報告6:CHIPS聯盟與開源UMV驗證框架九、報告7:硬體加速器設計與領域專用語言DSL十、報告8:高層次綜合十一、報告9:英偉達的敏捷開發實踐十二、報告10:支持硬體敏捷開發的新語言與生成器十三、報告11:端到端的形式化驗證十四、中國的挑戰與機遇十五、結語:2030憧憬
  • 開源:數位技術擴散促進數位技術創新
    當下,在移動網際網路日益普及和第五代移動通信(5G)商用不斷擴大的時代背景下,以人工智慧、大數據、雲計算(即AI,Big Data,Cloud Computing,合稱為「ABC技術」)為底層技術推動的數字經濟正在全球蓬勃興起,對人類生產、生活和生態環境都帶來了廣泛而深刻的影響。
  • 攜手國際AI領袖制定AI硬體全球標準OAI,百度發布超級AI計算平臺
    百度在主導 OAI 標準定義的同時,也以實際行動推動 OAI 標準落地,通過構建開放的 AI 硬體生態系統來推動全球 AI 新硬體技術創新和落地。由於 AI 硬體系統設計的技術難度和複雜性,其研發周期通常長達一年,並且需要投入大量的研發資源,這嚴重阻礙了新 AI 加速晶片的落地和應用。OCP 開放計算項目,是由 Facebook 攜手英特爾、Rackspace 等公司於2011年成立的一個非營利組織,也是全球雲計算基礎硬體技術領域覆蓋面最廣、最有影響力的開源組織。
  • 為何不加入蘋果、谷歌、亞馬遜、Zigbee組建的聯盟?餘承東回應
    眾所周知除了蘋果手機外,其它所有智慧型手機品牌都加入了谷歌安卓系統的應用生態聯盟,目前安卓的生態很完善,首先作業系統份額是ios的大約七倍,應用數量也超過蘋果應用商店。值得一提的是,谷歌從去年下半年開始將華為踢出安卓應用生態聯盟,不能再使用GMS移動服務,谷歌此舉讓華為手機在海外市場出售遇到很大障礙,因此出貨量開始快速下跌。目前華為最新的P40系列剛在歐洲首發,餘承東表示該機依舊不能使用GMS,到已經有自己的替補方案HMS移動服務,並且手機自帶AppGallery。
  • 分析稱Facebook開源是為了建生態系統對抗谷歌
    【搜狐IT消息】北京時間4月8日消息,針對Facebook開源數據中心這一舉措,國外媒體發表評論文章分析了其動機。文章稱,Facebook一方面是為了兌現其承諾,另一方面是希望通過開源建立一個大的生態系統,藉助合作夥伴的力量縮小其與Google在數據中心技術方面的差距。
  • 中國科協:積極推動成立「科創中國」開源聯盟
    中新網北京10月20日電 (記者 孫自法)中國科協科學技術傳播中心副主任陳銳透露,近年來中國科協高度重視並積極推動開源生態建設,未來將積極推動成立「科創中國」開源聯盟。他說,中國科協今年以來因時因勢因需因能,啟動打造「科創中國」品牌,特別是在北京中關村軟體園試點園區建設中,將打造本土開源生態作為核心工作,未來將依託中關村軟體園700多家中外知名IT企業總部和全球研發中心,積極推動成立「科創中國」開源聯盟,建設原生開源社區、發展自主開源基金、培育本土開源生態,打造原始創新前沿突破的策源地和支撐中國大信息產業自主創新發展的重要基地。
  • 英雄聯盟手遊谷歌帳號怎麼註冊 谷歌帳號註冊方法介紹
    --------------------------------------- 英雄聯盟手遊谷歌帳號怎麼註冊?谷歌帳號要怎麼註冊?谷歌帳號註冊要特殊方法嗎?
  • 英雄聯盟手遊谷歌帳號怎麼註冊 谷歌帳號註冊攻略
    --------------------------------------- 英雄聯盟手遊谷歌帳號怎麼註冊?谷歌帳號在哪裡註冊?谷歌帳號註冊要注意些什麼?
  • 打破谷歌系統壟斷地位!華為鴻蒙系統給出答案:可實現全面替換
    【11月5日訊】相信大家都知道,在全球智慧型手機圈中,谷歌的Android系統、蘋果IOS系統幾乎壟斷著全球近乎100%智慧型手機系統市場,雖然三星、微軟等科技巨頭也曾有研發相對應的作業系統,但這些手機作業系統最終還是倒在了Android、IOS系統腳下,因為研發一款作業系統並不是最難得,最難得是打造成熟且完善的生態系統,只有完善的生態系統才能夠確保擁有完善的用戶體驗
  • 蘋果、谷歌、亞馬遜罕見結盟,統一智能家居連接標準,中國廠商或追隨
    對於想裝智能家居的消費者來說,最難的事情是選擇,一些口碑良好的智能硬體,不一定適用於你組建的智能家居系統,因為各個智能硬體廠商都有自己私有的通信協議,試圖把用戶圈起來。這樣一來,智能家居體系就好像一個個的孤島。
  • 華為12月將亮出「法寶」,谷歌真的急了,市場份額或將大跌
    在硬體方面,或許華為目前無法突破封鎖,但在軟體以及系統方面,華為早已未雨綢繆,重壓之下推出了自主研發的鴻蒙OS以及HMS服務,其中的鴻蒙OS採用的是微內核分布式設計,可以跨平臺使用。而HMS服務則是與谷歌GMS一樣的生態服務系統,目前已經上線並正式投入使用,如華為智慧屏電視等等產品都能夠體驗到HMS服務,雖然是一個新生的華為生態系統服務,但目前來看,全球已經有3000多個手機主流APP入駐了HMS服務,並且這個數據還在繼續增加,目前已成長為全球第三大移動應用生態。顯然,假以時日,一個強大的HMS生態系統或將超過蘋果生態以及谷歌生態。
  • AutoML構建加速器優化首嘗試,谷歌發布EfficientNet-EdgeTPU
    但隨著縮小電晶體尺寸變得越來越困難,業界將重點放在了開發硬體加速器這樣的特定於域的體系架構上面,從而繼續提升計算能力。機器學習領域尤為如此,需要創建用於神經網絡加速的專門架構。但諷刺的是,雖然這些架構在數據中心和邊緣計算平臺上取得了穩步擴展,但依託它們運行的神經網絡卻很少定製化從而充分利用底層硬體。