開源一週歲,MindSpore新特性巨量來襲

摘要:MindSpore不少新特性與你們見面了,不管是在效率提高、易用性,仍是創新方面,都是乾貨滿滿。

本文分享自華爲雲社區《MindSpore開源一年的新特性介紹》,原文做者:簡單堅持。html

最近,AI計算框架是業界的熱點,各大廠商紛紛投身AI框架的自研發,究其緣由:AI框架在整我的工智能方案裏,就像計算機的OS同樣,得AI框架者得天下,得什麼呢? 生態!算法

下面咱們來介紹下MindSpore開源一週年後,有哪些牛B的特性發布。(MindSpore已集成到華爲雲全流程AI開發平臺ModelArts裏,開發者能夠很是方便的在華爲雲ModelArts裏體驗MindSpore新特性)。服務器

一、大幅提高動態圖下分佈式訓練的效率:

在深度學習中,當數據集和參數量的規模愈來愈大,訓練所需的時間和硬件資源會隨之增長,最後會變成制約訓練的瓶頸。分佈式並行訓練,能夠下降對內存、計算性能等硬件的需求,是進行訓練的重要優化手段。當前 MindSpore 動態圖模式已經支持數據並行,經過對數據按 batch 維度進行切分,將數據分配到各個計算單元中進行模型訓練,從而縮短訓練時間網絡

基於 ResNet50 v1.5+ImageNet 數據集測試,昇騰算力,MindSpore 動態圖模式分佈式的表現,能夠達到 PyTorch 典型分佈式場景的 1.6 倍, 靜態圖模式分佈式的表現也能夠達到 TensorFlow 典型分佈式場景的 2 倍。框架

PyNative 快速入門: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/debug_in_pynative_mode.html機器學習

二、數據預處理加速 Dvpp:

數據是機器學習的基礎。在網絡推理場景中,咱們須要針對不一樣的數據進行數據的預處理,從中過濾出核心信息放入咱們訓練好的模型中進行推理預測。在實際應用場景中,咱們每每須要對大量的原始數據進行推理,好比實時的視頻流等。所以,咱們在昇騰推理平臺引入了 Dvpp 模塊來針對網絡推理數據預處理流程進行加速分佈式

Dvpp 數據預處理模塊提供 C++ 接口,提供圖片的解碼、縮放,中心摳圖、標準化等功能。在 Dvpp 模塊的設計中,考慮到總體的易用性,其功能與 MindData 現有 CPU 算子有重疊,咱們將其 API 統一,經過推理執行接口設置運行設備來進行區分。用戶能夠根據自身硬件設備環境來選擇最佳的執行算子。Dvpp 數據預處理流程以下圖所示:模塊化

咱們在一臺昇騰推理服務器上測試了 Dvpp 系列算子的性能收益。該服務器擁有 128 個主頻爲 2.6GHz 的 CPU 核心,以及 128Gb 的內存空間。在實驗中,咱們選取 yoloV3 網絡,同時選取 coco2017 推理數據集 40504 張圖片進行推理,最終獲得模型輸入尺寸爲 [416, 416] 的圖片。工具

咱們分別使用 Dvpp 算子和 CPU 算子進行數據預處理,獲得以下性能對比:性能

能夠看到 Dvpp 系列算子相較於 CPU 算子在處理大量數據時性能優點明顯,在本實驗中處理 40504 張圖片性能 FPS 提高 129%

查看教程: https://www.mindspore.cn/tutorial/inference/zh-CN/r1.2/multi_platform_inference_ascend_310_mindir.html#ascend-310

三、分子模擬庫(SPONGE),來自社區分子動力學工做組:

MindSpore 版的 SPONGE 是在社區中的分子動力學工做組 (MM WG) 中,由北大、深圳灣實驗室高毅勤課題組與華爲 MindSpore 團隊聯合開發的分子模擬庫,具備高性能、模塊化等特性。

  • 爲什麼須要開發 SPONGE?

分子動力學模擬是用牛頓定律近似來描述微觀原子和分子尺度演化的計算機模擬方法。其既可用於基礎科學研究也可用於工業實際應用。在基礎科學領域,分子動力學方法有助於科研學者從微觀研究體系的物理化學性質。

在工業生產中,其能夠利用大規模計算的能力輔助藥物分子的設計和蛋白靶點的搜尋 [1,2]。因爲模擬的時間和空間尺度限制,傳統分子動力學軟件的應用範圍受到較大限制。科研工做者也在不斷的開發新的力場模型[3,4]、抽樣方法[5,6] 以及嘗試結合新興的人工智能 [7,8] 來進一步拓展分子動力學模擬的適用領域。

由此,新一代的分子動力學軟件就須要被提上日程。其應該具備模塊化的特性,可以支持科學家高效的創造和搭建出可以驗證其理論模型的結構。同時,它還須要兼顧傳統模擬方法的高效性,可以兼容其在傳統領域上的使用。此外,爲實現分子模擬 + 機器學習的天然融合,其還應該擁有嵌入人工智能框架的形態。SPONGE 就是基於這些理念而被創造出的全新的,徹底自主的分子模擬軟件。

相比於以前在傳統分子模擬軟件上結合 SITS 方法進行生物分子加強抽樣[9],SPONGE 原生支持 SITS 並對計算流程進行優化使得其使用 SITS 方法模擬生物體系更加高效。針對極化體系,傳統分子模擬採用結合量化計算等方式來解決電荷浮動等問題[10]。即便採用機器學習下降計算量也會浪費大量時間在程序數據傳送的問題上。而 SPONGE 利用模塊化的特色可支持內存上直接與機器學習程序通訊大大下降了總體計算時間。

圖 1:結合 SITS 等方法可進行 Na[CpG], Lys 生物分子模擬

圖 2:機器學習 + 分子模擬方法可更快更準確地模擬極化體系,圖爲[C1MIm]Cl 離子液體模擬

  • MindSpore + SPONGE

基於 MindSpore 自動並行、圖算融合等特性,SPONGE 可高效地完成傳統分子模擬過程。SPONGE 利用 MindSpore 自動微分的特性,能夠將神經網絡等 AI 方法與傳統分子模擬進行結合。

SPONGE 模塊化設計結構圖

隨 MindSpore1.2 版本開源的 SPONGE 具有如下優點

一、全模塊化分子模擬。模塊化構建分子模擬算法,易於領域研發人員進行理論和算法的快速實現,併爲外部開發人員貢獻子模塊提供友好的開源社區環境。

二、傳統分子模擬與 MindSpore 結合的人工智能算法的全流程實現。在 MindSpore 中,研發人員能便利的將 AI 方法做用於分子模擬中。全算子化的 SPONGE 將與 MindSpore 進一步結合成爲新一代端到端可微的分子模擬軟件,實現人工智能與分子模擬的天然融合。
教程文檔: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/hpc_sponge.html

  • MindSpore+SPONGE 展望

近期展望:在後續的版本更新中會陸續加入已經理論驗證好的 MetaITS 模塊、有限元計算模塊等功能。這些模塊將幫助 SPONGE 能更好的從事相變和金屬表面相關的模擬。同時,MindSpore 版 SPONGE 各模塊逐步支持自動微分和自動並行,對於銜接機器學習方案提供更友好的支持。

遠期展望:拓展 SPONGE 的各類特點模塊,使其可以描述大部分微觀體系並同時具備較高的計算和採樣效率。對特定工業需求,如藥物篩選或晶型預測,將基於 SPONGE 衍生出完整的流程化計算方案,可以知足大規模並行計算的需求。在 MindSpore 框架下,SPONGE 具備元優化功能,從而實現更準確和更快的力場擬合。

四、量子機器學習(MindQuantum),來自社區量子力學工做組:

MindQuantum 是結合 MindSpore 和 HiQ 開發的量子機器學習框架,支持多種量子神經網絡的訓練和推理。得益於華爲 HiQ 團隊的量子計算模擬器和 MindSpore 高性能自動微分能力,MindQuantum 可以高效處理量子機器學習、量子化學模擬和量子優化等問題,性能達到業界 TOP1(Benchmark),爲廣大的科研人員、老師和學生提供了快速設計和驗證量子機器學習算法的高效平臺。

MindQuantum vs TF Quantum/Paddle Quantum 性能對比

查看教程:https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/parameterized_quantum_circuit.html

五、多跳知識推理問答(TPRR):

TPRR 是解決開放域多跳問題的通用模型。相比於傳統問答僅需從單個文檔中檢索答案,多跳知識推理問答須要從多個佐證文檔獲得最終答案,並返回問題到答案的推理鏈。TPRR 基於 MindSpore 混合精度特性,能夠高效地完成多跳問答推理過程。

  • 全路徑建模:

TPRR 模型在多跳問題推理鏈的每個環節中基於所有推理路徑的條件機率建模,模型以 「全局視角」 進行知識推理。

  • 動態樣本選取:

TPRR 模型採用動態樣本的建模方式,經過更強的對比學習提高模型多跳問答的能力。
算法流程圖以下:

TPRR 模型在國際權威的多跳問答榜單 HotpotQA 評測中榮登榜首,榜單圖以下:

查看教程: https://www.mindspore.cn/tutorial/inference/zh-CN/r1.2/nlp_tprr.html

六、一鍵模型遷移(MindConverter):

腳本遷移工具(MindConverter)旨在幫助算法工程師將存量的基於三方框架開發的模型快速遷移至 MindSpore 生態。根據用戶提供的 TensorFlow PB 或 ONNX 模型文件,工具經過對模型的計算圖(Computational Graph)解析,生成一份具有可讀性的 MindSpore Python 模型定義腳本(.py)以及相應的模型權重(.ckpt)。

  • 一鍵遷移:

經過 MindConverter CLI 命令便可一鍵將模型遷移爲 MindSpore 下模型定義腳本以及相應權重文件,省去模型重訓以及模型定義腳本開發時間;

  • 100% 遷移率:

在 MindConverter 具有跨框架間算子映射的狀況下,遷移後腳本可直接用於推理,實現 100% 遷移率;

  • 支持模型列表:

目前工具已支持計算機視覺領域典型模型、天然語言處理 BERT 預訓練模型腳本及權重的遷移,詳細模型列表見 README。

BERT 模型定義遷移結果展現(部分代碼):

查看教程: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/migrate_3rd_scripts_mindconverter.html?highlight=mindconverter

七、魯棒性評測工具助力 OCR 服務達成首個 AI C4 魯棒性標準要求:

MindSpore 魯棒性測試工具 MindArmour,基於黑白盒對抗樣本(20 + 方法)、天然擾動(10 + 方法)等技術提供高效的魯棒性評測方案,幫助客戶評估模型的魯棒性性,識別模型脆弱點。

OCR 是指利用光學設備去捕獲圖像並識別文字,減小人工成本,快速提高工做效率;若是攻擊者經過對待識別的文字作出人眼不易察覺的修改,而模型沒法對其正確識別或處理,就會致使 OCR 服務對文字識別的準確率降低,且使用人員不清楚問題背後的緣由。測評團隊使用 MindArmour 對 OCR 服務的魯棒性進行測評,發現 OCR 服務中部分模型對天然擾動和對抗樣本的防護能力較差,如文本框檢測模型在校驗噪聲、PGD、PSO(粒子羣)等攻擊算法下準確率小於 66%;並以此指導模型開發團隊經過對抗樣本檢測、數據加強訓練等技術,使得模型對惡意樣本的識別準確率達到 95+%,提升了模型及 OCR 服務的魯棒性。

AI C4 標準連接: https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/CloudComputing/AIC4/AI-Cloud-Service-Compliance-Criteria-Catalogue_AIC4.html

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索