新四季網

無人機/機器人開發 如何優化深度學習?

2023-07-08 19:40:59 2

    從能夠自主飛行的無人機,到能和小朋友玩物體識別等遊戲的機器人,極客們對智能設備追求沒有止境。除了輕巧的體積、超長的續航,更重要的是要有一個智能的「大腦」,來實現人類能夠想得到的人機互動,或者智能化的自主決策和行為動作,毫無疑問強大的深度學習能力不可或缺。那麼,拒絕束縛人類想像力的嵌入式智能設備,其開發工作需要什麼樣的環境和工具?開發者進行相關開發的可行思路是什麼?近日,CSDN記者就此專訪了智能設備重度開發者、高性能計算專家趙開勇(博客:http://blog.csdn.net/openhero)。

    > 趙開勇,香港浸會大學計算機計算機系異構計算實驗室在讀博士,長期從事高性能計算領域研究,在CPU、GPU異構計算方面有多年的研究經驗,嘗試過多種嵌入式開發平臺,曾在2013年初預言基於行動裝置的高性能計算將會成為未來潮流。

    CSDN:對於嵌入式領域的人工智慧應用開發工作,您認為計算方面的挑戰有什麼不同?

    趙開勇:智能應用基本都需要使用深度學習做視覺處理、語音識別,深度學習可以說是構建智能應用的大腦的必備工具。現在的深度神經網絡參數一般都比較龐大,上百層的網絡已經不少,並且每一層又有很多參數。如果是按照F32的數據,就需要耗費幾百MB的內存。所以如何把網絡數據變小,同時又不損失精度,這是在嵌入式領域做人工智慧的挑戰之一。

    另一個方面,嵌入式的平臺的計算能力也比不上傳統的PC,計算能力有限,一些複雜的神經網絡也需要在嵌入式平臺上做相應的優化,才能在嵌入式平臺上達到接近PC上的神經網絡的速度。

    總而言之,嵌入式平臺上的計算能力和計算資源有限都是深度學習在嵌入式平臺上的挑戰。

    CSDN:能否介紹近期您有做過哪些相關的嘗試?

    趙開勇:我藉助NVIDIA最近推出的Jetson TX1平臺開發了一些圖像處理的應用(細節暫時不便公布),採用的算法主要是深度學習中最常用的卷積神經網絡(CNN),它能夠解決圖像處理的大部分問題。CNN的關鍵是卷積層,卷積可以看做是對圖像做濾波提取特徵值,但是需要大量的計算——目前能work的眾多CNN網絡,卷積部分佔了70%以上的計算時間,所以這部分的優化是很有必要的。

    我基於Jetson TX1針對卷積計算做了一些性能上的優化,包括讓CPU、GPU、內存在最高頻率中運行,以及內存優化,就是CPU、GPU內存協同調度。

    GPU優化的考慮,我認為是算法>並行化>硬體特性。除了降低算法複雜度的考慮,並行計算就是空間換時間,重要的兩個方面是更多利用高效的緩存空間,和針對硬體並發特性更高效地利用網絡並發。所有的卷積核可以一起對一張圖片進行卷積運算,分別存儲到不同的位置,這樣不需要多次訪問圖片,但會增加內存的使用量。同時,我們可以把卷積核心和圖像展開,卷積問題轉換成矩陣乘法。相比於矩陣乘法,採用快速傅立葉變換(FFT)可能更快,但FFT會存在精度不足的問題,比如機器人的視覺識別、無人機的避障可能會受到影響。

    在GPU上的優化乘法,需要對硬體架構有比較深入的了解。但是再深入考慮,可以抓住以下幾個點:

    1. 了解IO訪問的情況和IO的性能;

    2. 多線程的並行計算特性;

    3. IO和並行計算間的計算時間重疊。

    NVIDIA的GPU內存訪問的一個特性,連續合併訪問,可以很好地利用硬體的帶寬。從架構來看,優化IO訪問,即使核心數目沒增加多少,架構也沒太大變化,只是在幾個計算流處理器中間增加緩存,就能提高很大的性能。所以說,矩陣乘法的優化,要充分利用GPU裡面的緩存機制,也就是shared memory和register,儘量把多個數據都放到裡面,多次讀寫的速度就會快很多。

經典的GPU內存架構與線程模型

    另外一個技巧,在考慮對A矩陣和B矩陣的訪問時,可以把B矩陣的數據大量放到shared memory裡面,提高shared memory的公用性。

    > Jetson TX1是NVIDIA針對無人機、機器人、智能車載等智能設備領域推出的GPU模塊,基於Tegra X1處理器打造,包括一個基於Maxwell架構、256個CUDA核心、浮點運算能力達到Teraflop級的GPU,64位ARM A57晶片組、4GB LPDDR4 RAM 內存(每秒帶寬速度達25.6Gbps)、16GB本地存儲模塊、802.11 2×2 ac Wi-Fi解決方案以及1Gbps乙太網埠,同時還配備面向視覺計算的Jetson TX1開發者套件。

(Jetson TX1,圖片來自NVIDIA官網)

    CSDN:Jetson TX1能解決您剛才談到的兩個挑戰嗎?有哪些環節,在採用Jetson TX1之前實現起來比較困難?

    趙開勇:其實嵌入式人工智慧應用需要的不僅僅是計算。選擇TX1主要有四個理由:

    1. 計算模塊從I/O擴展開發平臺獨立,TX1的核心板只有卡片大小(50 mm x 87 mm),所以可以很方便做前期的驗證平臺,甚至直接上產品而不需要再做設計。

    2. 性能方面接近1024G flops的F16計算能力,只有10w左右的功耗,完全支持CUDA和cuDNN的接口,可以很方面地把PC上訓練的深度神經網絡直接porting到Tegra X1的嵌入式平臺上。

    3. TX1提供豐富的硬體接口,可以很方面接入各種硬體設備,包括攝像頭、各種傳感器等。

    4. TX1開發者套件利用Linux環境進行了預先快閃記憶體處理,支持許多常見的API,受NVIDIA完整開發工具鏈的支持。此外,NVIDIA的工具對Caffe等主流的深度學習開源軟體支持得很好。

(圖片來自NVIDIA官網)

    談到使用TX1才能做到的,尺寸和功耗的優化無疑是令人激動的,但我最看重還是視覺計算性能——卷積計算的優化對於我們的應用迭代實在太重要了。雖然目前的深度學習硬體類型比較多,但是真正能快速形成戰鬥力的,還是CUDA硬體+CUDA深度學習軟體。GPU架構本身就是一種可編程的並行計算架構,並行計算在70年代就有很多很好的算法。但NVIDIA在核心數量、浮點運算能力、內存等方面的進展,使得GPU性能能夠不斷增長,256核心讓TX1的並行計算能力更好。

    另外很重要的一點,Tegra採用與臺式機一樣的架構,所以個人開發者也可以在臺式機上用更強的遊戲卡(推薦Titan系列)來訓練深度神經網絡,然後很方便地移植到嵌入式平臺上,有利於複雜多維空間圖像信息的快速處理。

    CSDN:您談到性能,也曾預言基於行動裝置的高性能計算將會成為未來潮流,現在Jetson TX1提供Teraflop級的浮點運算能力,在實際測試中的表現符合您的預期嗎?

    趙開勇:預言不用交稅,但技術突破需要很多工作。TX1的計算能力確實達到了Teraflop級別,在一張信用卡大小的系統上實現,為嵌入式智能設備開發者提供了一個很好的平臺,同時我們也看到,目前只是F16的,而很多深度學習或者神經網絡是F32的,所以還有一定的局限性,當然技術會不斷地發展。另一方面TX1的真正的應用還是比較少,雖然NVIDIA在TX1上提供了大量的軟體包,但是在實際生成中大規模的使用TX1的還是太少,還需要更多的人員參與到TX1的應用開發中來,TX1的性能才能真正發揮出來。

    其實NVIDIA在TX1的軟體方面已經提供了大量的支持,因為TX1上使用的是PC級別的GPU架構,可以很方便地把PC上的一些應用直接porting到TX1上來。不過,真正了解如何把深度神經網絡優化到TX1上,還需要更多的人參與。

    對於TX1的性能本身,我認為,嵌入式高性能計算平臺在不久的將來還會有更高的性能,TX1隻是一個起步。

    CSDN:能否談談CPU、GPU內存協同調度的經驗?

    趙開勇:TX1的CPU和GPU其實是共享一片硬體內存,所以在使用的時候,需要注意內存的管理,需要採用高效的內存管理方法來做開發。當然內存調度管理是所有開發平臺都需要注意的事情,只是在TX1可能會體現得更明顯——如果內存調度管理不好,在GPU上實現的高性能應用可能會受到內存制約,使得性能下降很多,在嵌入式平臺上性能就會損失更多。

    前面提到過,想要實現更好的優化,需要了解GPU內部的硬體架構,包括內存架構和線程模型。這方面的入門知識,可以參考我的CSDN博客文章:http://blog.csdn.net/openhero/article/details/42131771

    CSDN:您是否還嘗試過其他類型的嵌入式開發平臺?和Jetson TX1的開發體驗相比有什麼區別?

    趙開勇:嘗試過一些。有的提供更簡單的開發平臺,但是沒有TX1的性能高,很難做出一些真正酷的應用;有的開發難度更大,提供的軟體資源不多。

    CSDN:最近有一些無人駕駛汽車撞人、無人機墜毀的新聞,基於Jetson TX1的開發也有一些安全方面的優勢嗎?

    趙開勇:這其實和硬體關係不大,重要的是開發過程中需要對安全有更高層次的考慮,需要考慮如何結合更多的傳感器,儘量把各種可能性都編寫到程序中,以避免安全事故的發生。

    當然,增加傳感器也需要計算的支持,只有豐富的計算性能和計算資源才能提供各種傳感器融合所需的性能。從這個角度來看,TX1有解決安全問題的優勢,因為這個平臺上有豐富的計算資源,而且在未來的版本中可能會有更高的計算能力。

    CSDN:您認為TX1隻是一個起步,那麼對於它的升級版本的能力,包括編程的支持,您還有哪些期待?

    趙開勇:主要是如下幾個方面:

    1. 更高的性能,更多的功耗,更小的硬體平臺,不需要太多的外圍設備,把核心板做得更小。

    2. 編程方面支持更多的直接從PC移植,更好的工具將PC上開發深度網絡,直接優化到TX1的平臺上。

    3. 提供更多穩定豐富的SDK,在PC上提供相同的開發軟體包,這樣就可以在PC上很快速地開發,然後移植到TX1上。

    小結

    在VR、機器人、無人機、自動駕駛泛濫的時代,將人工智慧技術應用到嵌入式和移動領域的技術趨勢已經不可阻擋,但這些應用的開發,需要計算資源和開發接口、開發工具的支持。從趙開勇的嘗試來看,Jetson TX1平臺具有強大的計算能力,同時提供了豐富的開發資源,以及PC移植的能力,能夠讓開發者更容易地開發出想得到的應用。■

同类文章
DX9不老的神話!盈通7600GS不到500元

DX9不老的神話!盈通7600GS不到500元

    [泡泡網上海站訊]近日,小編從市場了解到來自國內知名板卡製造商盈通旗下的一款7600GS顯卡目前價格小降,只需499元就能購買到這款顯卡,性價比非常不錯,這款顯卡的詳細型號為G7600GS 256M GD3 龍翼,下面讓我們看下這款顯卡的詳細資料。( 參數 報價 評論)    這款顯卡採用G
499元很超值 迪蘭2600PRO黑鑽再到貨

499元很超值 迪蘭2600PRO黑鑽再到貨

    【】迪蘭恆進旗下一款採用256M/DDR3顯存的2600PRO黑鑽版顯卡,自打出499元的超值價位以來,便受到中端用戶的關注,一時成為中端首選的顯卡。499元的低價,相比同價位的通路品牌,性價比更高,這款顯卡日前再度批量到貨,喜歡的朋友趕緊行動了。迪蘭恆進 2600PRO黑鑽版    顯卡採
歲末促銷有新意 1199元8800GS送紅包

歲末促銷有新意 1199元8800GS送紅包

    【】臨近年末,DIY市場迎來08年的第一個高峰,此時,來自國內品牌盈通顯卡為用戶推出了賣顯卡送紅包的超值活動。凡在近期購買盈通G8800GS-384GD3標準版和G8800GS-768GD3標準版的用戶,都將會獲得由盈通提供的利是包。多買多得,送完為止,喜歡盈通8800GS的用戶千萬不要錯過
HTPC利器!藍寶靜音版1.0ns26XT僅699

HTPC利器!藍寶靜音版1.0ns26XT僅699

    [泡泡網上海站訊]HTPC這個概念在國內已經開始被越來越多的用戶所熟知,很多人都開始往家庭娛樂這個路線去發展,做為ATI核心合作夥伴的藍寶石最近推出了一款2600XT靜音版,這款顯卡採用被動式熱管散熱,給用戶提供了一個安靜的使用空間,並且搭配1.0nsDDR3顯存顆粒,在遊戲方面的表現也非常
性能堪比XT!銘瑄1.0ns26PRO僅599元

性能堪比XT!銘瑄1.0ns26PRO僅599元

    [泡泡網上海站訊]自從2600系列上市之後,便一直以其良好的性能和對高清播放完美的支持能力受到很多用戶的親睞,目前市面上的2600系列顯卡的價格也是層出不窮而在低端的基本都以縮水板或者是採用DDR2顯存規格的顯卡居多,近日,小編從市場上了解到銘瑄新到一款2600PRO顯卡,這款顯卡的具體型號
入門新選擇!三接口8400GS 299就拿下

入門新選擇!三接口8400GS 299就拿下

     [泡泡網上海站訊]近日,小編在市場了解到來自國內顯卡製造廠商的銘鑫旗下的一款8400GS顯卡到貨上海,這款顯卡的具體型號為銘鑫視界風魅影版,目前這款顯的市場報價為299元,性價比非常不錯,下面讓我們一起看下這款顯卡的詳細資料。  顯卡及包裝盒特寫    這款顯卡採用非公版設計,在顯示核心方
風扇就值499塊!暴強8800GT上市1999元

風扇就值499塊!暴強8800GT上市1999元

    【】8800GT作為中高端市場的王者產品,一直以來都是用戶關注的焦點。各大廠商也是不斷在為玩家推出更具個性化、高品質的產品,來自通路老大七彩虹旗下的這款8800GT冰封騎士近期剛剛到貨賣場。這款產品配備了優異的思民散熱器VF-1050,豪華四熱管設計;加上強悍的四相供電、優質全固態電容,以及
DX10遊戲必備 無極8800GT寒促超值賣

DX10遊戲必備 無極8800GT寒促超值賣

    【】隨著寒假促銷的到來,近期裝機的用戶也越來越多,在中高端市場,最受用戶關注的依然是8800GT。來自雙敏旗下的這款無極8800GT轉為中高端遊戲玩家打造,上市以來一直深受用戶的關注,今天,這款無極8800GT玩家限量版再度到貨賣場,售價為1999元。雙敏 無極8800GT玩家限量版   
後浪來襲!七彩虹發布ATI全線新顯卡

後浪來襲!七彩虹發布ATI全線新顯卡

   繼2007年底AMD-ATI發布著名的RV670後,在今年的1月底,AMD-ATI又再次發力,一氣推出了幾款新品,不但針對高端推出了最強大的R680,也在中低端方面推出了RV635和RV620,作為AMD-ATI的強有力合作夥伴,國內的顯卡巨頭-七彩虹更在第一時間推出了相應的產品。現在就讓我們
1.2ns/512M/GD3!最強規格86GT僅699

1.2ns/512M/GD3!最強規格86GT僅699

    【】太陽花顯卡不久前推出了一款售價僅有599元的86GT顯卡,在市場受到用戶的關注。今天,旗下一款採用512M顯存的8600GT顯卡打出了699元的超值價格,值得一提的是,這款產品採用了1.2ns/DDR3顯存,更顯超值,近期裝機的用戶很值得考慮。    太陽花這款型號為8600GT/512