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