給定目標硬件,如何確定最優的速度-精度折衷邊界?換言之:給定推斷延時的限制,模型能達到的最高精度是多少?給定精度要求,模型所需的最短延時是多少?
為此,馭勢科技AI研究院聯合新加坡國立大學提出了偏序關系剪枝(Partial Order Pruning)方法,直接考慮模型在目標硬件上的延時,利用偏序關系假設對搜索空間進行剪枝,平衡模型的寬度與深度,以提高速度-精度折衷的邊界。應用該方法所得的東風(DF)骨干網絡,取得了目標硬件(TX2)上的最優速度-精度折衷。應用該方法于語義分割網絡Decoder的結構搜索,所得的東風分割網絡(DF-Seg)也取得了TX2/1080Ti上最優的速度-精度折衷。
在實際運用當中,具備多重實用價值,主要體現在以下幾個方面:
(一)DF/DF-Seg網絡的實用價值
(1)DF網絡取得了目標硬件(TX2)上最優的速度-精度折衷。
(2)DF網絡節約顯存。以DF2A網絡為例,其精度介于ResNet50/101之間,而僅需1/3至1/2的顯存(以BVLC Caffe測試)。
(3)DF網絡結構簡單,僅使用基本的殘差模塊,相當于更“精耕細作”的ResNet。
(4)DF-Seg網絡是TX2/1080Ti/Titan X(Maxwell)上速度-精度折衷最好的分割網絡。
省時間、省顯存、結構簡單,使得DF/DF-Seg網絡有助于在嵌入式設備TX2上部署高精度、低延時、多路圖像并行處理的CNN模型;有助于高端GPU上的視頻處理、大規模圖像數據處理等任務的部署;有助于科研人員,尤其是計算資源不足的科研人員,節省計算資源,實現更復雜的算法。
(二)偏序關系剪枝算法的實用價值
DF網絡更適合GPU平臺,我們也利用偏序關系剪枝算法,在驍龍845 CPU平臺上進行了骨干網絡結構與分割網絡Decoder結構的搜索,所得語義分割網絡得到了目前CPU平臺上最好速度-精度折衷。
以下為該論文內容翻譯:
一、偏序關系剪枝算法
(一)搜索空間設計與模型結構編碼
圖2(a)為本文的模型搜索空間,圖2(b)為本文使用的殘差模塊結構。網絡由6個Stage構成,Stage1~5均通過設步長為2降低輸入特征的分辨率,Stage6通過全局池化與全連接層產生分類結果。本文的模型搜索不搜索基本模塊的結構,而是在基本殘差模塊的基礎上,對網絡整體的寬度與深度進行平衡。在Stage3~5,模型分別包含L/M/N個殘差模塊,Stage s中的第i個殘差模塊的寬度記為,因此本文將一個結構表示為:
(二)模型延時估計與子搜索空間
圖2(a)所表達的搜索空間記為s,實踐中我們僅關心延時在中的子集,即。為估計各網絡的延時,我們使用TensorRT提供的性能分析工具,在目標硬件TX2上,測量了不同的殘差模塊所需的延時,并建立一個查找表
。這里,分別是輸入輸出特征的通道數,而
是相應的空間尺寸。利用該查找表將各殘差模塊延時進行加和記為對一個網絡延時的估計。在圖3(a)中,我們對若干網絡的估計延時與實際延時進行了比較,可見估計延時與實際延時基本一致。
(三)偏序關系假設
我們借用集合論中的偏序(Partial Order)關系來描述模型結構之間的聯系:集合中的元素為不同的模型結構(見圖2(a)),集合中的二元關系定義為:若x比y更淺且更窄,則稱x是y的前序,記為。如此,整個搜索空間中的模型結構就滿足了嚴格偏序關系,包括反自反性、反對稱行、傳遞性。圖4給出了若干模型結構間偏序關系的示意圖。偏序關系假設為:若x是y的前序(意味著x比y更淺且更窄),則x的速度更快,精度更低。這可以寫為:
在圖3(b)中,我們基于已訓練的模型,對偏序關系假設的合理性進行了驗證,其中,
,
。可見,在本實驗所關心的模型子空間中,偏序關系假設是合理的。
(四)偏序關系剪枝
基于偏序關系假設,我們可以在模型搜索中對搜索空間進行剪枝。圖5是該剪枝過程的一個示意圖。集合為已訓練的模型結構,集合中的模型代表了當前迭代中所能達到的最優速度-精度折衷邊界。對于一個非邊界模型
,其任意前序模型
,應有:
而我們已有速度-精度折衷更好的邊界點:
因此w的部分前序元素,延時將比高,而精度將比低,也即處于圖5的陰影部分。這些中的模型結構無法提供更好的速度-精度折衷,可以據此對搜索空間進行剪枝:。如此反復迭代,在迭代中不斷對搜索空間進行剪枝,直至速度-精度折衷的邊界趨于穩定,如算法1所描述。
(五)語義分割網絡的Decoder設計
本文中語義分割網絡的結構設計如圖6所示,在Stage 5中加入了pyramid pooling module,使用圖6(b)所示的Fusion node融合不同分辨率的特征,其中Channel Controller(CC)為1x1卷積,用以控制Decoder在不同分辨率下的寬度。不同的,構成了不同復雜度的Decoder結構。這些Decoder結構之間也存在著偏序關系假設,因此也可以使用偏序關系剪枝算法對搜索空間進行剪枝。
二、實驗數據
(一)TX2上的骨干網絡搜索
我們在TX2上進行骨干網絡的搜索,最終選取3個最有代表性的網絡,記為3個東風(DF)骨干網絡。如圖7與表1所示,DF網絡取得了TX2上最好的速度-精度折衷。
DF1網絡FLOPs明顯高于MobileNet于ShuffleNet等,但在TX2上實際延時更低。這是因為FLOPs作為間接指標,僅考慮了浮點計算量而沒有考慮內存訪問的延時。以ShuffleNetV2與DF1為例,其內存訪問代價(也即中間層的特征),分別為4.9M與2.9M。
NASNet與PNASNet在網絡結構搜索中均未考慮模型延時,所得模型結構復雜,內存訪問量大,實際延時較高。有一些同期工作(ProxylessNAS/FBNet)也在模型搜索中考慮了模型延時,DF網絡在速度-精度折衷上也優于這些模型。這是因為:一、這些模型未針對TX2平臺進行模型搜索;二、這些網絡均基于MobileNetV2的inverted bottleneck模塊,相比本文使用的殘差模塊,內存訪問量更高。
(二)TX2/1080Ti上的Decoder網絡結構搜索
基于TX2上搜索的東風骨干網絡,我們也在TX2/1080Ti上分別進行了Decoder結構搜索。如表3所示,東風分割網絡(DF-Seg)是目前1080Ti上速度-精度折衷最好的語義分割網絡。DF-Seg網絡的速度(FPS)與精度(mIoU)均在1024x2048的分辨率下,使用TensorRT提供的性能分析工具在1080Ti上進行測試。為與ICNet公平對比,在FPS(Caffe)欄中使用“Caffe Time”工具,在Titan X(Maxwell)上進行速度測試。表4與表5分別為Titan X(Maxwell)/TX2上的速度測試,DF-Seg的速度大幅優于現有結果,能夠在TX2上實現對720P分辨率圖像的30FPS的語義分割。
-
算法
+關注
關注
23文章
4625瀏覽量
93124 -
網絡
+關注
關注
14文章
7589瀏覽量
89026 -
結構
+關注
關注
1文章
117瀏覽量
21615
發布評論請先 登錄
相關推薦
評論