0
新的方法、新的思維、新的目標一直引領著新的浪潮。2017年的兩位圖靈獎得主John L. Hennessy 和 David A. Patterson在年初的一篇報告中展望,未來的十年將是計算機體系架構領域的“新的黃金十年”。
AI的發展更加期待新架構的出現,因為,經典的馮諾依曼架構處理器應用于深度學習計算時面臨著內存墻挑戰(訪問存儲器的速度無法跟上運算器消耗數據的速度)。粗粒度可重構架構(CGRA,Coarse Grain Reconfigurable Architecture)是AI芯片受關注的一個方向,目前已經有5款采用該技術的芯片推出。
可重構是否是解決AI計算挑戰的一個好方向?已經推出的可重構AI芯片有何不同?

什么是可重構?
可重構的概念最早在20世紀60年代被提出。到了80、90年代,可重構芯片技術源頭的高層次綜合理論和方法誕生。進入新的世紀,2015年國際半導體技術發展路線圖(ITRS)認為,粗顆粒度可重構架構(CGRA)是未來最有發展前途的新興計算架構之一。
2018年,美國DARPA正式啟動旨在支撐美國2025-2030年電子技術能力的“電子復興計劃”(ERI),提到研發具有軟件和硬件雙編程能力,并獲得接近專用電路性能的技術。在這里領域,魏少軍教授牽頭的清華大學可重構芯片課題組在這個計劃提出的十年前就開始了研究,課題組現在的成果比ERI設定關鍵性能的指標更高。
從60年前可重構概念的提出,到2019年有可重構AI芯片量產,可重構并不是一個新概念,卻是一個挑戰眾多的技術。這種挑戰很大程度來源于,動態可重構芯片既要有CPU和GPU級別的軟件可編程性,也要有FPGA級別的硬件可編程性。
魏少軍教授總結認為動態可重構芯片預期的特點和潛在能力區別于傳統芯片有7點:
(1)軟硬件可編程;
(2)硬件架構的動態可變性及高效的架構變換能力;
(3)兼具高計算效率和高能量效率;
(4)本征安全性;
(5)應用簡便性,不需要芯片設計的知識和能力;
(6)軟件定義芯片;
(7)實現智能的能力。
可重構芯片的技術的源頭高層次綜合(High-LevelSynthesis)理論和方法,是一種從行為描述到電路的優化設計方法。也就是先找到數據依賴關系,然后通過運行時間的分割,對運算進行調度來實現計算資源的復用。

高層次綜合生成的專用集成電路架構
用高層次綜合系統的實現過程進行更具體的解釋,系統輸入用硬件描述語言(HDL)寫成的系統行為描述(如VHDL或Verilog),然后根據這些行為描述,通過高層次綜合的編譯器,生成包含數據和互連網絡配置信息的微控制碼以及與系統功能相關的有限狀態機。
不過,這里所說的“編譯器”與傳統的計算機的編譯器并沒有任何關系,只是借用編譯器的概念,其核心是一整套高層次綜合方法學的內容。
高層次綜合系統使設計過程變得非常有序,也被認為是20世紀80、90年代集成電路設計方法學中最好的選擇。

可重構芯片的基本架構
不過,半導體制程技術的演進也帶來了高成本的問題。如果研發一款14nm制程的芯片,綜合成本高達1.5-2億美元,通常要銷售3000萬顆以上才能把研發成本合理地攤銷到每顆芯片上。如果采用目前最先進的7nm制程的芯片,綜合成本可能高達3億甚至更多。芯片的設計和制造成本在增加,但AI對算力的需求也在按月增加。
這時候,復用芯片是個不錯的選擇。設想一下,相同的芯片,功能可通過軟件改變,不同的軟件寫入就變成了“專用”芯片。這將是非常理想的情況,如果這個想法實現,可以認為軟件定義芯片就成為了現實。
但挑戰在于,軟件可以無限復雜,執行時間可以無窮長,硬件不管多大都有邊界。可重構芯片業面臨眾多挑戰,其中有三個主要的挑戰:
計算模式:如何提高陣列利用率?
陣列結構:如何提高計算能效?
算法映射:如何優化映射效率?
可重構技術的優勢和挑戰都同樣顯著,采用這個技術,清微智能、耐能、云天勵飛、燧原科技、WaveComputing相繼推出了AI芯片,他們有何不同?
5款可重構AI芯片面世
清微智能
清微智的核心成員來自清華大學可重構計算研究團隊,2019年量產的首顆芯片是TX210,這款語音SoC芯片可以應用于智能手機、可穿戴智能設備、小家電、大家電、玩具、車載等場景。清微的可重構芯片主要分為三個維度,從MAC層面支持不同的位寬重構,到執行單元層面支持不同算子重構,再到陣列層面支持不同功能重構。
用一個更容易理解的類比來解釋清微可重構芯片的可重構程度,清微的可重構芯片既可以是“樂高”層級的可重構,也可以是“面粉”層級的可重構。
清微智能CTO歐陽鵬此前接受雷鋒網采訪時透露,在可重構計算更低能耗和更強靈活性的基礎上,他們在具體的芯片設計上又做了兩方面深化。

清微的AI芯片支持從1bit-16bit的混合精度計算,同時,不同的神經網絡層可以采用不同的精度表示,可實現實時切換精度。在具體實現過程中,可重構模式動態重組計算資源和帶寬,根據精度表示,讓計算資源和帶寬接近滿負荷進行計算,從而將混合精度網絡下的計算資源和帶寬的利用率逼近極限,高效支持多種混合精度的神經網絡。
另外,清微的AI芯片針對神經網絡部分和非神經網絡均進行了計算效率考慮。針對非神經網絡處理邏輯,從算法數據流圖進行空間映射,以接近ASIC效率計算。同時,通過配置形成不同的電路結構來動態處理不同非神經網絡計算邏輯,在保證靈活性前提下,計算效率有極大提升。
需要指出,可重構芯片代表的是采用的是數據驅動下的空域執行模式,區別于CPU、GPU、NPU諾依曼架構的時域計算模式,數據流驅動的芯片從架構上就可以避免了馮諾依曼架構的限制。

目前,清微智能除了可重構架構的語音芯片,還發布了面向智能家居、智能安防和新零售領域的低功耗圖像識別芯片。
云天勵飛
云天勵飛沒有具體解釋其芯片中的可重構架構,云天勵飛副總裁 芯片產品線負責人李愛軍在接受雷鋒網采訪時表示,云天的實現方式是從PE的維度進行可重構,可以理解為運算單元的可重構,通過工具鏈實現芯片的靈活性。因此,采用的方式和維度會有所不同(與清微相比),但最終的效果應該是異曲同工。

在其今年11月發布的專注邊緣和端側視覺新產品DeepEye1000介紹中提到,采用存算融合體系架構和可重構計算陣列,可以靈活、高效的執行各種深度學習算法模型的推理計算,峰值算力達2.0Tops。
神經網絡處理器采用可重構計算陣列,支持靈活可編程計算流,計算效率超過99%,同時采用存算融合體系架構,使得DDR存儲訪問帶寬下降77%,功耗下降60%。
更多的技術細節,需要云天勵飛進一步披露。
耐能
耐能今年5月在國內發布物聯網專用AI SoC——KL520時表示這款新品使用了可重組架構,雖然不是可重構技術,但兩者之間同樣存在關聯。還是用上面的類比來解釋,耐能的架構是積木層級的可重組,清微智能的可重構則是面粉層級的可重組,更加底層。

耐能CEO劉峻誠解釋,可重組架構可以理解為這款芯片提供的是一堆樂高積木,需要支持語音AI的模型時就通過指令集進行組合,需要支持圖像AI模型時,再重新組合,可以很好地支持多種神經網絡模型,并且保持架構的精簡性。
由此能夠帶來性能和功耗的優勢,如果選用更加成熟的工藝制程,降低成本,最終能實現高性能、低成本、低功耗、高兼容性的優勢。
至于如何解決AI芯片存儲挑戰的問題,劉峻誠透露,他們的巧思是實現了動態存儲DMA(Dynamic Memory Assessment),當處理器對存儲沒有很高的需求時,就預先準備好,當需要使用的時候就直接讀取,實現效率的提升。
另外,可重組架構還能動態支持同一個神經網絡的不同數據精度需求。最終產品可以根據客戶的需求,支持Int8、FP16或更高的精度。壓縮率也能夠控制在0.5%以內則是來源于耐能獨特的開放平臺,通過這個開放平臺能夠將壓縮率提升40甚至50倍,壓縮率損失則小于0.5%,這是軟件或者說軟硬一體優勢的體現。
據悉,耐能的可重組架構研究已經在國際知名的半導體期刊上發布,并且在美國、臺灣都拿到了專利。
燧原科技
除了將可重構的理念和技術應用于邊緣端,同樣是國內初創公司的燧原科技在其云端訓練AI芯片中也用到了可重構。
燧原科技的首款芯片邃思DTU基于可重構芯片的設計理念,其計算核心包含32個通用可擴展神經元處理器(SIP),每8個SIP組合成1個可擴展智能計算群(SIC)。SIC之間通過HBM實現高速互聯,通過片上調度算法,數據在搬遷中完成計算,實現SIP利用率最大化。

如何理解DTU中的可重構芯片設計理念?燧原科技創始人兼 COO 張亞林告訴雷鋒網,“端上的可重構更多是低功耗以及可以輕易移植應用。云端的可重構主要的是把整個數學計算變成一種可編程的指令集和可控的流水線,讓數學計算的模型可以重構,這樣可以保證芯片的通用性,也能夠適應快速迭代的AI算法。”
更進一步的細節目前也暫不清楚。
Wave Computing
國內采用可重構技術的AI芯片不少,國外初創公司Wave Computing的AI芯片也采用該技術。其基于數據流驅動DataFlow技術的DPU采用非馮諾依曼架構的軟件可動態重構處理器CGRA技術,能在最合理分配和使用算力的同時,成倍節約了數據存儲和傳輸帶寬。官方表示,這一方案基本上能將芯片算力資源的利用效率保證在75%-80%以上。

具體而言,DPU對一個完整的神經網絡計算流程,每個計算節點,可以先分配好合理的資源,使得整個計算流程達到資源有效地使用。處理完第一個任務節點,它會將數據直接傳輸到第二個任務節點的輸入端,第二個任務處理完數據后,又會將任務送到第三個任務節點的輸入端,就像流水線,最大程度減少數據存儲和傳輸。
同時, DataFlow技術架構的整體解決方案會有一個獨立的通用CPU模組來提供控制、管理和數據預處理功能,但無需實時干預DPU。
目前,Wave Computing商用的DPU采用16nm制程工藝,每個DPU有16384個處理元件(PE),面積為300多平方毫米,并以6 GHz以上的速度運行。其DPU與國內外多家云服務商和AI公司均有緊密合作,合適汽車電子、智慧醫療等各種復雜、算力要求高的各類AI應用。
無論是國外還是國內,無論是云端還是終端,都有采用可重構技術的AI芯片已經推出,這表明可重構技術無疑是業界關注的一個新技術。但各家對技術的理解和應用也有差別,從目前的信息看,清微智能對該技術做了更深入的解讀,Wave Computing也發布文章解釋其DTU,云天勵飛、耐能、燧原科技還沒更進一步的技術解讀。
理想的可重構不僅能夠滿足不斷迭代的AI算法以及各種應用的需求,軟件定義芯片的方式也能盡可能延長芯片的使用時間,但實現理想的可重構芯片仍然還有許多挑戰。
相關文章:
Live回顧|清微智能科技CTO:可重構計算芯片的技術原理及實現難點
首發 | 全新類別AI芯片量產,清微的可重構芯片將成市場主流?
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。