早期的機器學(xué)習(xí)是基于搜索的,主要依賴于經(jīng)過一些優(yōu)化的蠻力方法。但隨著機器學(xué)習(xí)的成熟,它專注于加速成熟的統(tǒng)計方法和優(yōu)化問題。深度學(xué)習(xí)也出現(xiàn)了,它找到了一個不太可能的優(yōu)化來源。在這里,我們將了解現(xiàn)代機器學(xué)習(xí)如何找到新方法來帶來規(guī)模和速度。
人工智能的轉(zhuǎn)變
在本系列的第 1 部分中,我們探討了 AI 的一些歷史以及從 Lisp 到現(xiàn)代編程語言和深度學(xué)習(xí)等計算智能新范式的旅程。我們還討論了依賴于優(yōu)化搜索形式的早期人工智能應(yīng)用、在海量數(shù)據(jù)集上訓(xùn)練的現(xiàn)代神經(jīng)網(wǎng)絡(luò)架構(gòu),以及解決十年前認為不可能解決的問題。今天的重點是雙重的;進一步加速這些應(yīng)用程序并將它們限制在智能手機等功率優(yōu)化環(huán)境中。
今天大多數(shù)加速的重點是深度學(xué)習(xí)。深度學(xué)習(xí)是一種神經(jīng)網(wǎng)絡(luò)架構(gòu),它依賴于許多層次的神經(jīng)網(wǎng)絡(luò),其中層可以支持不同的特征檢測功能。這些深度神經(jīng)網(wǎng)絡(luò)依賴于可以輕松受益于并行性的向量運算。這些架構(gòu)代表了神經(jīng)網(wǎng)絡(luò)層的分布式計算以及層內(nèi)許多神經(jīng)元的并行計算的機會。
使用 GPU 加速機器學(xué)習(xí)
加速深度學(xué)習(xí)應(yīng)用程序的不太可能的來源是圖形處理單元或 GPU。GPU 是一種特殊設(shè)備,用于加速輸出到顯示設(shè)備的幀緩沖區(qū)(內(nèi)存)的構(gòu)建。GPU 卸載幀緩沖區(qū)中的圖像渲染,而不是依賴處理器來執(zhí)行此操作。GPU 由數(shù)千個獨立內(nèi)核組成,這些內(nèi)核并行運行并執(zhí)行特定類型的計算,例如矢量數(shù)學(xué)。盡管最初的 GPU 專為視頻應(yīng)用而設(shè)計,但人們發(fā)現(xiàn)它們還可以加速科學(xué)計算中的運算,例如矩陣乘法。
GPU 供應(yīng)商樂于提供 API,允許開發(fā)人員將 GPU 處理集成到他們的應(yīng)用程序中,但這項工作也可以通過適用于各種不同環(huán)境的標準包來完成。R 編程語言和環(huán)境包括與 GPU 配合使用以加速處理的包,例如gputools、gmatrix和gpuR。GPU 也可以通過各種庫(例如numba包或Theano )與 Python 一起使用。
這些軟件包使任何有意使用它們的人都可以使用 GPU 加速機器學(xué)習(xí)。但更專業(yè)的方法也在路上。2019 年,英特爾?以 20 億美元的價格收購了 Habana Labs。Habana Labs 為服務(wù)器中的各種機器學(xué)習(xí)加速器開發(fā)了定制芯片。在此之前,2017 年以 150 億美元的價格收購了 Mobileye 的自動駕駛芯片技術(shù)。
定制硅和說明
除了服務(wù)器和臺式機中的 GPU 加速之外,機器學(xué)習(xí)加速器正在超越傳統(tǒng)平臺,進入功率受限的嵌入式設(shè)備和智能手機。這些加速器采用多種形式,從 U 盤、API 到智能手機神經(jīng)網(wǎng)絡(luò)加速器,以及用于深度學(xué)習(xí)加速的矢量指令。
智能手機的深度學(xué)習(xí)
深度學(xué)習(xí)工具包已經(jīng)從 PC 發(fā)展到適用于更受限網(wǎng)絡(luò)的智能手機。TensorFlow Lite 和 Core ML 等框架已經(jīng)部署在移動設(shè)備上用于機器學(xué)習(xí)應(yīng)用程序。Apple ?最近發(fā)布了 A12 仿生芯片,其中包含一個 8 核神經(jīng)網(wǎng)絡(luò)引擎,用于開發(fā)更節(jié)能的神經(jīng)網(wǎng)絡(luò)應(yīng)用程序。這將擴展 Apple 智能手機上的深度學(xué)習(xí)應(yīng)用程序。
Google 為 Android ? 8.1 發(fā)布了具有機器學(xué)習(xí)功能的神經(jīng)網(wǎng)絡(luò) API (NNAPI)。這些在 Google Lens 應(yīng)用程序的自然語言處理和圖像識別環(huán)境中用于 Google Assistant。NNAPI 類似于其他深度學(xué)習(xí)工具包,但專為 Android 智能手機環(huán)境及其資源限制而構(gòu)建。
深度學(xué)習(xí) USB
英特爾發(fā)布了其神經(jīng)計算棒的更新版本,以 USB 棒的形式加速深度學(xué)習(xí)應(yīng)用程序。這可以被各種機器學(xué)習(xí)框架使用,例如 TensorFlow、Caffe 和 PyTorch。當 GPU 不可用時,該設(shè)備是一個有趣的選擇,而且還允許深度學(xué)習(xí)應(yīng)用程序的快速原型設(shè)計。
深度學(xué)習(xí)說明
最后,雖然機器學(xué)習(xí)計算已從 CPU 轉(zhuǎn)移到 GPU,但英特爾已使用新指令優(yōu)化其至強指令集以加速深度學(xué)習(xí)。這些稱為 AVX-512 擴展的新指令(稱為向量神經(jīng)網(wǎng)絡(luò)指令或 VNNi)提高了卷積神經(jīng)網(wǎng)絡(luò)操作的吞吐量。
概括
GPU 在機器學(xué)習(xí)中的應(yīng)用創(chuàng)造了為各種應(yīng)用程序構(gòu)建和部署大規(guī)模深度神經(jīng)網(wǎng)絡(luò)的能力。機器學(xué)習(xí)框架使構(gòu)建深度學(xué)習(xí)應(yīng)用程序變得簡單。但也不甘示弱,智能手機供應(yīng)商已經(jīng)為受限應(yīng)用程序集成了節(jié)能的神經(jīng)網(wǎng)絡(luò)加速器(以及用于自定義應(yīng)用程序使用的 API)?,F(xiàn)在也可以找到其他加速器來卸載到 USB 硬件,許多新的初創(chuàng)公司正在挖掘這個加速器空間以用于未來的機器學(xué)習(xí)應(yīng)用程序。
審核編輯hhy
-
gpu
+關(guān)注
關(guān)注
28文章
4948瀏覽量
131259 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134635 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5561瀏覽量
122800
發(fā)布評論請先 登錄
GPU架構(gòu)深度解析

ARM Mali GPU 深度解讀
SLAMTEC Aurora:把深度學(xué)習(xí)“卷”進機器人日常
深度學(xué)習(xí)工作負載中GPU與LPU的主要差異

評論