天天看點

這項目的送出看闆驚了!

這項目的送出看闆驚了!

今天開源君重磅推薦的項目是​

​MindSpore​

​,在碼雲的 python 語言項目的排行靠前,擁有 5.5 K 的 star。它是一種适用于端邊雲場景的新型開源深度學習訓練/推理架構。那麼它有什麼特點能吸引這麼多 star 呢?

項目簡介

首先我們來欣賞一下這個開源項目的主要維護者的送出記錄。開源君一開始看見的時候驚呆了,2021 年八個多月的時間項目維護者送出了接近兩萬次,足以說明對項目的用心。

這項目的送出看闆驚了!

MindSpore 設計友好,執行高效,為 AI 處理器提供原生支援,以及軟硬體協同優化。同時它有比較好的生态和開源社群,感覺對于學習者或者使用者來說是比較重要的,在開發或者學習過程遇到困難可以及時在社群得到解答或者可以使用生态的一些插件提高效率。

架構架構

這項目的送出看闆驚了!

主要分為的擴充層(MindSpore Extend)、前端表達層(MindExpression,ME)、編譯優化層(MindCompiler)和全場景運作時(MindRT)四個部分。

  • MindSpore Extend(擴充層):MindSpore 的擴充包。
  • MindExpression(表達層):基于 Python 的前端表達,未來計劃陸續提供C/C++、Java 等不同的前端;MindSpore 也在考慮支援華為自研程式設計語言前端-倉颉,目前還處于預研階段;同時也在做與Julia等第三方前端的對接工作,引入更多的第三方生态。
  • MindCompiler(編譯優化層):圖層的核心編譯器,主要基于端雲統一的 MindIR 實作三大功能,包括硬體無關的優化(類型推導、自動微分、表達式化簡等)、硬體相關優化(自動并行、記憶體優化、圖算融合、流水線執行等)、部署推理相關的優化(量化、剪枝等);其中,MindAKG 是 MindSpore 的自動算子生成編譯器,目前還在持續完善中。
  • MindRT(全場景運作時):這裡含雲側、端側以及更小的IoT。

架構特點

自動微分

目前主流深度學習架構中有三種自動微分技術:基于靜态計算圖的轉換,基于動态計算圖的轉換,基于源碼的轉換,這個架構使用的是基于源碼的轉換,以即時編譯(Just-in-time Compilation,JIT)的形式對中間表達式(程式在編譯過程中的表達式)進行自動差分轉換,支援複雜的控制流場景、高階函數和閉包。現在很多浏覽器都使用即時編譯的技術,比如大家熟悉的谷歌浏覽器 Chrome 的 JavaScript 引擎就使用了 JIT 技術,極大的優化了 JavaScript 代碼的執行效率。

這項目的送出看闆驚了!
自動并行

MindSpore 自動并行的目的是建構資料并行、模型并行和混合并行相結合的訓練方法。