谷歌全面開源 MLIR 及生態聯盟,全球 95% 的加速器硬體都在使用
雷鋒網 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 應用成為可能。無論是預測極端天氣( );幫助有語言障礙的人更好地溝通;還是協助農民檢測農作物疾病。
圖 3 AI 協助農民進行檢測( https://www.blog.google/technology/ai/ai-takes-root-helping-farmers-identity-diseased-plants/)
但隨著所有這些進展如此迅速,企業工廠方正在努力跟上不同的機器學習軟體框架與各種不斷增長的硬體組合。機器學習生態系統依賴於許多不同的技術,而這些技術通常具有不同的複雜程度,因而無法很好地協同工作。
管理這種複雜性的負擔最終落在了研究人員、企業和開發人員身上。透過減緩新的機器學習驅動產品從研究到實現的速度,這種複雜性將會影響我們解決具有挑戰性現實問題的能力。
今年早些時候,我們釋出了 MLIR,這是一種開源機器學習編譯器基礎架構,可以解決因軟體和硬體碎片不斷增加而導致的複雜性,並且可以更輕鬆地構建 AI 應用程式。它提供了新的基礎設施和設計理念,使得機器學習模型能夠在任何型別的硬體上一致地表示和執行。現在,我們宣佈我們會向非營利性 LLVM 基金會( )提供 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://www.blog.google/technology/ai/mlir-accelerating-ai-open-source-infrastructure/
MLIR 開源地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2656899/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 谷歌員工聯合組建阿爾法全球的全球工會聯盟谷歌
- 全球最大航空聯盟星空聯盟全面使用AWS 將所有資料、平臺和關鍵業務應用遷移到AWS
- 騰訊安心生態聯盟正式成立 聯動夥伴開放技術助力“數字興農”
- Google聯盟天涯 李開復表示谷歌更懂中文Go谷歌
- 智慧家居主戰場:小米生態鏈VS華為聯盟
- 自動駕駛終於出了第一個生態聯盟自動駕駛
- 谷歌招人開發VR硬體 蘋果把谷歌人才挖走谷歌VR蘋果
- 微軟谷歌紅帽等企業加入保密計算聯盟 致力開源與雲安全微軟谷歌
- DuerOS加速人工智慧生態,小度藍芽聯盟成立ROS人工智慧藍芽
- 聚勢啟新,KaiwuDB 生態聯盟沙龍首站落地長春AI
- 甘露生品牌聯盟系統開發技術部署
- 業界 | 谷歌開源DeepLearn.js:可在網頁上實現硬體加速的機器學習谷歌JS網頁機器學習
- 資料庫的未來-HTAP,軟體、硬體、雲生態的融合資料庫
- 共建共享數字世界的根:阿里雲打造全面的雲原生開源生態阿里
- 江民科技攜手申威產業聯盟,打造信創安全生態產業
- 擁抱開源,共建生態 - 開源生態與效能提升專場 | CIF 精彩看點
- IPFS社群|Filecoin:生態全面鋪開需要時間
- MLIR中的多面體編譯 -- affine dialect編譯
- 奧迪加入蘋果CarPlay計劃 參與谷歌開放汽車聯盟蘋果谷歌
- System76 是如何打造開源硬體的
- 達策加入ACloudster聯盟,攜手SAP開展全球業務Cloud
- 助力零信任生態新發展!派拉軟體任“零信任”聯盟理事單位成員
- “開源軟體供應鏈”,可能是對開源生態的一次重要重構
- 騰訊雲聯合多家生態夥伴,重磅開源 SuperEdge 邊緣容器專案
- Apache Pulsar 榮獲中國開源雲聯盟「2021 優秀開源專案」Apache
- Apache RocketMQ 榮獲 2021 中國開源雲聯盟優秀開源專案ApacheMQ
- Github 的系統內部都在用什麼開源軟體?Github
- 物件導向開發方式的開源硬體--.NET Gadgeteer物件
- 從AI加速器,看騰訊ToB生態的點、線與面AI
- 95% 都是開源的,而在全球資料庫開源專案活躍度中,PingCAP 排名第三。資料庫PingCAP
- AI的生態圖景:模型、訓練資料、硬體和人員AI模型
- 恭喜 KubeVela 獲得中國開源雲聯盟 2022 “優秀開源專案”
- 廣東省人工智慧產業聯盟成立打造人工智慧生態鏈人工智慧產業
- 江民科技加入尤拉開源社群,與開源生態共同發展
- 編譯器:TPU-MLIR環境構建及使用指南(一)編譯
- 華為期待透過軟體開源來實現產業生態繁榮產業
- 周邊生態|StreamNative 聯合 Cloudera 開源 Apache Pulsar+Apache NiFi 整合處理器CloudApacheNifi
- 全球雲遊戲產業聯盟(GCGA)正式成立 完美世界CEO蕭泓當選聯盟理事長遊戲產業GC