深度學習算法的突破是新一輪 AI 產業騰飛的開端,但在應用落地過程中,深度學習算法的進展極大依賴算力增長。“研究三年算法不如用 10 倍 GPU”,這樣的算力焦慮正成為業界的普遍困擾。
那么,在面對計算機視覺(CV)、自然語言處理(NLP)、跨媒體分析與推理、自主無人系統等場景時,我們該如何匹配綜合效用最大化的算力?在哪些情況下優先選擇 NVIDIA A100?為此,青云科技推出AI初創加速計劃,在提供4折優惠的同時,也幫助用戶對認識 AI 算力,建立起一個直觀的理解,并提供一個易用、可參考的 GPU 選型框架。
初識 AI 算力:GPU 還是面向未來的主流技術路線嗎?Ampere 架構屬實站在大氣層?
GPU 作為加速器,是實現深度學習算法的通用算力,和針對細分場景定制優化的 FPGA、ASIC 芯片一道,都是傳統“馮·諾依曼”架構的延伸。
GPU 相較 CPU 擁有更多的 ALU,使用 SIMD 并行處理密集型數據。這樣的架構最初被用于圖像數據處理,隨后被發現其具有離散化和分布式特征,可用矩陣運算替代布爾運算,十分適合處理深度學習所需要的非線性離散數據,尤其在進行深度學習算法訓練時非常高效。
緊追 GPU 步伐的是半定制化 FPGA,以及專用定制化 ASIC 芯片。FPGA 是在 PAL、GAL、CPLD 等可編程器件的基礎上進一步發展的產物,本質上通過硬件的配置實現軟件算法,因此適用于以硬件流水線方式處理一條數據,在能耗、性能方面具有明顯優勢,但實現復雜算法的開發成本較高。
ASIC 是 AI 算力走向進一步專用、定制化的產物,定制開發使得 ASIC 具有功耗低、可靠性高、性能高、體積小等特點,也相應的伴隨不可編程、可擴展性差等不足。我們所熟知的 VPU、TPU 都屬于 ASIC 芯片。VPU 專為圖像和視覺處理而定制。Google 專為 TensorFlow 開發的 TPU 運行整體神經網絡模型,減少與 CPU 交互,能在不同場景權衡系統、功耗、性能等問題時,體現出足夠的靈活性。
GPU、FPGA、ASIC 三類算力依舊是延續傳統計算架構、優化硬件計算能力一種體現,差別在于 FPGA 和 ASIC 更面向細分場景、更定制化——新的芯片廠商往往選擇專注細分領域尋求后發先至的可能。而“GPU+CPU”的異構算力將伴隨 AI 的普及走向通用,仍是未來主流發展方向。
提升算力的另一個思路,即對底層計算架構進行革新,采用類腦神經結構來提升計算能力,以 IBM TrueNorth 芯片為代表。
這種模仿生物神經網絡的計算架構被統稱為類腦芯片,用“神經元+突觸”的方式替代傳統“馮·諾依曼”架構體系,除異步、并行計算能力外,還將同時具備自主感知、識別和學習能力。
這種超越深度學習算法、希望在芯片結構和器件層面改變設計的做法將開發出新的類腦計算機體系結構。IBM TrueNorth 芯片、Intel Loihi 芯片、高通 Zeroth“認知計算平臺”都是類腦芯片的典型代表。即使技術尚不成熟,但在愈發逼近摩爾定律極限的今天,類腦芯片的發展將是計算機體系結構革命的機遇。
NVIDIA 作為公認定義了 GPU 的企業,從其 GPU 架構的演進來看,GPU 算力分化為計算和圖形兩條路線,最新的 Ampere 架構正是計算路線巔峰之作。
NVIDIA 現有 GPU 產品路線可分為計算和圖形兩個方向。從歷史來看,NVIDIA 一度自稱“視覺計算企業”,自 G80 GPU 開始,以及后續的 Fermi、Kepler、Maxwell 架構 GPU 產品最初都服務于視覺處理,并牢牢占據游戲市場。
自 2012 年,有人嘗試采用 GPU 來構建和加速深度神經網絡,Kepler、Maxwell、Pascal 架構 GPU 都被越來越廣泛應用在 AI 領域。
伴隨 AI、云計算的高速發展,Volta 成為第一個專門面向計算方向的 GPU 架構,首次使用張量核心(Tensor Cores),相較上一代 Pascal 架構在深度學習場景快 5 倍以上。從此 GPU 算力正式分化為計算和圖形兩條路線。此后推出的 Turing 架構則更側重圖形處理,廣為人知的是該架構帶來了全新的 RTX 系列品牌,并衍生出很多消費級 GPU 圖形卡。
最新的 Ampere 架構正是 GPU 在計算方向的大幅加強,技術突破包括了 7nm 工藝、第三代張量核心(Tensor Cores)、多實例 GPU(MIG)、第三代 NVIDIA NVLink 互聯技術、細粒度結構稀疏性等,這些新技術帶來的新特性組合,使得 Ampere 架構 A100 GPU 在計算方向化身多面手,統一了大數據分析、科學計算、深度學習訓練和推理等主流計算場景。
特別是 A100 GPU 支持彈性構建多功能和高吞吐量的數據中心,顯著降低了數據中心成本,使 A100 GPU 成為云上算力的高性價比選擇。
GPU 多維度選型指南:如何評估 NVIDIA A100 GPU ?
綜合來看,選購 GPU 需要結合業務需求綜合評估張量核心數、內存大小、內存帶寬和浮點計算能力。
張量核心數是影響 GPU 性能的關鍵因素之一,但并不是一貫的第一優先級。例如對比矩陣乘法、卷積運算兩類張量計算,卷積運算受計算速度影響更大,因此更多的張量核心數可以顯著提升 FLOPs。
而對于矩陣乘法來說,將數據復制到顯存比計算數據更耗費資源。因此,特別是對于 LSTM 等處理大量小型矩陣乘法的循環神經網絡,GPU 內存帶寬比張量核心數更加重要。
哪些場景需要重點考慮內存大小呢?在深度學習領域,經過預訓練的模型一般都對內存大小有著較高要求。
在一些涉及大量圖像的領域,如醫學成像、計算機視覺模型、GIS 地理信息等,也需要優先考慮內存大小,GIS 可能還會涉及雙精度浮點計算能力要求。此外,在一些如 Kaggle 競賽、短期實驗場景,以及面臨激烈競爭的初創企業,選擇大內存往往能帶來獨特的優勢。
評估浮點計算能力主要區分科學計算和深度學習。一般而言,深度學習使用 FP32 或 FP16 即可,而科學計算、HPC 普遍需要 FP64 計算能力,如果精度不夠,計算結果的偏差可能會帶來嚴重的問題。
另外,如果需要 GPU 集群訓練大規模神經網絡,數據中心的網絡基礎設施將變得十分重要,高度優化的系統、資源伸縮性、平衡各因素的靈活性等都成為需要評估的要素。
綜合 GPU 場景要求和綜合成本來看,上述選型角度能幫你避免 GPU 某一方面性能成為瓶頸,而如果你的 GPU 使用時間小于兩年,那么云上的 GPU 將是首選。
特別是在 A100 GPU 有效降低了數據中心綜合成本,最新的張量核、大內存和大帶寬、以及全方位精度的加速,統一了深度學習推理訓練、科學計算、大數據分析場景,云上的 A100 GPU 就成為避免性能瓶頸的通用高性價比選項。