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

ARM Mali GPU 深度解讀
深度學(xué)習(xí)工作負(fù)載中GPU與LPU的主要差異

評論