【AI晶片】AI 需要一個多大的“心臟”?
作者:kevinxiaoyu,高階研究員,隸屬騰訊TEG-架構平臺部,主要研究方向為深度學習異構計算與硬體加速、FPGA雲、高速視覺感知等方向的構架設計和優化。“深度學習的異構加速技術”系列共有三篇文章,主要在技術層面,對學術界和工業界異構加速的構架演進進行分析。
一、概述:通用=低效
作為通用處理器,CPU (Central Processing Unit) 是計算機中不可或缺的計算核心,結合指令集,完成日常工作中多種多樣的計算和處理任務。然而近年來,CPU在計算平臺領域一統天下的步伐走的並不順利,可歸因於兩個方面,即自身約束和需求轉移。
(1)自身約束又包含兩方面,即半導體工藝,和儲存頻寬瓶頸。
一方面,當半導體的工藝製程走到7nm後,已逼近物理極限,摩爾定律逐漸失效,導致CPU不再能像以前一樣享受工藝提升帶來的紅利:通過更高的工藝,在相同面積下,增加更多的計算資源來提升效能,並保持功耗不變。為了追求更高的效能,更低的功耗,來適應計算密集型的發展趨勢,更多的設計通過降低通用性,來提升針對某一(或某一類)任務的效能,如GPU和定製ASIC。
另一方面,CPU核心的計算過程需要大量資料,而片外DDR不僅頻寬有限,還具有較長的訪問延遲。片上快取可以一定程度上緩解這一問題,但容量極為有限。Intel通過資料預讀、亂序執行、超執行緒等大量技術,解決頻寬瓶頸,儘可能跑滿CPU,但複雜的排程設計和快取佔用了大量的CPU矽片面積,使真正用來做運算的邏輯,所佔面積甚至不到1%[1]。同時,保證程式對之前產品相容性的約束,在一定程度上制約了CPU構架的演進。
(2)需求轉移,主要體現在兩個逐漸興起的計算密集型場景,即雲端大資料計算和深度學習。尤其在以CNN為代表的深度學習領域,準確率的提升伴隨著模型深度的增加,對計算平臺的效能要求也大幅增長,如圖1所示[2]。相比於CPU面對的通用多工計算,深度學習計算具有以下特點:任務單一,計算密度大,較高的資料可複用率。對計算構架的要求在於大規模的計算邏輯和資料頻寬,而不在於複雜的任務排程,因此在CPU上並不能跑出較好的效能。
圖1.1 深度學習的發展趨勢:更高精度與更深的模型,伴隨著更高的計算能力需求。
基於上述原因,CPU構架在深度學習、大資料分析,以及部分嵌入式前端應用中並不具備普適性,此時,異構計算開始進入人們的視野。本文主要針對深度學習的計算構架進行討論。
在討論之前,先上一張經典的類比圖:分別以“可程式設計能力/靈活性”和“開發難度/定製性/計算效率/能耗”為橫軸和縱軸,將CPU與當前主流異構處理器,如GPU、FPGA、專用ASIC等進行比較。
圖1.2 計算平臺選擇依據
通過前文分析可知,CPU最大限度的靈活性是以犧牲計算效率為代價。GPU將應用場景縮減為圖形影象與海量資料平行計算,設計了數千計算核心,有效的提升了矽片上計算邏輯的比例,但隨之而來的頻寬需求也是相當恐怖的。為了解決這一問題,一方面,為了保證通用性,相容低資料複用的高頻寬場景,GPU內部設計了大量分散式快取;另一方面,GPU的視訊記憶體始終代表了當前可商用化儲存器的最新成果。視訊記憶體採用的DDR始終領先伺服器記憶體1~2代,併成為業界首先使用HBM的應用。因此,相比於CPU,GPU具備更高的計算效能和能耗比,但相對的通用性和頻寬競爭使其能耗比依然高於FPGA和ASIC,並且效能依賴於優化程度,即計算模型和資料排程要適配GPU的底層架構。
FPGA和ASIC則更傾向於針對某一特定應用。無疑,專用ASIC具有最高的計算效率和最低的功耗,但在架構、設計、模擬、製造、封裝、測試等各個環節將消耗大量的人力和物力。而在深度學習模型不斷湧現的環境下,當尚未出現確定性應用時,對CNN、RNN中的各個模型分別進行構架設計甚至定製一款獨立ASIC是一件非常奢侈的事情,因此在AI處理器的設計上,大家的做法逐漸一致,設計一款在AI領域具備一定通用性的FPGA/ASIC構架,稱為領域處理器。使其可以覆蓋深度學習中的一類(如常見CNN模型),或多類(如CNN+RNN等)。
二、嵌入式VS雲端,不同場景下,AI處理器的兩個選擇
2.1 AI處理器的發展和現狀
伴隨著深度學習模型的深化和算力需求的提升,從學術界興起的AI處理器方案已經迅速蔓延到工業界。目前,各大網際網路、半導體、初創公司的方案主要分為雲端、嵌入式端兩類(或稱為雲側和端側),可歸納如表1.1所示若感興趣可轉到唐杉同學維護的列表:(basicmi.github.io/Deep-Learning-Processor-List/)
表1.1 深度學習處理器方案列表
圖1.3 AI處理器的發展和設計目標
AI處理器的發展過程如圖1.3所示。在早期,對AI處理器架構的探討源於學術界的半導體和體系架構領域,此時模型層數較少,計算規模較小,算力較低,主要針對場景為嵌入式前端;隨著模型的逐漸加深,對算力的需求也相應增加,導致了頻寬瓶頸,即IO問題(頻寬問題的成因詳見2.2節),此時可通過增大片內快取、優化排程模型來增加資料複用率等方式解決;當雲端的AI處理需求逐漸浮出水面,多使用者、高吞吐、低延遲、高密度部署等對算力的需求進一步提升。計算單元的劇增使IO瓶頸愈加嚴重,要解決需要付出較高代價(如增加DDR介面通道數量、片內快取容量、多晶片互聯等),制約了處理器實際應用。此時,片上HBM(High Bandwidth Memory,高頻寬儲存器)的出現使深度學習模型完全放到片上成為可能,整合度提升的同時,使頻寬不再受制於晶片引腳的互聯數量,從而在一定程度上解決了IO瓶頸,使雲端的發展方向從解決IO頻寬問題,轉向解決算力伸縮問題。
到目前為止,以HBM/HMC的應用為標誌,雲端高效能深度學習處理器的發展共經歷了兩個階段:
1.第一階段,解決IO頻寬問題;
2.第二階段,解決算力伸縮問題。
2.2 頻寬瓶頸
第一階段,囊括了初期的AI處理器,以及至今的大部分嵌入式前端的解決方案,包括第一代TPU、目前FPGA方案的相關構架、寒武紀ASIC構架,以及90%以上的學術界成果。欲達到更高的效能,一個有效的方法是大幅度提升計算核心的並行度,但算力的擴張需要匹配相應的IO頻寬。例如,圖1.4中的1個乘加運算單元若執行在500MHz的頻率下,每秒需要4GB的資料讀寫頻寬;一個典型的雲端高效能FPGA(以Xilinx KU115為例)共有5520個DSP,跑滿效能需要22TB的頻寬;而一條DDR4 DIMM僅能提供19.2GB的頻寬(上述分析並不嚴謹,但不妨礙對頻寬瓶頸的討論)。因此在第一階段,設計的核心是,一方面通過共享快取、資料呼叫方式的優化等方式提升資料複用率,配合片上快取,減少從片外儲存器的資料載入次數。另一方面通過模型優化、低位寬量化、稀疏化等方式簡化模型和計算。
圖1.4 一個乘加單元及其頻寬計算(累加值通常與輸出共用,故未計入頻寬)
2.3 算力伸縮
儘管片上分佈的大量快取能提供足夠的計算頻寬,但由於儲存結構和工藝制約,片上快取佔用了大部分的芯片面積(通常為1/3至2/3),限制了算力提升下快取容量的同步提升,如圖1.5所示。
圖1.5 晶片中片上快取的規模,上圖為Google第一代TPU,藍色部分為快取區域,佔用芯片面積的37%;下圖為寒武紀公司的DiaoNao AI ASIC設計,快取佔面積的66.7%(NBin+NBout+SB)。
而以HBM為代表的儲存器堆疊技術,將原本一維的儲存器佈局擴充套件到三維,大幅度提高了片上儲存器的密度,如圖1.6所示,標誌著高效能AI處理器進入第二階段。但HBM的需要較高的工藝而大幅度提升了成本,因此僅出現在網際網路和半導體巨頭的設計中。HBM使片上快取容量從MB級別提升到GB級別,可以將整個模型放到片上而不再需要從片外DDR中載入;同時,堆疊儲存器提供的頻寬不再受限於晶片IO引腳的制約而得到50倍以上的提升,使頻寬不再是瓶頸。此時,設計的核心在於高效的計算構架、可伸縮的計算規模、和分散式計算能力,以應對海量資料的訓練和計算中的頻繁互動。
圖1.6 HBM與片內垂直堆疊技術
目前AI構架已從百家爭鳴,逐漸走向應用。
[1] 王逵, “CPU和GPU雙低效,摩爾定律之後一萬倍 ——寫於TPU版AlphaGo重出江湖之際”,新智元,2017.
[2] Jeff Dean, "Keynote: Recent Advances in Artificial Intelligence via Machine Learning and the Implications for Computer System Design", Hotchips2017, 2017.
人工智慧賽博物理作業系統
AI-CPS OS
“人工智慧賽博物理作業系統”(新一代技術+商業作業系統“AI-CPS OS”:雲端計算+大資料+物聯網+區塊鏈+人工智慧)分支用來的今天,企業領導者必須瞭解如何將“技術”全面滲入整個公司、產品等“商業”場景中,利用AI-CPS
OS形成數字化+智慧化力量,實現行業的重新佈局、企業的重新構建和自我的煥然新生。
AI-CPS OS的真正價值並不來自構成技術或功能,而是要以一種傳遞獨特競爭優勢的方式將自動化+資訊化、智造+產品+服務和資料+分析一體化,這種整合方式能夠釋放新的業務和運營模式。如果不能實現跨功能的更大規模融合,沒有顛覆現狀的意願,這些將不可能實現。
領導者無法依靠某種單一戰略方法來應對多維度的數字化變革。面對新一代技術+商業作業系統AI-CPS OS顛覆性的數字化+智慧化力量,領導者必須在行業、企業與個人這三個層面都保持領先地位:
-
重新行業佈局:你的世界觀要怎樣改變才算足夠?你必須對行業典範進行怎樣的反思?
-
重新構建企業:你的企業需要做出什麼樣的變化?你準備如何重新定義你的公司?
-
重新打造自己:你需要成為怎樣的人?要重塑自己並在數字化+智慧化時代保有領先地位,你必須如何去做?
AI-CPS OS是數字化智慧化創新平臺,設計思路是將大資料、物聯網、區塊鏈和人工智慧等無縫整合在雲端,可以幫助企業將創新成果融入自身業務體系,實現各個前沿技術在雲端的優勢協同。AI-CPS OS形成的數字化+智慧化力量與行業、企業及個人三個層面的交叉,形成了領導力模式,使數字化融入到領導者所在企業與領導方式的核心位置:
-
精細:這種力量能夠使人在更加真實、細緻的層面觀察與感知現實世界和數字化世界正在發生的一切,進而理解和更加精細地進行產品個性化控制、微觀業務場景事件和結果控制。
-
智慧:模型隨著時間(資料)的變化而變化,整個系統就具備了智慧(自學習)的能力。
-
高效:企業需要建立實時或者準實時的資料採集傳輸、模型預測和響應決策能力,這樣智慧就從批量性、階段性的行為變成一個可以實時觸達的行為。
-
不確定性:數字化變更顛覆和改變了領導者曾經仰仗的思維方式、結構和實踐經驗,其結果就是形成了複合不確定性這種顛覆性力量。主要的不確定性蘊含於三個領域:技術、文化、制度。
-
邊界模糊:數字世界與現實世界的不斷融合成CPS不僅讓人們所知行業的核心產品、經濟學定理和可能性都產生了變化,還模糊了不同行業間的界限。這種效應正在向生態系統、企業、客戶、產品快速蔓延。
AI-CPS
OS形成的數字化+智慧化力量通過三個方式激發經濟增長:
-
創造虛擬勞動力,承擔需要適應性和敏捷性的複雜任務,即“智慧自動化”,以區別於傳統的自動化解決方案;
-
對現有勞動力和實物資產進行有利的補充和提升,提高資本效率;
-
人工智慧的普及,將推動多行業的相關創新,開闢嶄新的經濟增長空間。
給決策制定者和商業領袖的建議:
-
超越自動化,開啟新創新模式:利用具有自主學習和自我控制能力的動態機器智慧,為企業創造新商機;
-
迎接新一代資訊科技,迎接人工智慧:無縫整合人類智慧與機器智慧,重新
評估未來的知識和技能型別;
-
制定道德規範:切實為人工智慧生態系統制定道德準則,並在智慧機器的開
發過程中確定更加明晰的標準和最佳實踐;
-
重視再分配效應:對人工智慧可能帶來的衝擊做好準備,制定戰略幫助面臨
較高失業風險的人群;
-
開發數字化+智慧化企業所需新能力:員工團隊需要積極掌握判斷、溝通及想象力和創造力等人類所特有的重要能力。對於中國企業來說,創造兼具包容性和多樣性的文化也非常重要。
子曰:“君子和而不同,小人同而不和。” 《論語·子路》雲端計算、大資料、物聯網、區塊鏈和 人工智慧,像君子一般融合,一起體現科技就是生產力。
如果說上一次哥倫布地理大發現,拓展的是人類的物理空間。那麼這一次地理大發現,拓展的就是人們的數字空間。在數學空間,建立新的商業文明,從而發現新的創富模式,為人類社會帶來新的財富空間。雲端計算,大資料、物聯網和區塊鏈,是進入這個數字空間的船,而人工智慧就是那船上的帆,哥倫布之帆!
新一代技術+商業的人工智慧賽博物理作業系統AI-CPS OS作為新一輪產業變革的核心驅動力,將進一步釋放歷次科技革命和產業變革積蓄的巨大能量,並創造新的強大引擎。重構生產、分配、交換、消費等經濟活動各環節,形成從巨集觀到微觀各領域的智慧化新需求,催生新技術、新產品、新產業、新業態、新模式。引發經濟結構重大變革,深刻改變人類生產生活方式和思維模式,實現社會生產力的整體躍升。
產業智慧官 AI-CPS
用“人工智慧賽博物理作業系統”(新一代技術+商業作業系統“AI-CPS OS”:雲端計算+大資料+物聯網+區塊鏈+人工智慧),在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧;實現產業轉型升級、DT驅動業務、價值創新創造的產業互聯生態鏈。
長按上方二維碼關注微信公眾號: AI-CPS,更多資訊回覆:
新技術:“雲端計算”、“大資料”、“物聯網”、“區塊鏈”、“人工智慧”;新產業:“智慧製造”、“智慧農業”、“智慧金融”、“智慧零售”、“智慧城市”、“智慧駕駛”;新模式:“財富空間”、“特色小鎮”、“賽博物理”、“供應鏈金融”。
點選“閱讀原文”,訪問AI-CPS OS官網
本文系“產業智慧官”(公眾號ID:AI-CPS)收集整理,轉載請註明出處!
:由產業智慧官(公眾號ID:AI-CPS)推薦的文章,除非確實無法確認,我們都會註明作者和來源。部分文章推送時未能與原作者取得聯絡。若涉及版權問題,煩請原作者聯絡我們,與您共同協商解決。聯絡、投稿郵箱:[email protected]