1、人工智能芯片技術白皮書 (2018) White Paper on AI Chip Technologies 01 01 02 03 03 04 05 05 06 06 06 07 08 09 10 11 12 13 15 15 17 18 19 20 20 21 22 目錄 北京未來芯片技術高精尖創新中心 1 前言 1.1 背景與意義 1.2 內容與目的 2 AI 芯片的關鍵特征 2.1 技術總述 2.2 新型計算范式 2.3 訓練和推斷 2.4 大數據處理能力 2.5 數據精度 2.6 可重構能力 2.7 軟件工具 3 AI 芯片發展現狀 3.1 云端 AI 計算 3.2 邊緣 AI 計算
2、 3.3 云和端的配合 4 AI 芯片的技術挑戰 4.1 馮諾伊曼瓶頸 4.2 CMOS 工藝和器件瓶頸 5 AI 芯片架構設計趨勢 5.1 云端訓練和推斷:大存儲、高性能、可伸縮 5.2 邊緣設備:把效率推向極致 5.3 軟件定義芯片 6 AI 芯片中的存儲技術 6.1 AI 友好型存儲器 6.2 片外存儲器 6.3 片上(嵌入型)存儲器 6.4 新興的存儲器 7 新興計算技術 7.1 近內存計算 7.2 存內計算(In-memory Computing) 7.3 基于新型存儲器的人工神經網絡 7.4 生物神經網絡 7.5 對電路設計的影響 8 神經形態芯片 8.1 神經形態芯片的算法模型
3、8.2 神經形態芯片的特性 8.2.1 可縮放、高并行的神經網絡互聯 8.2.2 眾核結構 8.2.3 事件驅動 8.2.4 數據流計算 8.3 機遇與挑戰 9 AI 芯片基準測試和發展路線圖 10 展望未來 參考文獻 索引 23 23 24 24 25 26 27 28 29 29 30 31 31 32 33 35 37 40 編寫委員會主席 尤 政 中國工程院院士 清華大學 魏少軍 IEEE Fellow 清華大學 編寫委員會副主席 吳華強 清華大學 鄧 寧 清華大學 編寫委員會成員(按姓氏筆劃排序) 尹首一 清華大學 王 玲 清華大學 朱 晶 北京半導體行業協會 劉勇攀 清華大學 楊建
4、華 馬薩諸塞大學 楊美基 IEEE Fellow 香港應用科技研究院 吳臻志 清華大學 汪 玉 清華大學 張孟凡 IEEE Fellow 臺灣新竹清華大學 陳 安 半導體研究聯盟 陳怡然 IEEE Fellow 杜克大學 鄭光廷 IEEE Fellow 香港科技大學 胡曉波 IEEE Fellow 圣母大學 唐 杉 新思科技 黃漢森 IEEE Fellow 斯坦福大學 凡德斯皮格爾 IEEE Fellow 賓夕法尼亞大學 謝 源 IEEE Fellow 加利福尼亞大學圣巴巴拉分校 人工智能芯片技術白皮書(2018) 北京未來芯片技術高精尖創新中心成立于 2015 年 10 月,是北京 市教委首
5、批認定的“北京高等學校高精尖創新中心”之一。中心充分發 揮清華大學的學科、科研和人才優勢,聯合校內多個院系資源,組建了 微電子、光電子及柔性集成、微系統、類腦計算、基礎前沿、綜合應用 六個分中心以及微納技術支撐平臺。中心主任由清華大學副校長尤政院 士擔任。中心以服務國家創新驅動發展戰略和北京市全國科技創新中心 建設為出發點,致力于打造國家高層次人才梯隊、全球開放型微納技術 支撐平臺,聚焦具有顛覆性創新的關鍵器件、芯片及微系統技術,推動 未來芯片產業實現跨越式發展。 中心介紹 北京未來芯片技術高精尖創新中心1 前言 1 1.1 背景與意義 人工智能 (Artificial Intelligenc
6、e, 英文縮寫為 AI), 是研究、 開發用于模擬、 延伸和擴展人類智能的理論、 方法、技術及應用系統的一門科學技術。人工智能的本質是對人類思維過程的模擬。從 1956 年正式提出 “人工智能”概念算起,在半個多世紀的發展歷程中,人們一直在這一領域進行長期的科學探索和技術攻堅, 試圖了解智能的實質。和任何曾經處于發展過程中的新興學科一樣,人工智能早期發展并非一帆風順,它 曾受到多方質疑,不斷經歷起伏。近些年,大數據的積聚、理論算法的革新、計算能力的提升及網絡設施 的演進,使得持續積累了半個多世紀的人工智能產業又一次迎來革命性的進步,人工智能的研究和應用進 入全新的發展階段。 當前, 人工智能正
7、逐漸發展為新一代通用技術, 加快與經濟社會各領域滲透融合, 已在醫療、 金融、 安防、 教育、交通、物流等多個領域實現新業態、新模式和新產品的突破式應用,帶動生產流程、產品、信息消 費和服務業的智能化、高附加值轉型發展。人工智能已處于新科技革命和產業變革的核心前沿,成為推動 經濟社會發展的新引擎。 實際上,人工智能產業得以快速發展,無論是算法的實現、海量數據的獲取和存儲還是計算能力的體 現都離不開目前唯一的物理基礎芯片??梢哉f, “無芯片不 AI” ,能否開發出具有超高運算能力、符合 市場需求的芯片,已成為人工智能領域可持續發展的重要因素。 北京未來芯片技術高精尖創新中心2 盡管全球人工智能產
8、業還處于初 期發展階段,但隨著政府和產業界的 積極推動, 人工智能技術在大規模產業 化應用方面突飛猛進,在算法和芯片 等人工智能基礎技術層面積累了強大 的技術創新,這些成果未必能即時商 業化,但對未來科技的影響深遠。 為了更好地厘清當前 AI 芯片領域 的發展態勢,進一步明確 AI 芯片在新 技術形勢下的路線框架、關鍵環節及 應用前景,北京未來芯片技術高精尖 創新中心根據學術界和工業界的最新 實踐,邀請國內外 AI 芯片領域的頂尖 研究力量,共同開展人工智能芯片 技術白皮書的編制工作。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
9、? 圖表 1-1 AI 產業結構和技術棧 1.2 內容與目的 本文主要包括九方面內容 : 第 1 章為發展 AI 芯片產業的戰略意義以及白皮書基本內容概述。第 2 章綜 述了 AI 芯片的技術背景,從多個維度提出了滿足不同場景條件下 AI 芯片和硬件平臺的關鍵特征。第 3 章 介紹近幾年的 AI 芯片在云側、邊緣和終端設備等不同場景中的發展狀況,總結了云側和邊緣設備需要解決 的不同問題,以及云側和邊緣設備如何協作支撐 AI 應用。第 4 章在 CMOS 工藝特征尺寸逐漸逼近極限的 大背景下,結合 AI 芯片面臨的架構挑戰,分析 AI 芯片的技術趨勢。第 5 章討論了建立在當前 CMOS 技 術
10、集成上的云端和終端 AI 芯片架構創新。第 6 章主要介紹對 AI 芯片至關重要的存儲技術,包括傳統存儲 技術的改進和基于新興非易失存儲(NVM)的存儲器解決方案。第 7 章重點討論在工藝、器件、電路和存 儲器方面的前沿研究工作,和以此為基礎的存內計算、生物神經網絡等新技術趨勢。第 8 章介紹神經形態 計算技術和芯片的算法、模型以及關鍵技術特征,并分析該技術面臨的機遇和挑戰。第 9 章主要討論 AI 芯 片的基準測試和技術路線圖的相關問題。第 10 章展望 AI 芯片的未來。 在人工智能熱潮面前,本文一方面希望與全球學術和工業界分享 AI 芯片領域的創新成果 ; 另一方面希 望通過對 AI 芯
11、片的技術認知和需求的深入洞察,幫助相關人士更加清晰地了解 AI 芯片所處的產業地位、發 展機遇與需求現狀,通過對 AI 芯片產業現狀及各種技術路線的梳理,增進對未來風險的預判。目前人工智 能技術整體發展仍處于初級階段,未來還有很多技術和商業層面的挑戰。我們要去除在產業發展過程中一窩 蜂“逐熱而上”的虛火,在充滿信心、懷抱希望的同時,保持冷靜和客觀,推動 AI 芯片產業可持續發展。 1. 前言 北京未來芯片技術高精尖創新中心3 2 AI 芯片的關鍵特征 2.1 技術總述 目前,關于 AI 芯片的定義并沒有一個嚴格和公認的標準。比較寬泛的看法是,面向人工智能應用的芯 片都可以稱為 AI 芯片。時下
12、,一些基于傳統計算架構的芯片和各種軟硬件加速方案相結合,在一些 AI 應 用場景下取得了巨大成功。但由于需求的多樣性, 很難有任何單一的設計和方法能夠很好地適用于各類情況。 因此,學界和業界涌現出多種專門針對人工智能應用的新穎設計和方法,覆蓋了從半導體材料、器件、電 路到體系結構的各個層次。 本文探討的 AI 芯片主要包括三類,一是經過軟硬件優化可以高效支持 AI 應用的通用芯片,例如 GPU ; 二是側重加速機器學習(尤其是神經網絡、深度學習)算法的芯片,這也是目前 AI 芯片中最多的形 式 ; 三是受生物腦啟發設計的神經形態計算芯片。 AI 技術是多層面的,貫穿了應用、算法機理、芯片、工具
13、鏈、器件、工藝和材料等技術層級。各個層 級環環緊扣形成 AI 的技術鏈,如圖表 2-1 所示。AI 芯片本身處于整個鏈條的中部,向上為應用和算法提 供高效支持,向下對器件和電路、工藝和材料提出需求。一方面,應用和算法的快速發展,尤其是深度學習、 卷積神經網絡對 AI 芯片提出了 2-3 個數量級的性能優化需求,引發了近年來 AI 片研發的熱潮。另一方面, 北京未來芯片技術高精尖創新中心4 視頻圖像類:人臉識別、目標檢測、圖像生成、視頻分析、視頻審核、圖像美化、以圖搜圖、AR 聲音語音類:語音識別、語音合成、語音喚醒、聲紋識別、樂曲生成、智能音箱、智能導航 文本類:文本分析、語言翻譯、人機對話、
14、閱讀理解、推薦系統 控制類:自動駕駛、無人機、機器人、工業自動化 神經網絡互聯結構:多層感知機(MLP) 、卷積神經網絡(CNN) 、循環神經網絡(RNN) 、長短時記憶(LSTM) 網絡、脈沖神經網絡(SNN) 深度神經網絡系統結構: AlexNet、ResNet、VGGNet、GoogLeNet 神經網絡算法:反向傳播算法、遷移學習、強化學習、One-shot learning、對抗學習、神經圖靈機、脈沖時間依 賴可塑(STDP) 機器學習算法:支持向量機(SVM) 、K 近鄰、貝葉斯、決策樹、馬爾可夫鏈、Adaboost、WordEmbedding 算法優化芯片: 效能優化,低功耗優化,
15、高速優化,靈活度優化,如深度學習加速器,人臉識別芯片 神經形態芯片:仿生類腦,生物腦啟發,腦機制模擬 可編程芯片:考量靈活度,可編程性,算法兼容性,通用軟件兼容,如 DSP、GPU、FPGA 芯片系統級結構:多核、眾核、SIMD、運算陣列結構、存儲器結構、片上網絡結構、多片互聯結構、內存接口、 通信結構、多級緩存 開發工具鏈 : 編程框架(Tensorflow,caffe)銜接、編譯器、仿真器、優化器(量化、裁剪) 、原子操作(網絡)庫 高帶寬片外存儲器:HBM、DRAM、高速 GDDR、LPDDR、STT-MRAM 高速互聯:SerDes,光互聯通信 仿生器件(人工突觸,人工神經元) :憶阻
16、器 新型計算器件:模擬計算,內存計算(in-memory computing) 片上存儲器(突觸陣列) :分布式 SRAM、ReRAM、PCRAM 等 CMOS 工藝:工藝節點(16, 7, 5 nm) CMOS 多層集成:2.5D IC/SiP、3D-stack 技術、monolithic 3D 等 新型工藝:3D NAND, Flash Tunneling FETs、FeFET、FinFET 應用 算法 芯片 器件 工藝 應用需求驅動理論創新驅動 新型材料、工藝和器件的迅速發展,例如 3D 堆疊內存,工藝演進等也為 AI 芯片提供了顯著提升性能和降 低功耗的可行性,這個推動力來源于基礎研究
17、的突破??傮w而言,這兩類動力共同促進了 AI 芯片技術近年 來的快速發展。 2.2 新型計算范式 AI 計算既不脫離傳統計算,也具有新的計算特質,包括 : 1. 處理的內容往往是非結構化數據,例如視頻、圖像及語音等,這類數據很難通過預編程的方法得到 滿意的結果。因此,需要通過樣本訓練、擬合及環境交互等方式,利用大量數據來訓練模型,再用訓練好 的模型處理數據。 2. 處理的過程通常需要很大的計算量,基本的計算主要是線性代數運算,典型的如張量處理,而控制 流程則相對簡單。對于這類運算,大規模并行計算硬件較傳統通用處理器更為適合。 3. 處理的過程參數量大,需要巨大的存儲容量,高帶寬、低延時的訪存能
18、力,以及計算單元和存儲器 件間豐富且靈活的連接。數據本地化特征較強,適合數據復用和近內存計算。 圖表 2-1 AI 芯片相關技術概覽 2. AI 芯片的關鍵特征 北京未來芯片技術高精尖創新中心5 2.3 訓練和推斷 AI 系統通常涉及訓練(Training)和推斷(Inference)過程。簡單來說,訓練過程是指在已有數據中 學習, 獲得某些能力的過程; 而推斷過程則是指對新的數據, 使用這些能力完成特定任務(比如分類、 識別等) 。 對神經網絡而言,訓練過程就是通過不斷更新網絡參數,使推斷(或者預測)誤差最小化的過程 ; 推斷過程 則是直接將數據輸入神經網絡并評估結果的正向計算過程。雖然訓練
19、和推斷有很多類似的基本運算,都需要 具有大量的并行處理,高內存帶寬和低延遲操作,但是兩者在計算和存儲資源方面的需求方面存在顯著的差 異。 訓練 : 首先,對于訓練來說,計算精度非常重要,因為它直接影響推斷的準確度。支持訓練的硬件必 須支持具有較長字長的浮點數或定點數。其次, 訓練中通常同時包括正向和反向的計算過程, 需要多次迭代, 計算量要求非常高。這就需要支持訓練的芯片不僅要具有強大的單芯片計算能力,還要具備很好的擴展性, 可以通過多芯片系統提供更強大的計算能力。再次,訓練過程,特別是離線訓練,必須處理大量的數據(高 達 1015到 1018字節) ,因此,它對內存數量、訪問內存的帶寬和內存
20、管理方法的要求都非常高。第四,由 于訓練需要更新(寫入)和使用(讀?。┥窠浘W絡中的參數(權重) , 因而需要更復雜的數據同步技術。最后, 重要參數的頻繁寫入也要求存儲器能支持更快速的寫入(特別是對于在線訓練) ,這對于一些存儲器技術來 說是很大的挑戰。 推斷 : 對推斷來說,運算和存儲的需求都遠遠低于訓練。但由于推斷的應用場景多種多樣,部署在從 云到端的各種設備, 如數據中心、 自動駕駛汽車、 智慧家庭和 IoT 設備等, 其需求和約束呈現出多樣化的特點。 對于多數應用來說,速度、能效、安全和硬件成本等是最重要的考慮因素,而模型的準確度和數據精度則 可以依具體情況適當降低。 雖然目前大部分機器
21、學習方法都可以比較清晰地劃分為訓練和推斷的過程,但還有一些領域,比如增 強學習(Reinforcement Learning)和在線學習(On-line Learning)則處于持續學習和改進模型的進 程中。因此,在未來的 AI 應用當中,訓練(學習)和推斷在更多場景下會是交織在一起的。 2.4 大數據處理能力 人工智能的發展高度依賴海量的數據。滿足高效能機器學習的數據處理要求是 AI 芯片需要考慮的最重 要因素。一個無法回避的現實是,運算單元與內存之間的性能差距越來越大,內存子系統成為芯片整體處理 能力提高的障礙,也就是通常所說的“內存墻” 。人工智能工作負載多是數據密集型,需要大量的存儲和
22、各 層次存儲器間的數據搬移,導致 “內存墻”問題更加突出。為了彌補計算單元和存儲器之間的差距,學術界 和工業界正在兩個方向上進行探索:(1)富內存的處理單元。增加片上存儲器的容量并使其更靠近計算單元, 使得數據計算單元和內存之間的數據移動成本(時間和功耗)大大減少。 (2)具備計算能力的新型存儲器。 直接在存儲器內部(或更近)實現計算。這種方法也被稱為存內計算(Process-in-Memory PIM)或近 數據計算(Near Data Computing NDC) 。 2.3 訓練和推斷 2.4 大數據處理能力 北京未來芯片技術高精尖創新中心6 2.5 數據精度 低精度設計是 AI 芯片的
23、一個趨勢,在針對推斷的芯片中更加明顯。對一些應用來說,降低精度的設計 不僅加速了機器學習算法的推斷(也可能是訓練) ,甚至可能更符合神經形態計算的特征。近期已經證明, 對于學習算法和神經網絡的某些部分,使用盡可能低的精度(例如二進制數據)就足以達到預期效果,同 時可以節省大量內存和降低能量消耗。通過對數據上下文數據精度的分析和對精度的舍入誤差敏感性,來 動態地進行精度的設置和調整,將是 AI 芯片設計優化的必要策略。 2.6 可重構能力 人工智能各領域的算法和應用還處在高速發展和快速迭代的階段,考慮到芯片的研發成本和周期,針 對特定應用、算法或場景的定制化設計很難適應變化。針對特定領域(包括具
24、有類似需求的多種應用)而 不針對特定應用的設計,將是 AI 芯片設計的一個指導原則,具有可重構能力的 AI 芯片可以在更多應用中 大顯身手,并且可以通過重新配置,適應新的 AI 算法、架構和任務。 2.7 軟件工具 就像傳統的 CPU 需要編譯工具的支持, AI 芯片也需要軟件工具鏈的支持,才能將不同的機器學習任 務和神經網絡轉換為可以在 AI 芯片上高效執行的指令代碼,如 NVIDIA GPU 通過 CUDA 工具獲得成功。 基本處理、內存訪問及任務的正確分配和調度將是工具鏈中需要重點考慮的因素。當工具鏈將神經網絡或 其它模型映射到 AI 芯片上時,也有很多優化代碼的機會,比如神經網絡剪枝、
25、權重壓縮和動態量化等。目 前,AI 算法開發框架如 TensorFlow、Caffe 和 PyTorch 等,在 AI 應用研發中已經起到了至關重要的作 用。對 AI 芯片來說,構建一個集成化的流程,將 AI 模型的開發和訓練,硬件無關和硬件相關的代碼優化, 自動化指令翻譯等功能無縫的結合在一起,將是成功部署的關鍵要求。 2. AI 芯片的關鍵特征 北京未來芯片技術高精尖創新中心7 3 AI 芯片發展現狀 從 2015 年開始,AI 芯片的相關研發逐漸成為學術界和工業界研發的熱點。到目前為止,在云端和終 端已經有很多專門為 AI 應用設計的芯片和硬件系統。同時,針對目標應用是 “訓練”還是“推
26、斷” ,我們可 以把 AI 芯片的目標領域分成 4 個象限,如圖表 3-1 所示。其中,在邊緣 / 嵌入設備中以推斷應用為主,訓 練的需求還不是很明確。有些高性能的邊緣設備雖然也會進行訓練,但從硬件本身來說,它們更類似于云 端設備。未來的邊緣和嵌入設備可能都需要具備一定的學習能力,以支持在線學習功能。其他幾個象限都 有自身實現的需求和約束,目前也都有針對性的芯片和硬件系統。 圖表 3-1 AI 芯片的目標領域 多種不同的需求和約束 (從 ADAS 到可穿戴設備) 低時耗 能耗效率 低成本 高吞吐率 低時延 可伸縮 可擴展 能耗效率 高性能 高精度 高靈活度 可伸縮 擴展能力 能耗效率 ASIC
27、/FPGAGPU/ASIC/FPGA 推 斷 訓 練 邊緣 / 嵌入式云 / HPC/ 數據中心 北京未來芯片技術高精尖創新中心8 3.1 云端 AI 計算 在云端,通用 GPU,特別是 NVIDIA 系列 GPU 芯片,被廣泛應用于深度神經網絡訓練和推理。與 CPU 相比,擁有數千個計算內核的 GPU 可以實現 10-100 倍的吞吐量。其最新的 Tesla V100 除了 GPU 核之外,還專門針對深度學習設計了張量核(Tensor Cores) ,能夠提供 120 TFLOPS(每秒 120 萬億次浮點指令)的處理能力。同時,NVIDIA GPU 還有比較完善的軟件開發環境,同時,NVI
28、DIA GPU 還有比較完善的軟件開發環境,是目前 AI 訓練領域使用最廣泛的平臺。 面向云端 AI 應用,很多公司開始嘗試設計專用芯片以達到更高的效率,其中最著名的例子是 Google TPU,可以支持搜索查詢、翻譯等應用,也是 AlphaGo 的幕后英雄。由于使用了專用架構,TPU 實現 了比同時期 CPU 和 GPU 更高的效率(如圖表 3-2 所示) 。第一代的 TPU 僅能用于推斷,面對目前被 NVIDIA GPU 賺得盆滿缽滿的深度學習訓練市場,Google 隨后又發布了第二版 TPU(TPU2) ,除了推 斷以外,還能高效支持訓練環節的加速。Google 最近還通過云服務把 TP
29、U 開放商用,處理能力達到 180 TFLOP,提供 64GB 的高帶寬內存(HBM) ,2400GB/s 的存儲帶寬。 3. AI 芯片發展現狀 圖表 3-2 Google TPU 性能(Hot Chips 2017) 200X incremental perf/W of Haswell CPU GPU/CPU 2.12.9 16 86 83 196 29 68 41 34 Total Performance/Watt (including host CPU) 200 100 150 50 0 TPU/CPUTPU/GPUTPU/CPUTPU/GPU 70X incremental perf
30、/W of K80 GPU 68 196 Incremental Performance/Watt (no host CPU) 北京未來芯片技術高精尖創新中心9 針對云端的訓練和推斷市場,從芯片巨頭到初創公司都高度重視。英特爾宣布推出 NervanaTM神經網 絡處理器 (NNP),該系列架構還可以優化 32GB HBM2、1TB/s 帶寬和 8Tb/s 訪問速度的神經網絡計算。 初創公司,如 Graphcore、Cerebras、Wave Computing、寒武紀及比特大陸等也加入了競爭的行列。 此外,FPGA 在云端的推斷也逐漸在應用中占有一席之地。一方面,FPGA 可以支持大規模并行的
31、硬 件設計,和 GPU 相比可以降低推斷的延時和功耗。微軟的 Brainwave 項目和百度 XPU 都顯示,在處理 批量小的情況下,FPGA 具有出色的推斷性能。另一方面,FPGA 可以很好地支持不同的數值精度,非常 適合低精度推斷的實現。進一步地, FPGA 的可編程能力也使它可以相對更快地支持新的算法和應用。目前, FPGA 的主要廠商如 Xilinx、Intel 都推出了專門針對 AI 應用的 FPGA 硬件(支持更高的存儲帶寬)和軟 件工具 ; 主要的云服務廠商,比如亞馬遜、微軟及阿里云等推出了專門的云端 FPGA 實例來支持 AI 應用。 一些初創公司,比如深鑒科技等也在開發專門支
32、持 FPGA 的 AI 開發工具。 3.2 邊緣 AI 計算 隨著人工智能應用生態的爆發,越來越多的 AI 應用開始在端設備上開發和部署。對于某些應用,由 于各種原因(如延遲,帶寬和隱私問題) ,必須在邊緣節點上執行推斷。比如,自動駕駛汽車的推斷就不能 交由云端完成,否則如果出現網絡延時,則會發生災難性后果。再比如,大型城市動輒百萬的高清攝像頭, 其人臉識別如果全交由云端完成,高清錄像的數據傳輸會讓通信網絡不堪重負。 邊緣設備實際上覆蓋了一個很大的范圍,其應用場景也五花八門。比如自動駕駛汽車可能就需要一個 很強的計算設備,而在可穿戴領域,則要在嚴格的功耗和成本約束下實現一定的智能 。在未來相當
33、一部分 人工智能應用場景中,邊緣設備主要執行推斷計算,這就要求邊緣處的終端設備本身具備足夠的推斷計算 能力。而目前邊緣處理器芯片的計算能力并不能滿足在本地實現深度神經網絡推斷的需求。因此,業界需 要專門設計的AI芯片, 賦予設備足夠的能力去應對越來越多的人工智能應用場景。 除了計算性能的要求之外, 功耗和成本也是在邊緣節點工作的 AI 芯片必須面對的重要約束。 智能手機是目前應用最為廣泛的邊緣計算設備,包括蘋果、華為、高通、聯發科和三星在內的手機芯 片廠商紛紛推出或者正在研發專門適應 AI 應用的芯片產品。另外,也有很多初創公司加入這個領域,為邊 緣計算設備提供芯片和系統方案,比如地平線機器人
34、、寒武紀、深鑒科技、元鼎音訊等。傳統的 IP 廠商, 包括 ARM、Synopsys 等公司也都為包括手機、智能攝像頭、無人機、工業和服務機器人、智能音箱以及 各種物聯網設備等邊緣計算設備開發專用 IP 產品。 自動駕駛是未來邊緣 AI 計算的最重要應用之一,MobileEye SOC 和 NVIDIA Drive PX 系列提供神 經網絡的處理能力可以支持半自動駕駛和完全自動駕駛,處理來自多路視頻攝像頭、雷達、激光雷達以及 超聲傳感器的輸入,并將這些數據相融合以確定汽車所處的精確位置,判斷汽車周圍的環境,并為安全行 駛計算最佳路徑和操作。 3.2 邊緣 AI 計算 北京未來芯片技術高精尖創新
35、中心10 3.3 云和端的配合 總的來說,云側 AI 處理主要強調精度、處理能力、內存容量和帶寬,同時追求低延時和低功耗 ; 邊緣 設備中的 AI 處理則主要關注功耗、響應時間、體積、成本和隱私安全等問題。 目前云和邊緣設備在各種 AI 應用中往往是配合工作。最普遍的方式是在云端訓練神經網絡,然后在云 端(由邊緣設備采集數據)或者邊緣設備進行推斷。隨著邊緣設備能力的不斷增強,越來越多的計算工作 負載將在邊緣設備上執行,甚至可能會有訓練或者學習的功能在邊緣設備上執行。另一方面,云的邊界也 逐漸向數據的源頭推進,未來很可能在傳統的終端設備和云端設備直接出現更多的邊緣設備,它們會把 AI 處理分布在
36、各種網絡設備(比如 5G 的基站)中,讓數據盡量實現本地處理。從這個角度看,未來云和邊緣 設備以及連接他們的網絡可能會構成一個巨大的 AI 處理網絡,它們之間的協作訓練和推斷也是一個有待探 索的方向。 3. AI 芯片發展現狀 北京未來芯片技術高精尖創新中心11 4 AI 芯片的技術挑戰 當我們討論一個新的技術趨勢時,首先需要清楚它背后的成因。很多大的技術創新都是需求驅動和技 術瓶頸同時存在的情況下產生的。AI 芯片和它背后的各種技術也不例外。首先是巨大需求,一方面體現在 AI 應用的需求,也體現在 AI 特別是深度學習所要求的新的計算范式(這一點在上文已有介紹) 。需求的驅 動要求能夠更加高
37、效地處理 AI 運算的硬件,而在目前的技術框架下我們也遇到一些瓶頸問題,特別是馮 諾 伊曼瓶頸和 CMOS 工藝和器件瓶頸。在詳細介紹各種 AI 芯片的技術創新和未來的發展趨勢之前,本節先 簡單介紹討論一下這兩個問題。 北京未來芯片技術高精尖創新中心12 4.1 馮諾伊曼瓶頸 4. AI 芯片的技術挑戰 圖表 4-1 (a)AI 芯片中的馮諾伊曼“瓶頸”(b) 內存層級結構 如前所述, 提高AI芯片性能和能效的關鍵之一在于支持高效的數據訪問。 如圖表4-1所示, 在傳統馮 諾 伊曼體系結構中, 數據從處理單元外的存儲器提取, 處理完之后在寫回存儲器。在 AI 芯片實現中, 基于馮 諾 伊曼體系
38、結構,提供運算能力相對是比較簡單易行的,但由于運算部件和存儲部件存在速度差異,當運算 能力達到一定程度,由于訪問存儲器的速度無法跟上運算部件消耗數據的速度,再增加運算部件也無法得 到充分利用,即形成所謂的馮諾伊曼“瓶頸” ,或“內存墻”問題,是長期困擾計算機體系結構的難題。 目前常見的方法是利用高速緩存(Cache)等層次化存儲技術盡量緩解運算和存儲的速度差異。 AI BUS (a) (b) Von Neumann “Bottleneck” Processor Accessing Time NAND HDD SRAM DRAM Storage Class Memory STT-MRAM ReR
39、AM/ STT-MRAM/ PCRAM PCRAM/ReRAM 3D-ReRAM 3D-NAND Storage Gap Working Mem. 10-9s 10-7s 10-5s Memory CAPACITY On-chip NVM 性能指標AlexNet VGG 16 GoogLeNet V1 ResNet 50 Top-5 錯誤率16.47.46.75.3 卷積層數量5135753 權重值數量2.3M14.7M6.0M23.5M MAC 數量666M15.3G1.43G3.86G 全連接層數量3311 權重值數量58.6M124M1M2M MAC 數量58.6M124M1M2M 總權
40、重值數量61M138M7M25.5M 總 MAC 數量724M15.5G1.43G3.9G 圖表 4-2 常見神經網絡的基本參數(source:Vivienne17) 北京未來芯片技術高精尖創新中心13 然而,AI 芯片中需要存儲和處理的數據量遠遠大于之前常見的應用。圖表 4-2 列出了一些常見的深度 神經網絡的主要參數,其中 VGG16 網絡需要 138M 個權重參數,一次推斷過程需要 15.5G 次乘累加運算。 這都使得馮諾伊曼“瓶頸”問題在 AI 應用中愈發嚴重??梢圆豢鋸埖卣f,大部分針對 AI,特別是加速神 經網絡處理而提出的硬件架構創新都是在和這個問題做斗爭。概括來說,在架構層面解決
41、這一問題的基本 思路有二 : 1)減少訪問存儲器的數量,比如減少神經網絡的存儲需求(參數數量,數據精度,中間結果) 、 數據壓縮和以運算換存儲等 ; 2)降低訪問存儲器的代價,盡量拉近存儲設備和運算單元的“距離” ,甚至 直接在存儲設備中進行運算。 4.2 CMOS 工藝和器件瓶頸 現今的計算機可以達到每秒千萬億次 (1015 FLOPS) 的處理速度。這些系統在先進科技的研究 (生物學, 氣候分析,基因組學,腦基因組學,材料開發等)中扮演著重要角色。在許多方面,計算能力驅動著現代 社會的發展。人工智能,特別是機器學習的發展將需要更加強有力的,超過每秒百億次 (1018) 運算能力的 計算系統
42、。 當前,構建這些系統的基礎是 CMOS 技術的芯片,而 CMOS 工藝能夠不斷提高系統性能主要得益于 集成尺寸的縮小。過去 30 年,摩爾定律很好地預測了這種計算進步。2018 年,10 納米工藝的芯片已經大 規模量產,7 納米開始量產,5 納米節點的技術定義已經完成。然而,由于基礎物理原理限制和經濟的原因, 持續提高集成密度將變得越來越困難 Theis16。目前,CMOS 器件的橫向尺寸接近幾納米,層厚度只有 幾個原子層,這會導致顯著的電流泄漏,降低工藝尺寸縮小的效果。此外,這些納米級晶體管的能量消耗 非常高,很難實現密集封裝。 4.2 CMOS 工藝和器件瓶頸 圖表 4-4 邏輯器件的最
43、小翻轉能耗趨勢(Source: Theis16) 1E-03 1988 extrapolation Rapid v reduction Slower v reduction Clock freq. plateaus Switching energy(J) 1E-05 1E-07 1E-09 1E-11 1E-13 1E-15 1E-17 1E-19 1E-21 194019601980 Year 200020202040 Landauer 1988 kT (300) IBM Intel ITRS 北京未來芯片技術高精尖創新中心14 另外,物聯網(IoT) 、社交媒體和安全設備產生了大量的數據,
44、存儲、交換和處理這些數據都需要大 量的存儲器。目前 DRAM 技術已經接近極限,DRAM 性能和存儲器容量的進步主要通過封裝技術來實現, 即堆疊多個 DRAM 芯片并通過硅通孔(TSV)將其連接到存儲器控制器芯片上。增加數據帶寬則是通過 更寬的數據總線來實現的。非易失存儲技術的主力是 NAND 閃存,最先進的 3D NAND 具有多達 64 層和 256 Gb 的容量,預計于 2018 年進入市場。由于 DRAM 和 NAND 閃存都是獨立于計算核心的,和計算 核心進行數據交換的代價(包括時間和能耗)非常大,而目前能夠和計算核心緊耦合的片上存儲器的唯一 方案是 SRAM,其容量為兆級。即使采用
45、最小的 SRAM 單元填充 1 平方厘米芯片面積的一半,也只有約 128 兆的片上存儲容量。因此,我們有充足的理由開發提供大量存儲空間的片上存儲器技術,并探索利用 片上存儲器去構建未來的智能芯片架構 Aly15。 在計算架構和器件層面,我們也需要一種新的方法。大腦可以看作一個可以處理大量(通常是模糊 的)信息,且具有超高密度、錯誤恢復能力和高能效的計算模型。神經元和大腦突觸的能量消耗比最先進 的 CMOS 器件還低幾個數量級。另外,大腦可以處理模式識別和特征提取的問題,這對傳統架構來說非 常困難, 甚至不可能實時實現。理想情況下, 我們需要具有生物系統優點而規避速度慢等缺點的器件和材料。 近年
46、來,可以存儲模擬數值的非易失性存儲器發展迅猛,它可以同時具有存儲和處理數據能力,可以破解 傳統計算體系結構的一些基本限制,有望實現類腦突觸功能。 4. AI 芯片的技術挑戰 北京未來芯片技術高精尖創新中心15 5 AI 芯片架構設計趨勢 5.1 云端訓練和推斷:大存儲、高性能、可伸縮 之前我們分析了云端訓練和推斷的基本需求,雖然訓練和推斷在數據精度、架構靈活和實時性要求上 有一定的差別,但它們在處理能力(吞吐率) 、可伸縮可擴展能力以及功耗效率上具有類似的需求。因此, 針對云端的訓練和推斷而開發的專用芯片和技術創新,基本都是圍繞這幾個需求。 NVIDIA 的 V100 GPU 和 Google
47、 包括四顆芯片的 Cloud TPU Google,是目前云端商用 AI 芯片 的標桿。在深度學習計算的處理能力方面,V100 達到 120TFLOPS, Cloud TPU 則達到 180TFLOPS。 值得一提的是,這種處理能力都是由專門針對深度學習需求而設計的運算單元提供。在存儲和訪存能力上, V100 有 16 GB HBM2 存儲器,支持 900 GB/s 的帶寬; 而 Cloud TPU 單顆芯片有 16GB HBM 存儲器, 支持 600GB/s 的帶寬。另外,它們共同的特點是支持多芯片的擴展能力,V100 支持 NVIDIA 的 NvLink 互連方式,可以擴展到 8 芯片的系
48、統 ; 而 Cloud TPU 也支持高速的芯片間互連接口和板級互連接口,非 常適合在云端和數據中心部署。圖表 5-1 是 Cloud TPU 的機柜,包括 64 個 TPU2,能夠為機器學習的訓 練任務提供 11.5 PFLOPS 的處理能力和 4 TB 的 HBM 存儲器。同時,這些運算資源還可以靈活地分配和 伸縮,能夠有效支持不同的應用需求。 北京未來芯片技術高精尖創新中心16 從 NVIDIA 和 Goolge 的設計實踐我們可以看出云端 AI 芯片在架構層面, 技術發展的幾個特點和趨勢: 1. 存儲的需求(容量和訪問速度)越來越高。一方面,由于處理大量數據的要求,需要更大容量的存 儲
49、器。另一方面,限制運算能力提高的主要因素是訪問存儲器的速度,因此,未來云端 AI 芯片會有越來越 多的片上存儲器(比如 Graphcore 公司就在芯片上實現的 300MB 的 SRAM)和能夠提供高帶寬的片外 存儲器(HBM2 和其它新型封裝形式) 。 2. 處理能力推向每秒千萬億次(PetaFLOPS) ,并支持靈活伸縮和部署。對云端 AI 芯片來說,單芯 片的處理能力可能會達到 PetaFLOPS 的水平。實現這一目標除了要依靠 CMOS 工藝的進步,也需要靠 架構的創新。比如在 Google 第一代 TPU 中,使用了脈動陣列(Systolic Array)架構,而在 NVIDIA 的 V100GPU 中,專門增加了張量核來處理矩陣運算。為了將 GPU 擴展為更大的系統,NVIDIA 專門開發了 的 NVSwitch 交換芯片,可以為多個 GPU 提供高帶寬互連。在最新發布的 DGX-2 系統中,16 顆 V100 GP