新四季網

感受Nvidia Jetson TX1的洪荒之力!

2023-07-08 19:20:17 1

    從機器學習說起

    從2015年起國內外就掀起了機器學習、深度學習的熱潮。以google、facebook、BAT等網際網路巨頭廣泛研究應用機器學習以及深度學習技術並在業務方面顯現出了良好的效果,尤其是在語音識別和圖像識別等領域,而AlphaGo戰勝李世石又將大家對機器學習、深度學習的關注推向了新的高峰。現在,在人臉識別、手寫識別、語音識別、語意理解、機器翻譯、無人駕駛騎車,無人機和智慧機器人等代表未來技術的各個領域都有機器學習、深度學習的身影。

    「機器學習是研究讓計算機無需顯式編程即可具有學習能力的學科」(Arthur Samuel,1959)。機器學習以統計學,概率論,組合學和優化理論等為基礎,開發並利用算法來識別數據中的模式,由此來指引決策。以機器學習的分支神經網絡為例,訓練人工神經網絡可以看作尋找並確定最優網絡參數(例如內部網絡權重與傾向),以減小初始數據集上的誤差的函數優化問題。但使用數據來擬合模型是一個時間代價高昂的計算過程,它需要使用不同的參數組合反覆地調用目標函數,計算訓練數據中的每個樣本,其算法的時間複雜度約為O(N^2)或者更高(N表示數據的規模),如此一來反覆計算目標函數佔據了大量執行時間,在這種情況下,可以利用並行計算來縮減運行時間,而並行計算正是GPU的優勢,通過將目標函數的計算等過程映射到能執行上百個並行線程的GPU上,往往可以在不需要配置維護大規模伺服器機群或多機環境的情況下帶來數倍甚至數十倍的性能提升。

    根據前文的介紹,Jetson TX1憑藉其Teraflops級的浮點計算能力和強大的軟體堆棧以及超低得能耗 和嬌小的身軀足以負載特定場合下的中小規模的機器學習的應用和開發,本文將運用神經網絡實現一個經典的異或邏輯來一探Jetson TX1在機器學習領域的洪荒之力。

    異或邏輯的神經網絡實現

    神經網絡是由具有適應性的簡單單元組成的廣泛並行互連的網絡,它的組織能夠模擬生物神經系統對真實世界物體所作出的交互反應。神經網絡中最基本的成分是神經元模型(Neural Model)(又稱Logistic unit)。對於人類而言,我們的視覺聽覺是由大腦的神經中樞產生。而神經中樞是由大量的神經元相互連接而成。一個神經元通過樹突接受其他神經元傳來的化學物質(信息),從而改變該神經元的電位,當電位到達某一闕值(threshold)時,該神經元被激活,即「興奮」起來,從而通過軸突向其他神經元發送化學物質,如圖1所示。

生物神經系統中的神經元模型

    人工神經元模型便是模擬上述的神經元接受信息並傳遞信息的過程。如圖2所示,人工神經元接收來自n個其他人工神經元傳遞過來的輸入信號,這些輸入信號通過帶權重的連接進行傳遞,人工神經元將接收到的總輸入值與人工神經元的闕值進行比較,再通過激活函數(activation function)處理以產生神經元的輸出。

人工神經網絡中的神經元模型

    由於我們需要實現的異或邏輯並不是線性可分的問題,所以為了實現異或邏輯,我們需要使用神經元搭建含有隱藏層的神經網絡,其由三部分組成,分別是輸入層(input layer),隱藏層(hide layer)和輸出層(output layer),如圖3所示。

一個含有隱藏層的神經網絡示意

    如上圖所示,除了需要大量彼此連接的節點 (即神經元),神經網絡還需要具備以下特性:

    1.激活函數,每個神經元根據激活函數,通過計算處理來自其它相鄰神經元的加權輸入值。

    2.連接權重,它定義神經元之間的信息傳遞的強度,算法會依靠大量的數據來訓練,不斷自我調整連接權重。

    3.成本函數,用來定量評估計算出來的輸出結果於真實值的偏離程度。

    4.學習的算法,這是根據成本函數的結果, 自學, 糾錯, 最快地找到神經元之間最優化的加權值。

    在學習算法方面,目前,有許多流行的庫、工具和算法可以用來計算針對多變量函數的最優擬合,同時網際網路上也有很多免費許可的數值工具和代碼供我們使用,本文將選擇使用Nelder-Mead方法,NM方法是一種常見的直接搜索型非線性優化方法,我們可以在網際網路上找到John Burkhardt創建的一個免費的C語言實現,在這裡,我們只需要進行一些細微的調整,就可以用在本次的代碼中。

    編寫完代碼後,我們可以選擇直接在HOST電腦中編譯生成可執行文件,如下圖所示。

在HOST電腦上直接編譯生成可執行文件

    或可以將源碼文件直接同步到Jetson TX1,然後在其命令行中通過命令編譯生成可執行文件,如下圖所示。

在Jetson TX1上直接編譯生成可執行文件

    這裡需要注意的是,用戶開發的一些項目可能會用到第三方的庫或者工具,如Lapack和Levmar等,如果選擇在HOST電腦上完成編譯,只需要在HOST電腦上安裝配置所需的庫和工具,如果用戶需要在Jetson TX1上直接編譯生成項目,那麼同時也需要在Jetson TX1上安裝配置對應的庫和工具。

    程序執行結果和性能

    項目成功生成之後,使用「./」在Jetson TX1命令行中運行,得到如下結果:

Jetson TX1異或邏輯單精度運行結果

Jetson TX1異或邏輯雙精度運行結果

GeForce GT650M異或邏輯單精度運行結果

GeForce GT650M異或邏輯雙精度運行結果

Core i7-3630QM異或邏輯雙精度運行結果

    Jetson TX1運行異或邏輯單精度共用時174.12秒,處理完成0.48GB數據;雙精度共用時636.05秒,處理完成0.96GB數據,而與此同時,筆者在筆記本電腦上使用GeForce GT650M運行異或邏輯處理相同數據量單精度共用時201.02秒,雙精度共用時435.69秒,而在Core i7-3630QM CPU上運行類似雙精度代碼共用時5204.50秒,由此也可以看出Jetson TX1與筆記本電腦相比帶來的性能的提升尤其是GPU與CPU相比帶來的性能提升;同時在這裡引用其他人在單路至強E5630上運行類似算法時的平均目標函數運行時間數據:單精度 0.45秒,雙精度 0.54秒;而對應的Jetson TX1的數據則為0.03秒和0.18秒,與單路至強E5630相比,分別由15倍和3倍的加速。僅使用一個嵌入式開發板就能達到這樣的性能水平還是十分令人驚訝。

異或邏輯總運行時間對比(單位:秒)

平均目標函數運行時間對比(單位:秒)

    本次開發的一些體驗

    Jetson TX1的性能令人驚訝

    在本次的項目示例中,峰值功耗僅10W的Jetson TX1在性能上完勝了筆者搭載core i7處理器的筆記本電腦,並在類比的數據中,領先於單路E5630,令筆者更深刻的體會到了其1Teraflops計算能力帶來的時間效率提升。作為一塊嵌入式開發板,確實令人映像深刻。

    NVIDIA CUDA提供的示例代碼對實際項目的開發幫助很大

    由於本次項目中使用了OpenMP中的部分函數,所以在編譯時需要配置專門的參數,如-fopenmp等,而NVIDIA CUDA 示例代碼cudaOpenMP中的Makefile示例給筆者提供了極大的幫助,參考其修改本次項目中的Makefile以完成項目的成功編譯生成。■

同类文章
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