為什麼用GPU訓練深度神經網絡?

GPU,即圖形處理器,目前主要作為顯卡的計算核心,主要解決圖形渲染問題。圖形渲染需要將大量的3D 座標轉化為2D 顯示器上的座標,需要執行大量計算來確定每個像素的顏色,還要處理大量內存緩衝,並描述每一個需要被渲染的對象的紋理的位圖信息。因此,圖形渲染的實質是大量數據的快速並行計算,具有高並行度以及高吞吐量特性的處理器,才能實現對圖形問題的快速解決。

為什麼用GPU訓練深度神經網絡?

與CPU相比,GPU 擁有更多的算數單元。CPU 雖然有多核,但總數沒有超過兩位數,每個核都有足夠大的緩存和足夠多的數字和邏輯運算單元,並輔助有很多加速分支判斷甚至更復雜的邏輯判斷的硬件;GPU 的核數遠超CPU,被稱為眾核(NVIDIA Fermi有512 個核)。每個核擁有的緩存大小相對小,數字邏輯運算單元也少而簡單。

為什麼用GPU訓練深度神經網絡?

深度學習是人工神經網絡算法的進一步發展。人類的思維是從知覺的抽象-歸納-概括開始,先形成低層級的抽象概念,在此基礎上進行逐級抽象,最終形成低級-中級-高級的抽象鏈。深度學習通過分層結構,用低層次特徵的組合形成更加抽象的高層次特徵或屬性,從輸入的海量數據中自發地總結出規律,舉一反三泛化至從未見過的案例中,從而推動了人工智能發展的浪潮。

為什麼用GPU訓練深度神經網絡?

從對芯片要求上來看,深度學習涉及大量參數、激活值、梯度值的緩衝區,其每個值在每一次訓練迭代中都要被完全更新,對計算和吞吐能力的需求非常高。由於具有簡便的編程模型、強並行能力和高顯存帶寬,通用GPU成為訓練深度神經網絡的理想平臺。


分享到:


相關文章: