摘要:上海人工智慧實驗室的浦視開源演演算法體系(OpenMMLab)團隊基於昇騰AI釋出了MMDeploy 0.10.0版本,該版本已支援OpenMMLab演演算法倉庫在昇騰異構計算架構CANN上的推理部署。
本文分享自華為雲社群《又一重要進展釋出!OpenMMLab演演算法倉支援昇騰AI訓練加速》,作者:昇騰CANN 。
近日,上海人工智慧實驗室的浦視開源演演算法體系(OpenMMLab)團隊基於昇騰AI釋出了MMDeploy 0.10.0版本,該版本已支援OpenMMLab演演算法倉庫在昇騰異構計算架構CANN上的推理部署。而在最新發布的MMCV 1.7.0和MMEngine 0.3.0版本中,OpenMMLab基於昇騰AI軟硬體底座完成了基礎庫(MMEngine、MMCV)及演演算法庫(影象分類MMClassification、目標檢測MMDetection)的適配,補齊了基於昇騰AI的訓練加速能力。至此,OpenMMLab演演算法倉[1]已完整打通基於昇騰AI的訓練與推理流程,基於昇騰異構計算架構CANN的開發體系與加速技術棧,開發者不僅可以基於OpenMMLab演演算法倉庫快速構建AI模型與應用,還能充分發揮昇騰AI處理器的澎湃算力,加速訓練及推理業務的執行。
CANN是專門面向AI場景的異構計算架構,同時作為昇騰AI基礎軟硬體平臺的核心組成部分之一,搭起了從上層深度學習框架到底層AI硬體的橋樑,全面支援昇思MindSpore、飛槳(PaddlePaddle)、PyTorch、TensorFlow、Caffe、計圖(Jittor)等主流AI框架,提供900多種優選模型,能夠覆蓋眾多典型場景應用,相容多種底層硬體裝置,提供強大的異構計算能力。
OpenMMLab 誕生於 2018 年,是深度學習時代計算機視覺領域最全面、最具影響力的開源演演算法體系。旨在為學術和產業界提供一個可跨方向、結構精良、跨站性強、易復現的統一演演算法工具庫。目前,OpenMMLab 已經累計開源了超過 30 個演演算法庫,涵蓋分類、檢測、分割、視訊理解等眾多研究領域,擁有超過 300 種演演算法、2,400 多個預訓練模型。在 GitHub 上獲得超過 73,000 個標星,同時吸引了超過 1,500 名社群開發者參與專案貢獻,使用者遍及超過 110 個國家和地區,覆蓋全國全球頂尖高校、研究機構和企業。
昇騰AI和OpenMMLab開展深度合作,共同簽署了CCLA(Corporate Contributor License Agreement)協定,致力於長期全面支援OpenMMLab旗下基礎倉和模型倉,共同促進更多業務場景的技術創新和生態共贏。
昇騰與OpenMMLab適配整體框架
上圖展示了昇騰AI適配OpenMMLab的整體方案,其中 ,CANN軟體棧實現了演演算法庫在昇騰AI處理器上的加速執行;框架和基礎庫的適配,完成了與CANN的對接,其中torch_npu外掛支撐了PyTorch[4]框架的執行,基礎庫中的runner、ops和dist等元件分別實現了基礎執行類、自定義運算元和通訊協定對昇騰AI處理器的支援。CANN、框架和基礎庫的有機結合,支撐了基礎庫(MMCV)和演演算法庫(MMClassification、MMDetection等)在昇騰AI處理器的加速執行。
通過OpenMMLab與昇騰CANN的對接,目前已完成了MMCV運算元倉16+運算元的適配,MMClassification與MMDetection模型套件倉共20+模型在昇騰硬體上的執行。
MMClassification適配模型參考:
https://mmclassification.readthedocs.io/en/latest/device/npu.html
MMDetection適配模型參考:
https://mmdetection.readthedocs.io/en/latest/device/npu.html
未來,隨著昇騰AI和OpenMMLab合作的不斷深入,雙方將會從豐富演演算法庫和更高效能的訓練加速層面持續優化,促進昇騰AI和OpenMMLab的共同發展和繁榮。同時,也歡迎大家在昇騰社群和OpenMMlab的開源社群一起交流、探索和改進,共同推進計算產業發展和生態構建!
相關連結:
[1] https://github.com/open-mmlab
[2] https://github.com/open-mmlab/mmcv/pull/2262
[3] https://github.com/open-mmlab/mmengine/pull/572
[4] https://gitee.com/ascend/pytorch
[5] https://www.hiascend.com