AI運算指以“深度學習” 為代表的神經網絡算法,需要系統能夠高效處理大量非結構化資料(文本、視訊、圖像、語音等)。需要硬體具有高效的線性代數運算能力,計算任務具有:機關計算任務簡單,邏輯控制難度要求低,但并行運算量大、參數多的特點。對于晶片的多核并行運算、片上存儲、帶寬、低延時的訪存等提出了較高的需求。
AI應用場景的豐富帶來衆多碎片化的需求,基于此适配各種功能的處理器不斷衍生。
CPU
CPU即中央處理器(Central Processing Unit),作為計算機系統的運算和控制核心,主要負責多任務管理、排程,具有很強的通用性,是計算機的核心上司部件,好比人的大腦。不過其計算能力并不強,更擅長邏輯控制。
正是因為CPU的并行運算能力不是很強,是以很少有人優先考慮在 CPU 上直接訓練模型。不過晶片巨頭英特爾就選擇了這麼一條路。
像英特爾至強可擴充處理器這種 AI build-in 的 CPU 在支援模型訓練上已經有了極大地提升,去年由萊斯大學、螞蟻集團和英特爾等機構的研究者發表的一篇論文中表明,在消費級 CPU 上運作的 AI 軟體,其訓練深度神經網絡的速度是 GPU 的 15 倍,另外相比顯存 CPU 的記憶體更易擴充,很多推薦算法、排序模型、圖檔 / 影像識别等應用,已經在大規模使用 CPU 作為基礎計算裝置。
相比價格高昂的 GPU,CPU 其實是一種成本效益很高的訓練硬體,也非常适合對結果準确度要求高兼顧成本考量的制造業、圖像處理與分析等行業客戶的深度學習模型。
GPU
GPU即圖形處理器(Graphics Processing Unit),采用數量衆多的計算單元和超長的流水線,擅長進行圖像處理、并行計算。
對于複雜的單個計算任務來說,CPU 的執行效率更高,通用性更強;而對于圖形圖像這種矩陣式多像素點的簡單計算,更适合用 GPU 來處理,也有人稱之為人海戰術。而AI 領域中用于圖像識别的深度學習、用于決策和推理的機器學習以及超級計算都需要大規模的并行計算,是以更适合采用 GPU 架構。
多核 CPU 與 GPU 的計算網格(圖中綠色方格為計算單元)
CPU和GPU還有一個很大的差別就是:CPU可單獨作用,處理複雜的邏輯運算和不同的資料類型,但當需要處理大量類型統一的資料時,則可調用GPU進行并行計算。但GPU無法單獨工作,必須由CPU進行控制調用才能工作。
在AI計算領域英偉達的GPU幾乎占到市場的絕大部分,但近幾年也有不少國産企業進軍高端GPU,比如沐曦首款采用7nm工藝的異構GPU産品已流片、壁仞前不久也釋出了單晶片峰值算力達到PFLOPS級别的BR100,還有燧原科技、黑芝麻、地平線等公司都在向高端GPU發力。
DPU
DPU即資料處理器(Data Processing Unit),用于優化卷積神經網絡,廣泛應用于加速深度學習推理算法。
當CPU算力釋放遇瓶頸,DPU能夠解除安裝 CPU 的基礎層應用(如網絡協定處理、加密解密、資料壓縮等),進而釋放CPU低效應用端的算力,将CPU算力集中在上層應用。差別于GPU,DPU主要用于對資料解析與處理,提高資料接發的效率,而GPU則是專注于資料的加速計算。是以,DPU将有望成為釋放CPU算力新的關鍵晶片,并與CPU、GPU形成優勢互補,提高算力天花闆。
DPU還具有高性能網絡接口,能以線速或網絡中的可用速度解析、處理資料,并高效地将資料傳輸到GPU和CPU。
英偉達收購Mellanox後,憑借原有的ConnectX系列高速網卡技術,推出其 BlueField系列DPU,成為DPU賽道的标杆。英偉達首席執行官黃仁勳也曾表示:“ DPU 将成為未來計算的三大支柱之一,未來的資料中心标配是‘ CPU + DPU + GPU ’。CPU 用于通用計算, GPU 用于加速計算, DPU 則進行資料處理。”
當下的DPU的市場,已經成為各個巨頭和初創公司的必争之地,除英偉達等企業開始布局DPU産業外,阿裡巴巴、華為在内的各大雲服務商也逐漸跻身DPU行業。其他還有芯啟源、大禹智芯、星雲智聯、中科馭數、雲豹智能等公司。
TPU
TPU即張量處理器(Tensor Processing Unit)是谷歌專門為加速深層神經網絡運算能力而研發的ASIC 晶片,專用機器學習的人工智能加速處理器。
AI 系統通常涉及訓練和推斷過程。簡單來說,訓練過程是指在已有資料中學習,獲得某些能力的過程;而推理過程則是指對新的資料,使用這些能力完成特定任務(比如分類、識别等);推理是将深度學習訓練成果投入使用的過程。
有老話言,萬能工具的效率永遠比不上專用工具。TPU與同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。此外,在 TPU 中采用 GPU 常用的 GDDR5 存儲器能使性能TPOS名額再高 3 倍,并将能效比名額 TOPS/Watt 提高到 GPU 的 70 倍,CPU 的 200 倍。
2016年 TPU 消息剛剛公布時,谷歌資深硬體工程師Norman Jouppi 在谷歌Research 部落格中特别提到,TPU 從測試到量産隻用了 22 天,其性能把人工智能技術往前推進了差不多 7 年,相當于摩爾定律 3 代的時間。
IPU
IPU即圖像處理單元(Intelligent Processing Unit),可以從圖像傳感器到顯示裝置的資料流提供全面支援,連接配接到相關裝置,比如:錄影機、顯示器、圖形加速器、電視編碼器和解碼器。相關圖像處理與操作包括傳感器圖像信号處理、顯示處理、圖像轉換等,以及同步和控制功能。 采用的是大規模并行同構衆核架構,同時将訓練和推理合二為一,為AI計算提供了全新的技術架構,兼具處理二者工作的能力。
IPU是英國AI晶片創業公司Graphcore率先提出的概念,Graphcore的第一代IPU如今已在微軟Azure雲以及Dell-EMC伺服器中使用,為AI算法帶來了飛躍性的性能提升,也為開發者帶來更廣闊的創新空間及更多創新機會。
目前,IPU正在成為僅次于GPU和谷歌TPU的第三大部署平台,基于IPU的應用已經覆寫包括自然語言處理、圖像/視訊處理、時序分析、推薦/排名及機率模型等機器學習的各個應用場景。
2021年,英特爾推出了IPU技術,近日又和谷歌共同設計了新型定制基礎設施處理單元(IPU)晶片 E2000 ,代号為“Mount Evans”,以降低資料中心主 CPU 負載,并更有效和安全地處理資料密集型雲工作負載。
NPU
CPU和GPU的制造成本較高,功耗也比較大,加之AI場景下需要運算的資料量與日俱增,一種針對神經網絡深度學習的高效智能處理器應運而生,也就是NPU。
NPU即神經網絡處理器(Neural network Processing Unit),它是用電路模拟人類的神經元和突觸結構。用于加速神經網絡的運算,解決傳統晶片在神經網絡運算時效率低下的問題,特别擅長處理視訊、圖像類的海量多媒體資料。
與CPU、GPU處理器運作需要的數千條指令相比,NPU隻要一條或幾條就能完成,且在同等功耗下NPU 的性能可以達到 GPU 的 118 倍,是以在深度學習的處理效率方面優勢明顯。NPU 目前較多地在端側應用于 AI 推理計算,在雲端也有大量運用于視訊編解碼運算、自然語言處理、資料分析,部分NPU還能運用于 AI 的訓練。
比如在手機SoC中,CPU是負責計算和整體協調的,而GPU是負責和圖像有關的部分,NPU負責和AI有關的部分,其工作流程則是,任何工作都要先通過CPU,CPU再根據這一塊工作的性質來決定配置設定給誰。如果是圖形方面的計算,就會配置設定給GPU,如果是AI方面的計算需求,就配置設定給NPU。
NPU具體的應用有:基于人臉識别的考勤機、基于 DHN(深度哈希網絡)的掌紋識别、基于圖像分類的自動垃圾分類、自動駕駛汽車、自動跟焦錄影機、監視系統等。
2014年中科院的陳天石科研團隊發表了 DianNao 系列論文,随即席卷了體系結構界,開啟了專用人工智能晶片設計的先河,後來中科院旗下的寒武紀科技推出了其第一代 NPU 寒武紀 1A,并用在了華為麒麟 970 晶片中,華為也推出了自研的基于 DaVince 架構的 NPU ,阿裡則推出了“含光”架構的 NPU 。
随着晶片構造方式的變化,大量異構處理器方案也不斷衍生,每個晶片都對處理器性能、優化目标、所需的資料吞吐量以及資料流做出了不同的選擇。在這幾大類處理器晶片中,IPU與DPU發展速度領先。随着5G邊緣雲、自動駕駛和車路協同、金融計算等帶來越來越多的資料量,各種“X”PU的市場價值都在不斷攀升。