2015年前後、人工智慧(AI)開始大規模崛起之際,曾聽過一個說法:如果2015年的某個人穿越到2005年——也就是10年前,他應該是很難適應的,因為這10年間興起的社交網路、4G通訊、智慧型手機,從根本上影響到人類的生活方式。但要是某個生活在2005年的人穿越回1995年——同樣的10年,他大概是能夠適應的,或者說即便無法輕易適應,也會很快適應,因為這10年資訊技術對人類生活方式的顛覆並沒有那麼顯著。這一點說明的是資訊技術的指數級發展速度,依照這個思路,或許5年以後的人類穿越到現代,他就已經無法適應了,尤其參考這些年AI發展呈現出的狀況。

尤其在摩爾定律失效或遲緩的當下,這種趨勢是否會持續?架構革命是人們始終在提的一種方案。上周在上海舉辦的CDNLive China 2019全球巡迴用戶大會就體現得相當淋漓盡致。CDNLive是Cadence公司一年一度舉辦的全球用戶大會,2019年度CDNLive大會以Cadence 創新的「智慧系統設計(Intelligent System Design)」戰略為主題,Cadence總裁Anirudh Devgan,以及Cadence的眾多合作夥伴在會上提出了他們的設想。今年的Cadence CDNLive China 2019吸引了超過130家企業、 1,400位IC設計從業者參與,在規模上延續了中國IC設計業涵蓋技術領域全面,以及規模最大的技術交流平台傳統。

Cadence邀請的重要合作夥伴,依圖科技聯合創始人、CEO朱瓏為我們更形象地呈現了這種「指數」級速度在人類歷史上的含義,以及當前AI技術的發展速度。

下圖題為「文明的變遷」,「從直立行走到今天,花了五六百萬年的時間;此後的1萬年前,人才有了比較初始的形態,開始產生農業文明。」朱瓏說。這期間又有了漫長的歷史過程,到1759年才發展出後續幾次工業革命。技術的這種革新速度實則並不是在電子科技發展後才呈現出這種指數級的速度。

20190822NT61P1

「60年前,才有了最早的AI,就是金色的這條曲線。而AI的某些技能,開始與人類智慧產生交叉,或者說超越人類,這是非常奇妙的時刻。」在整個這條指數級發展的長河中,朱瓏指出,「我們認為,文明的變化,時代最重要的變化,始終是基礎設施的革命。從剛開始原始文明,石器、火,到農業文明有了文字、輪子,工業文明的內燃機等發明,以及過去幾十年的時間,資訊時代,PC的發明,都是基礎設施的變革。」

當代的基礎設施大抵上就是指材料、半導體、生物基因編碼等領域的發展。朱瓏表示,「2015年,人臉辨識機器已經超過了人類」,這其實就是AI的某些技能超越人類的節點。「資訊時代的過去30年,運算能力、儲存能力、傳送速率都提升了百萬倍。而以人臉辨識為代表的智慧,在過去5年中,現在的機器和過去超越當年人類的機器相比,從演算法的角度又提升了一百萬倍。」AI顯然是這個時代指數級發展,改變人類生活方式,及當代資訊技術的主題。

AI晶片設計難題在哪?

摩爾定律的停滯是產業的一個共識,維持上述指數級發展速度也已經越來越吃力。所以被人提了無數次的恐怕就是架構革命了,這其實也是Cadence以其產品在大會上傳遞這個理念,並期望協助晶片製造商落實這個理念的原因。不過這種架構革命並不止於一家企業或某一類晶片微架構的改良這麼簡單。

AI、深度學習或者說人工神經網路,可以算得上是某種全新的運算方式,「人工神經網路其實是根據神經元結構想像出的神經元的連接結構,神經元將傳來的資料經過加權送到下一階段去。」清華大學教授魏少軍表示。實際上,從這個角度來看,近期越來越熱門的模態脈衝神經網路,在架構變革上顯得更徹底。這些都指向AI作為未來的可行性。

在前不久的《深度學習的興起,是通用運算的挽歌?》一文中曾提到過通用運算正在走向衰落,未來可能是專用處理器大行其道的時代。這種論調建立的根源實則是摩爾定律放緩。魏少軍為我們提供了另外一種思路,主題演講中,他呈現了一張圖。

20190822NT61P2

上圖是來自ISCA 2018的一場主題演講,圖中橫軸表示的是晶片的可程式設計性(programmability,或稱可配置性、可重構性),縱軸表示能源效率(Energy Efficiency,每消耗1毫瓦,達到的運算能力)。在運算彈性方面,如在先前的文章中談到的那樣,通用運算的CPU是最佳的,而專用晶片最差;但相反的,CPU能效比最差,專用晶片最佳。中間地帶的比如GPU等。

當代的AI晶片就屬於典型的專用晶片。這種專用,如魏少軍所說,造成的問題就在於: ˙第一,演算法在不斷演變,每3~6個月就變一次;

˙第二,一種演算法只對應一種應用,沒有通用的演算法。

魏少軍表示:「做一個AI晶片,都還沒做好,演算法就變了,或者做好了還沒投入應用,演算法就變了;好不容易做了個晶片,只能解決一個問題,但客戶說我要解決兩個問題。」

比較有意思的是,朱瓏在會上提到「AI晶片為什麼難」的時候也提了三點,有兩點與魏少軍所說的一致,在一般企業造AI晶片的時候,如果:

˙沒有典型場景應用,就沒有意義;

˙沒有世界級的演算法,就沒有意義;

˙沒有超越Nvidia的晶片,就沒有意義。

除了第三點之外,實則在專用晶片的應用場景單一性和演算法方面,兩位元專家的觀點表現出了高度一致;而朱瓏提到的最後一點,實際是市場競爭對算力的要求。朱瓏說,在應對的方式上,針對第三點的運算力問題,一般產品「很難超越Nvidia,很難超越英特爾」,所以解決問題的關鍵就集中在了應用場景,以及演算法上。

未來的一場架構革命

「處理演算法演進的不確定性,以及場景的不確定性」是橫亙在AI晶片開發中的阻礙,「如果能猜對最重要的應用場景是什麼,針對演算法的最佳化空間也會非常大。」朱瓏認為。

實際上,已經可看到依圖針對這個問題的早期解決方案。今年5月,依圖科技發佈了應用於伺服器的視覺推理AI晶片求索QuestCore。這並非AI加速模組,「而是一個完整的具有端到端能力的AI處理器。這個晶片最大的特點是,整個SoC包含了x86晶片原有的功能,以及為AI設計的功能。主要注重在視覺資訊的處理上,就是視頻和影像,不是說其他的AI不能做,而是我們最佳化最重要的目標是視覺訊號辨識。」

20190822NT61P3

這本身就可以認為是這個時代,針對傳統架構的一種變化方式和應對摩爾定律放緩的某種解決方案。從朱瓏展示的這張示意圖來看,QuestCore的單一產品相當於「CPU加上Nvidia的卡」,在採購的成本,以及本身功耗及應對專門領域的單位面積運算力上是有優勢的。不過實際上,QuestCore仍然有規劃中面向的主要應用場景,即便它或許已經透過架構增加了本身的靈活性:依圖認為,QuestCore可應用於智慧城市管理,畢竟視覺處理是其強項。

而在魏少軍的認識中,進一步「猜對」應用場景的關鍵在「軟體定義晶片(Software Defined Chips;SDC)」,以在未來實現更完整的硬體架構靈活性。「去年圖靈獎獲得者的兩名大牛,他們總結AI就是Architecture + Intelligence,我覺得AI應該是Architecture Innovation,最終成為智慧化晶片」。魏少軍提到,這就可以回到前文提到的ISCA 2018的那張圖,真正在能效比和可程式設計性方面找到平衡性的,應該是就是Software Defined Chip。

20190822NT61P4

針對完全不同演算法和應用場景的神經網路,「如何把眾多不同的神經網路,整合到一種?這顯然需要我們重新找個架構;而且還需要很高的運算效率。」魏少軍說。

美國DARPA早前曾提出過ERI(Electronics Resurgence Initiative)專案,要在2025~2030年加強美國「國家的電子能力」,從材料、設計和架構方面做變革,投入大約是15億美元。其中在架構這一方面就提到了軟體定義硬體(SDH):構建運作時(runtime)可配置硬體和軟體,在不需要犧牲可程式設計性的情況下,就實現接近ASIC的性能。這裡面涉及到構建程式設計語言和編譯器,在運行時最佳化軟體和硬體。

說得更具體,硬體架構、功能能夠根據軟體,即時地發生動態變化。魏少軍表示,「我們做晶片遇到一個最大的挑戰,是如何實現差異化。晶片做了6個月,設計、生產,28個月後,突然發現市場上有很多差不多的晶片。開始定義晶片,到最終走向市場之間,有2~3年的時間,差異化又怎麼去做?」

魏少軍指出,「我們作為人類,剛出生的時候都差不多。為什麼20~30年後,每個人都變得不一樣?因為我們在學習,我們接受教育。教育和學習讓我們有了個性,那麼能不能讓晶片透過接受教育和學習,跟別人變得不一樣?如果能做到這一點,晶片會越用越聰明,越用越離不開。」

20190822NT61P5

針對這種具備超強靈活性的設想,其中一種解決方案是如上圖左下所示,這個結構中有一個通用的控制器(controller),這是個完全可程式設計的有限狀態機(FSM),能夠讀取資料、控制流和配置上下文(由軟體生成),其上跑一個相關任務的狀態流圖(state flow chart),並控制每個子任務的執行。這裡每個狀態對應於一組子任務,這些子任務需要執行,且關聯一系列的可配置上下文。

而這種架構中的,另外一個關鍵組成部分是通用資料通道(Data path),這實際是個處理單元(PE)陣列。每個PE可以是多功能的,可根據軟體中相應的操作來進行配置。控制器和資料通道構成這種動態可程式設計晶片架構。

在高階語言和這裡的SDC的中間,有一個SDC compiler,不過這個compiler並非程式中傳統意義上的編譯器,它實際上是高層級的一種綜合體現(high-level synthesis)。SDC不再使用「指令(instruction)」,而透過資料流程、控制流和配置流來重新定義晶片功能。

20190822NT61P6

魏少軍提出再高一個層級的架構方案是,帶有片上(on-chip)AI訓練、片上compiler和可重配置運算架構的晶片。其組成如上圖所示,利用自我學習過程,讓演算法和軟體自動演進——實現這種演進的方案還是通過神經網路。上圖中,右邊的運算結果輸出到左邊,透過AI學習,對中間軟體和演算法的演進產生影響。「再進一步根據硬體、結果去選擇我們需要的。利用這種正向迴圈,讓晶片在不斷的學習過程中更聰明。」魏少軍說。

AI本身的發展,已經讓圖中的運算引擎和訓練引擎模組有了眉目,中間部分的on-chip compiler和軟體演進實則是最難的,也是當前產業努力的方向。魏少軍說,「一個好消息是關於on-chip compiler這部分,我們已經解決了。但軟體怎麼演進,今天仍然不知道應該怎麼做。」

「一旦我們實現了這種晶片的智慧化、正向迴圈,相信以我們的市場,實現AI晶片的第三個階段就不遙遠了。」

需要工具助力架構變革

這裡提到的「第三個階段」,源自魏少軍總結的AI晶片演進方向。在他看來,AI晶片: ˙早期0.5階段,是利用一些非專用晶片實現AI運算,比如英特爾的通用運算CPU、Nvidia的GPU,這個時間段算力還在GOPS-TOPS量級的過渡;

˙而在1.0時期,就誕生了Google TPU、Nvidia的SCNN等硬體,它們偏向ASIC形態,是真正的專用晶片,性能大到TOPS量級,真正開始注重能效比;在0.5~1.0時期,偏向雲端AI的訓練;

˙2.0時期開始,逆向至「半通用」和可配置,比如清華(TsingMicro)的Thinker晶片,或許依圖的QuestCore也可歸於這一階段;這階段延開始真正關注運算的彈性,也就是前面我們花這麼多篇幅談的內容;

˙3.0階段,是未來,也就是前文提到的晶片「智慧化」;魏少軍表示,「我們走在了第二個階段,正在向第三階段邁進,讓晶片智慧化是最重要的。」

20190822NT61P7

實際上,我們可能很難預言晶片智慧化的到來時機,但套用魏少軍的話來說,它「是個不可逆的過程」。這種針對摩爾定律放緩的架構革新,在想法上可謂非常激進了,遠不是英特爾 Tick-Tock戰略中一個微架構反覆運算這麼簡單。不過實現這樣的目標,落地還是最重要的,那麼Cadence實則是落地第二階段,並且向第三階段邁進的平台和工具。

Cadence在前兩年開始跨足「系統設計」,走出傳統EDA模式之時就提出了「智慧系統設計(Intelligent System Design)」,這也是助力AI晶片實現的重要組成部分,或者說是推進未來AI晶片的一種必然趨勢。Cadence中國區總經理徐昀在會上表示:「今年對Cadence而言是特殊的一年,Cadence踏入系統分析市場,並推出系統設計戰略,透過智慧化系統設計在日常開發中為客戶提供更多的協助。」

很多系統公司現在更傾向於自己開發專有晶片,而非從半導體公司採購,這樣一來產品能夠在市場上體現出差異化。這些系統公司專注於系統設計,開始從軟體下潛到了物理晶片設計。基於這種趨勢,半導體企業也開始專注在整個系統上,為客戶提供更多針對系統的解決方案。

Devgan也特別以「智慧系統設計」為主題做了演講。最初是行動和消費使用者產品,領銜這種整個系統的設計最佳化。像智慧型手機這種發展已經偏成熟的領域,設計者為了體現手機的差異化,會開發屬於自己的定制系統和SoC,將硬體和嵌入式軟體結合起來做最佳化,獲得最佳系統性能和能耗比,與此同時還可兼顧安全性,系統物理設計、電子、熱等特性分析,對產品而言也都變得很重要。

到如今,汽車、航空航太、工業、醫療等領域也開始有這種轉向的趨勢。這種趨勢,從端到雲都更有利於充分利用超高速連接、AI的能力,計畫定制系統的開發和特定應用需求最佳化的SoC。

另一方面,如前所述,AI和機器學習能力變得非常普遍。這可以從兩個層面來談。其一是晶片或者系統產品應用AI能力,讓整個系統借用AI技術來實現高性能、高能效。包括自動駕駛、安防、智慧語音助理、金融應用等領域;機器學習、深度學習實際融入到了這些領域的多個層級。類似Cadence這樣的上游企業本身就在著力提供包含了AI處理器IP的機器學習硬體系統,比如說Tensilica DNA 100 AI處理器IP,適用於on-device的神經網路推理應用,適配於AR、VR、智慧型手機、智慧家居、汽車ADAS等各種領域。

20190822NT61P8

其二是在Cadence本身的開發工具產品內加入AI,加強開發品質。典型的比如說Cadence的Genus與Innovus解決方案,在這套完整的流程中,包含了一個加入機器學習的設計最佳化閉環,並最終產生PPA(功耗、性能與面積)的最佳化方案;還有比如第三代JasperGold形式驗證平台,是基於超過500種設計的監督學習,在推理後產生定制的求解(solver),這些其實也是AI普及到產業各層面的某種佐證。

20190822NT61P9

所以Cadence的智慧系統設計策略是從底層核心EDA+IP,延伸到系統設計和垂直領域的AI與演算法方案。這實際上回應了架構變革的市場基礎,也是前述AI晶片走向新階段的雛形和依據。

智慧系統設計解決方案的具體產品方面,底層核心EDA能力的有full-flow的數位設計與signoff方案工具、Verification Suite驗證套件、雲組合產品,以及預設計IP庫等——這原本就是Cadence的強項。

而延伸領域的系統設計層面,比較典型的有Clarity 3D Solver,著力於針對5G、汽車、高性能運算、機器學習應用等系統設計比較複雜的電磁相關問題;還有Protium這類提供早期軟體發展和高性能系統驗證的企業原型產品平台,和加速SoC、子系統、IP模組和系統級驗證的Palladium等;AI相關的產品包括前面提到的AI相關的IP,和各種原有Candence解決方案的機器學習強化版(如前文提到的Innovus佈局佈線、JasperGold形式化驗證),實現AI晶片建模、AI智慧驗證解決方案。

與材料、製程定義人類技術指數級發展的時代不同,AI在這個時代才是持續指數級發展的源泉:我們在Cadence CDNLive China 2019看到眾多半導體企業,以及學術機構在為企業賦能AI、製造AI晶片,為上層提供驅動力的同時,自己也在利用AI帶來的便利實現更智慧的晶片設計。

不管是依圖科技的QuestCore晶片產品,還是魏少軍構想的SDC內部再應用一套完備的AI結構,或者Cadence從核心EDA/IP到系統設計的策略變遷,這其實是現在我們真正在談的「架構革命」的核心與未來。

本文為EE Times China原創文章