本文由半導體産業縱橫(ID:ICVIEWS)綜合
深度學習及其驅動的硬體不斷發展。
深度學習極大地改變了從醫療保健到自動駕駛的各個行業。然而,如果沒有硬體技術的并行發展,這些進步就不可能實作。一起探讨深度學習硬體的演變,重點關注 GPU 和 TPU 以及未來的發展。
GPU 的興起
圖形處理單元在深度學習革命中發揮着關鍵作用。GPU 最初設計用于處理計算機圖形和圖像處理,在執行深度學習核心的矩陣和向量運算方面非常高效。
GPU适合深度學習的原因有以下幾點:
首先,GPU相比于CPU擁有更多獨立的大吞吐量計算通道,較少的控制單元使其不會受到計算以外的更多任務的幹擾,擁有比CPU更純粹的計算環境,是以深度學習和神經網絡模型在GPU的加持下會更高效地完成計算任務。
其次,深度學習的核心是參數學習,各參數之間相對獨立,可以并行處理,而GPU适合邏輯簡單的并行處理。
此外,GPU的架構适合計算密集和資料并行的程式,而深度學習恰好滿足這兩點。
最後,GPU可以提供最佳的記憶體帶寬,并且線程并行帶來的延遲幾乎不會造成影響,這也是GPU适合深度學習的原因之一。
TPU的介紹
張量處理單元(TPU)是一種定制化的 ASIC 晶片,它由谷歌從頭設計,并專門用于機器學習工作負載。TPU 為谷歌的主要産品提供了計算支援,包括翻譯、照片、搜尋助理和 Gmail 等。Cloud TPU 将 TPU 作為可擴充的雲計算資源,并為所有在 Google Cloud 上運作尖端 ML 模型的開發者與資料科學家提供計算資源。
為了比GPU更快,谷歌設計了神經網絡專用處理器TPU,進一步犧牲處理器的通用性,專注于矩陣運算。TPU不再支援各種各樣的應用程式,而是僅僅支援神經網絡所需的大規模的加乘運算。
因為一開始就知道自己要計算的單一矩陣乘過程,TPU直接設計了數千個乘法器和加法器直連的大型實體矩陣。如Cloud TPU v2,包括2個128*128的計算矩陣,相當于32768個ALU。
TPU的計算過程如下:先将參數W從記憶體加載到乘法器和加法器矩陣中,然後,TPU從存儲器加載資料X。在執行每個乘法時,計算的結果将傳遞給下一個乘法器,同時求和。是以,輸出是資料和參數之間所有乘法結果的總和。該過程最大的特點是,在整個海量計算和資料傳遞過程中,不需要記憶體請求。
這種方式既提升了神經網絡的運算效率又節省了功耗,低資源消耗帶來的是低成本,對普通大衆來說就是更加便宜。谷歌自己測算TPU的計算成本大概是非TPU的1/5,在谷歌雲的TPU服務看上去也比較親民。
超越 GPU 和 TPU的未來技術
深度學習硬體的格局正在不斷發展。以下是一些可能塑造未來的新興技術:
FPGA(現場可程式設計門陣列):與 GPU 和 TPU 不同,FPGA 是可程式設計的,并且可以在制造後重新配置,這為特定應用提供了靈活性,它可以根據具體的深度學習模型和算法進行程式設計和配置。FPGA具有并行計算能力,可以快速執行深度學習中大量的矩陣運算和張量操作。在深度學習模型中,這些計算是非常耗時的,但FPGA可以通過硬體級别的并行計算,在同一時間内執行多個計算任務,顯著加速計算速度。
ASIC(專用內建電路):是為特定應用量身定制的,可提供最佳的性能和能源效率。用于深度學習的 ASIC 仍處于早期階段,但在未來的優化方面前景廣闊。
神經形态計算:神經形态計算的想法是從大腦中汲取靈感,設計出融合記憶體和處理能力的計算機晶片。在大腦中,突觸提供對處理資訊的神經元的直接記憶通路。這就是大腦以很少的功耗實作令人印象深刻的計算能力和速度的方式。通過模仿這種架構,神經形态計算為建構智能神經形态晶片提供了一條途徑,該晶片消耗很少的能量,并且計算速度很快。該技術有望大幅降低功耗,同時大幅提高處理效率。
挑戰和未來方向
雖然深度學習硬體的進步令人印象深刻,但它們也面臨着一系列挑戰:
高成本:開發 TPU 和 ASIC 等定制硬體需要大量的研究、開發和制造投資。
軟體相容性:確定新硬體與現有軟體架構無縫協作需要硬體開發人員、研究人員和軟體程式員之間的持續協作。
可持續性:随着硬體變得越來越強大,它也會消耗更多的能源。使這些技術可持續發展對于其長期生存至關重要。
結論
深度學習及其驅動的硬體不斷發展。無論是通過 GPU 技術的改進、TPU 的更廣泛采用,還是神經形态計算等突破性的新技術,深度學習硬體的未來看起來令人興奮且充滿希望。開發人員和研究人員面臨的挑戰是平衡性能、成本和能源效率,以繼續推動能夠改變我們世界的創新。
*聲明:本文系原作者創作。文章内容系其個人觀點,我方轉載僅為分享與讨論,不代表我方贊成或認同,如有異議,請聯系背景。