根據計算模式,人工智能核心計算芯片的發展分為兩個方向:一個是利用人工神經網絡從功能層面模仿大腦的能力,其主要產品就是通常的CPU、GPU、FPGA及專用定制芯片ASIC。另一個神經擬態計算則是從結構層面去逼近大腦,其結構還可進一步分為兩個層次,一是神經網絡層面,與之相應的是神經擬態架構和處理器,如IBM的TrueNorth芯片,這種芯片把數字處理器當作神經元,把內存作為突觸。與傳統馮諾依曼結構不同,它的內存、CPU和通信部件完全集成在一起,因此信息的處理完全在本地進行,克服了傳統計算機內存與CPU之間的瓶頸。同時神經元之間可以方便快捷地相互溝通,只要接收到其他神經元發過來的脈沖(動作電位),這些神經元就會同時做動作。二是神經元層面,與之相應的是元器件層面的創新。如IBM蘇黎世研究中心宣布制造出世界上首個人造納米尺度隨機相變神經元,可實現高速無監督學習。
目前,AI芯片雖然在某些具體任務上可以大幅超越人的能力,但在通用性、適應性上相較于人類智能還有很大差距,大多數仍處于對特定算法的加速階段。從短期來看,以異構計算(多種組合方式)為主來加速各類應用算法的落地(看重能效比、性價比、可靠性);從中期來看,要發展自重構、自學習、自適應的芯片來支持算法的演進和類人的自然智能;從長期來看,則是朝著通用AI芯片的方面發展。
“通用AI芯片”是AI芯片皇冠上的明珠。它最理想化的方式是淡化人工干預(如限定領域、設計模型、挑選訓練樣本、人工標注等)的通用智能芯片,必須具備可編程性、架構的動態可變性、高效的架構變換能力或自學習能力、高計算效率、高能量效率、應用開發簡潔、低成本和體積小等特點。就目前而言,實現通用AI的主要直面兩大挑戰:一是通用性(算法和架構),二是實現的復雜度。通用AI芯片的復雜度來自于任務的多樣性和對自學習、自適應能力的支持。因此,通用AI芯片的發展方向不會是一蹴而就地采用某一種芯片來解決問題,因為理論模型和算法尚未完善。最有效的方式是先用一個多種芯片設計思路組合的靈活的異構系統來支持,各取所長,取長補短。一旦架構成熟,就可以考慮設計SoC來在一個芯片上支持通用AI。
從短期來看,很難期待出現像CPU那樣的AI通用算法芯片,AI殺手級應用還沒出現,未來還有很長一段路要走。但必須承認的是,AI芯片是人工智能技術發展過程中不可逾越的關鍵階段。無論哪種AI算法,最終的應用必然通過芯片來實現。目前,AI算法都有各自長處和短板,必須給它們設定一個合適的應用邊界,才能最好地發揮它們的作用。因此,確定應用領域就成為了發展AI芯片的重要前提。
在應用方面,“無行業不AI”似乎正在成為主旋律,無論是人臉識別、語音識別、機器翻譯、視頻監控,還是交通規劃、無人駕駛、智能陪伴、輿情監控、智慧農業等,人工智能似乎涵蓋了人類生產生活的方方面面。然而,是所有的應用都需要人工智能嗎?我們希望人工智能解決哪些實際的問題?什么才是AI的“殺手級”應用?這些問題目前依然等待答案。但對于芯片從業者而言,當務之急是研究芯片架構問題。從感知、傳輸到處理,再到傳輸、執行,這是AI芯片的一個基本邏輯。研究者需要利用軟件系統、處理器等去模仿。軟件是實現智能的核心,芯片是支撐智能的基礎。
從芯片發展的大趨勢來看,目前尚處于AI芯片發展的初級階段,無論是科研還是產業應用都有巨大的創新空間。從確定算法、領域的AI加速芯片向具備更高靈活性、適應性的智能芯片發展是科研發展的必然方向。神經擬態芯片技術和可重構計算芯片技術允許硬件架構和功能隨軟件變化而變化,實現以高能效比支持多種智能任務,在實現AI功能時具有獨到的優勢,具備廣闊的前景。
雖然AI芯片目前還不是特別智能,但它們絕對很聰明,而且很有可能在不久的將來變得更加智能。這些芯片將繼續利用半導體加工、計算機架構和SoC設計方面的先進技術,以提高處理能力,支持下一代AI算法。與此同時,新的AI芯片將繼續需要先進的存儲系統和片上互連架構,以便為新的專有硬件加速器提供深度學習所需的源源不斷的數據流。相信,未來十年將是AI芯片發展的重要時期,有望在架構和設計理念取得巨大的突破。
具體到不同計算場景和不同計算需求,云端和終端芯片的架構設計趨勢將朝不同的方向發展,而軟件定義芯片已經成為靈活計算領域的主流。
一、云端訓練和推斷:大存儲、高性能、可伸縮
雖然訓練和推斷在數據精度、架構靈活和實時性要求上有一定的差別,但它們在處理能力(吞吐率)、可伸縮可擴展能力以及功耗效率上具有類似的需求。
NVIDA的V100GPU和Google的CloudTPU是目前云端商用AI芯片的標桿。
(CloudTPU的機柜包括64個TPU2,能夠為機器學習的訓練任務提供11.5PFLOPS的處理能力和4TB的HBM存儲器。這些運算資源還可以靈活地分配和伸縮,能夠有效支持不同的應用需求。)
從NVIDA和Goolge的設計實踐我們可以看出云端AI芯片在架構層面,技術發展呈現三大特點和趨勢:
(1)存儲的需求(容量和訪問速度)越來越高。未來云端AI芯片會有越來越多的片上存儲器(比如Graphcore公司就在芯片上實現的300MB的SRAM),以及能夠提供高帶寬的片外存儲器(HBM2和其它新型封裝形式)。
(2)處理能力推向每秒千萬億次(PetaFLOPS),并支持靈活伸縮和部署。對云端AI芯片來說,單芯片的處理能力可能會達到PetaFLOPS的水平。實現這一目標除了要依靠CMOS工藝的進步,也需要靠架構的創新。比如在Google第一代TPU中,使用了脈動陣列(SystolicArray)架構,而在NVIDA的V100GPU中,專門增加了張量核來處理矩陣運算。
(3)專門針對推斷需求的FPGA和ASIC。推斷和訓練相比有其特殊性,更強調吞吐率、能效和實時性,未來在云端很可能會有專門針對推斷的ASIC芯片(Google的第一代TPU也是很好的例子),提供更好的能耗效率并實現更低的延時。
二、邊緣設備:把效率推向極致。
相對云端應用,邊緣設備的應用需求和場景約束要復雜很多,針對不同的情況可能需要專門的架構設計。拋開需求的復雜性,目前的邊緣設備主要是執行“推斷”。衡量AI芯片實現效率的一個重要指標是能耗效率--TOPs/W,這也成為很多技術創新競爭的焦點。在ISSCC2018會議上,就出現了單比特能效達到772TOPs/W的驚人數據。
在提高推斷效率和推斷準確率允許范圍內的各種方法中,降低推斷的量化比特精度是最有效的方法。此外,提升基本運算單元(MAC)的效率可以結合一些數據結構轉換來減少運算量,比如通過快速傅里葉變換(FFT)變換來減少矩陣運算中的乘法;還可以通過查表的方法來簡化MAC的實現等。
另一個重要的方向是減少對存儲器的訪問,這也是緩解馮·諾伊曼“瓶頸”問題的基本方法。利用這樣的稀疏性特性,再有就是拉近運算和存儲的距離,比如把神經網絡運算放在傳感器或者存儲器中。
三、軟件定義芯片
對于復雜的AI任務,甚至需要將多種不同類型的AI算法組合在一起。即使是同一類型的AI算法,也會因為具體任務的計算精度、性能和能效等需求不同,具有不同計算參數。因此,AI芯片必須具備一個重要特性:能夠實時動態改變功能,滿足軟件不斷變化的計算需求,即“軟件定義芯片”。
可重構計算技術允許硬件架構和功能隨軟件變化而變化,具備處理器的靈活性和專用集成電路的高性能和低功耗,是實現“軟件定義芯片”的核心,被公認為是突破性的下一代集成電路技術。清華大學微電子所設計的AI芯片(代號Thinker),采用可重構計算架構,能夠支持卷積神經網絡、全連接神經網絡和遞歸神經網絡等多種AI算法。
Thinker芯片通過三個層面的可重構計算技術,來實現“軟件定義芯片”,最高能量效率達到了5.09TOPS/W:
1。計算陣列重構:Thinker芯片每個計算單元可以根據算法所需要的基本算子不同而進行功能重構,支持計算陣列的按需資源劃分以提高資源利用率和能量效率。
2。存儲帶寬重構:Thinker芯片的片上存儲帶寬能夠根據AI算法的不同而進行重構。存儲內的數據分布會隨著帶寬的改變而調整,以提高數據復用性和計算并行度,提高了計算吞吐和能量效率。
3。數據位寬重構:為了滿足AI算法多樣的精度需求,Thinker芯片的計算單元支持高低(16/8比特)兩種數據位寬重構。高比特模式下計算精度提升,低比特模式下計算單元吞吐量提升進而提高性能。
采用可重構計算技術之后,軟件定義的層面不僅僅局限于功能這一層面。算法的計算精度、性能和能效等都可以納入軟件定義的范疇。
四、新興存儲技術打開新思路
《白皮書》第六章主要介紹對AI芯片至關重要的存儲技術,包括傳統存儲技術的改進和基于新興非易失存儲(NVM)的存儲器解決方案。
可以預見的是,從器件到體系結構的全面創新或將賦予AI芯片更強的能力。近期,面向數字神經網絡的加速器(GPU、FPGA和ASIC)迫切需要AI友好型存儲器;中期,基于存內計算的神經網絡可以為規避馮·諾依曼瓶頸問題提供有效的解決方案;最后,基于憶阻器的神經形態計算可以模擬人類的大腦,是AI芯片遠期解決方案的候選之一。
1。AI友好型存儲器
上圖顯示了新興存儲技術中帶寬和容量的快速增長。新興的NVM由于其相對較大的帶寬和迅速增長的容量,可以在AI芯片的存儲技術中發揮至關重要的作用。對于嵌入式應用,NVM的片上存儲器也可以提供比傳統NVM更好的存取速度和低功耗,可在非常有限的功率下工作,這對于物聯網邊緣設備上的AI芯片特別具有吸引力。
2。片外存儲器
3D集成已經被證明是增加商業存儲器的帶寬和容量的有效策略,其可以通過使用從底部到頂部的硅通孔(TSV)技術,堆疊多個管芯或者單片制造的方法來完成。DRAM的代表作品包括HBM和混合存儲器立方體(HMC)。
上圖顯示了NVIDA的GPU產品與HBM集成的AI應用程序。對于NAND閃存,3DNAND正在深入研究。最近,三星已經開發出96層3DNAND。
3。片上(嵌入型)存儲器
由于能夠連接邏輯和存儲器電路,并且與邏輯器件完全兼容,SRAM是不可或缺的片上存儲器,其性能和密度不斷受益于CMOS的尺寸縮放。其易失性使得芯片上或芯片外的非易失性存儲器成為必須。當前主要和新興存儲器的器件指標如下:
此外,自旋力矩傳輸存儲器(STT-MRAM)由于其高耐久性和高速度被認為是DRAM的替代品。
評論
查看更多