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