清華自研的深度學習框架計圖(Jittor)在動態(tài)圖推理速度上又一次完勝PyTorch。
最近,計圖團隊完成了在寒武紀芯片MLU270上的移植。
這一次跟寒武紀的合作,使Jittor在backbone網(wǎng)絡(luò)模型中的動態(tài)圖推理速度較PyTorch平均提升了276.69倍。
從團隊公布的實驗結(jié)果可以看到,在寒武紀芯片上分別用計圖(Jittor)和PyTorch進行推理。
計圖(Jittor)在16種backbone網(wǎng)絡(luò)模型中的推理速度都較PyTorch大幅提升,其中包括alexnet、vgg系列、resnet系列。
其中最快的是alexnet,提升速度達到了464.43倍,最慢的resnet50也達到了153倍。
平均提升速度達276.69倍。
△表1:模型具體數(shù)值
與此同時,計圖的精度損失也較PyTorch大幅減少。
△表2:resnet18的mse誤差對比
團隊以resnet18網(wǎng)絡(luò)為例進行對比,baseline是CPU;結(jié)果顯示:計圖的精度損失比PyTorch降低了42.53%。
還是「元算子」的功勞
性能得到如此大的提升,是怎么實現(xiàn)的呢?
要知道,在TensorFlow,PyTorch框架底層,有上千個算子;想要移植新的硬件,就必須將大量的算子復寫,這樣一來不僅工作量劇增、而且難度也會加大。
Jittor這次還是依靠他們的核心武器——元算子。
根據(jù)Jittor官方文檔定義,元算子是指神經(jīng)網(wǎng)絡(luò)所需的基本算子。
早在設(shè)計Jittor的時候,研發(fā)團隊就定下了一個目標,即用戶只需要數(shù)行代碼,就可定義新的算子和模型。在保證易用的同時,不喪失任何可定制性。
所以在Jittor中,多個元算子之間,可以相互融合成更加復雜的算子,這些復雜算子構(gòu)成了神經(jīng)網(wǎng)絡(luò)計算的多個模塊,如卷積層,歸一化層等等。
△使用元算子實現(xiàn)卷積層
這一次將Jittor移植到寒武紀上,也是同樣的原理。
研究團隊把神經(jīng)網(wǎng)絡(luò)所需的基本算子,定義為三類共18個元算子。
讓元算子相互融合形成常用算子,這樣就能通過優(yōu)化非常少的元算子,實現(xiàn)對常用算子性能的提升。
并且,元算子還是反向傳播閉包,所有元算子反向傳播后依舊是元算子。
所以在完成三類元算子的移植后,Jittor天然就能支持大部分常用算子的推理和簡單訓練。
從Jittor元算子到BANG
為了能讓用戶更為簡單地操作,Jittor內(nèi)置了元算子編譯器,可以將用戶的Python代碼動態(tài)編譯成寒武紀BANG語言。
BANG語言是專門針對寒武紀產(chǎn)品架構(gòu)的一種代碼語言,它能極大優(yōu)化寒武紀芯片的通用編程能力,提升用戶編程的自由度。
并且它還有全套編譯工具鏈來提高性能。包括CNCC(Cambricon Neuware Compiler Collection )、CNAS(Cambricon Neuware Assembler)、CNLINKER(Cambricon Neuware Linker)。
Jittor內(nèi)置的元算子編譯器可以把元算子自動轉(zhuǎn)化為BANG算子。
采用動態(tài)編譯的方式,能在運行時獲取更多的信息,比如計算圖上下文、形狀信息等,這些信息都可以進一步提升算子的性能。
并且,Jittor還內(nèi)置了可以根據(jù)硬件設(shè)備自動對BANG語言進行優(yōu)化的優(yōu)化編譯遍(complier pass),從而生成對硬件設(shè)備更為適合的底層算子。
用這種方法,僅僅一行Python代碼,就能表示BatchNorm算子的核心思想。
元算子編譯器再把這行代碼自動優(yōu)化成BANG語言代碼。
由于BANG語言的設(shè)計更加成熟,提供了類似于CUDA語言的線程調(diào)度模式,使得上手和調(diào)試都更加簡單;也能更好地釋放寒武紀芯片的算力。
清華自研,首個中國高校深度學習開源框架
計圖(Jittor)的開發(fā)團隊,均來自清華大學計算機系圖形學實驗室,負責人是清華大學計算機系的胡事民教授。
而主要負責開發(fā)的,則是來自實驗室的博士生們:梁盾、楊國燁、楊國煒、周文洋……
計圖(Jittor)與主流的深度學習框架TensorFlow、Pytorch等最大的不同在于,它是一個完全基于動態(tài)編譯(Just-in-time)、使用元算子和統(tǒng)一計算圖的深度學習框架。
它可以不像Pytorch那樣依賴tracing機制,讓用戶的操作更加簡單,同時還可以得到更好的學習訓練效果。
對于這一次取得的成果,開發(fā)者之一梁盾透露未來有可能發(fā)表在頂會上,并且會開源給大家。
此前,計圖開源的點云模型庫,在多種主流模型上訓練性能較Pytorch提升一倍以上;并發(fā)布了第一個支持金屬度、粗糙度的可微渲染庫。
最近,他們還開源了一個智能P圖神器DeepFaceEditing,可以通過草圖自由編輯人臉。
感興趣的同學可以去試試哦~
GitHub開源:
https://github.com/IGLICT/DeepFaceEditing-Jittor
編輯:jq
-
cpu
+關(guān)注
關(guān)注
68文章
11083瀏覽量
217189 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103724 -
寒武紀
+關(guān)注
關(guān)注
11文章
200瀏覽量
74339 -
pytorch
+關(guān)注
關(guān)注
2文章
809瀏覽量
13978
原文標題:關(guān)注 | 清華「計圖」現(xiàn)在支持國產(chǎn)芯片了!動態(tài)圖推理比PyTorch快了270倍
文章出處:【微信號:wc_ysj,微信公眾號:旺材芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
清華光芯片取得新突破,邁向AI光訓練

國產(chǎn)教育芯勢力!高能OPS主板解鎖智能教學新形態(tài)#工控主板 #國產(chǎn)芯片 #飛騰主板 #智慧教育

飛騰騰瓏E2000工控主板,終結(jié)傳統(tǒng)終端卡頓時代#工控主板 #國產(chǎn)芯片 #飛騰主板 #國產(chǎn)主板


國產(chǎn)SL4013芯片如何實現(xiàn)USB 5V升壓至24V以上?
國產(chǎn)升壓芯片如何單節(jié)鋰電3.7V升壓24V或4.2V升壓24V
國產(chǎn)沁恒微芯片怎么樣?
支持國貨!??!免積分分享國產(chǎn)芯片電機驅(qū)動系統(tǒng)設(shè)計
午芯芯科技國產(chǎn)電容式MEMS壓力傳感器芯片突破卡脖子技術(shù)

基于國產(chǎn)芯片的IPMI解決方案

評論