領域專用語言
AI掀起高效運算熱潮 DSA/DSL後勢看好
有資訊科學界諾貝爾獎之稱的圖靈獎(Turing Award),在2018年3月宣布2017年度的得獎者,由David Patterson跟John Hennessey兩位研究計算機架構的大師級人物獲獎(圖1)。兩位學者合著的「計算機組織與設計--硬體/軟體介面」,出版至今已有25年,仍是資訊工程學界必讀的權威著作之一。
圖1 2017年度圖靈獎得主John Hennessey(右)與David Patterson(左)
兩位學者對計算機架構跟微處理器的演進產生非常深遠的影響,如精簡指令集(RISC)的概念就是由兩位學者所提出。因此,Patterson跟Hennessey早已注定名留青史,獲得圖靈獎肯定則可說是錦上添花,甚至有些令人意外。
傳統上,圖靈獎是一個非常偏向軟體的獎項,例如人工智慧(AI)研究、程式設計理論跟密碼學,就是圖靈獎的常勝軍,很少由跟硬體有直接關係的研究者獲得。因此,兩位學者在這個時間點獲得圖靈獎肯定,加上眾多新興運算架構如雨後春筍般出現,也象徵著硬體創新的價值,再度獲得各界肯定。
通用架構面臨效能/安全雙重考驗
在過去半個多世紀,製程微縮一直是半導體業者得以降低晶片製造成本、功耗、提升晶片效能最重要的原因,但如今製程微縮已經無法再像過去那樣,為晶片供應商帶來上述好處。先進製程的開發費用極為昂貴,而且對功耗跟效能的提升效果已不若過去明顯。即便電晶體尺寸在技術上還有進一步微縮的空間,對晶片商來說,到底值不值得,是個需要精打細算的問題。
Patterson與Hennessey在得到2017年度圖靈獎肯定之後,於2018年6月聯合發表過一篇公開演說,認為運算架構的發展將進入另一個黃金年代,領域專用架構與領域專殊語言將成為新顯學。
兩位學者表示,摩爾定律發展面臨瓶頸,已經是不爭的事實。不管是記憶體晶片的密度,或處理器晶片上整合的電晶體數量,都已經無法追上摩爾定律原本預期的目標。對處理器晶片製造商來說,靠電路微縮來換取晶片效能提升,已經是一條走不通的路,未來必然要從其他創新,特別是架構上的突破來著手。
然而,回顧處理器架構的發展史,通用架構跟通用語言在過去30年來,其實沒有突破性進展。過去30年間,沒有任何新的通用型複雜指令集(CISC)的指令集架構(ISA)被提出;通用型超長指令集(VLIW)的ISA則有過一次失敗的嘗試,即英特爾(Intel)跟惠普(HP)合推的Itanium 64。歸結通用型VLIW失敗的原因,主要是因為過於複雜,跟循序超純量(In-order Superscalar)不相上下,因此在執行複雜應用軟體時,沒辦法帶來太多實際效益。
不過,VLIW在嵌入式數位訊號處理器(DSP)是成功的,因為這個應用市場對VLIW的需求較為單純,分支問題相對簡單、快取很小或根本沒有快取、程式規模也小。某種程度上,嵌入式DSP其實是一個帶有領域專用色彩的處理器架構。它所要處理的問題範疇相對明確,不像通用型處理器跟通用型語言,要應付各式各樣的需求。
相較之下,精簡指令集(RISC)無疑是目前最成功的通用型運算架構,目前市面上幾乎所有通用型處理器,包含x86處理器在內(更精確來說,是x86指令集相容),本質上都是RISC。然而,RISC能為處理器帶來的效能成長空間,也已經接近極限,需要更多技術跟架構上的突破,才能進一步提高處理器的效能(圖2)。
圖2 過去40年處理器效能進展概況
除了現有運算架構的效能已經接近極限之外,現有運算架構還面臨另一個很大的難題--安全性。2018年初,Google Project Zero對外公布推測執行(Speculative Execution)漏洞,並有其他研究人員基於此漏洞,發展出熔毀(Meltdown)與幽靈(Spectre)兩大類攻擊手法。由於此漏洞普遍存在於現有的處理器架構上,因此英特爾(Intel)、超微(AMD)與安謀(Arm)均無一倖免,且很難用軟體予以解決。
Patterson與Hennessey指出,現有的CPU架構其實在介面上非常老舊,因此存在許多攻擊向量,英特爾CPU的管理引擎(Management Engine, ME)處理器就是其中之一。可以預期的是,未來還會有更多基於CPU架構漏洞而發展出來的攻擊手法,如果不從架構翻新著手,類似問題將層出不窮。
領域專用型架構/語言將是未來方向
通用型處理器架構跟語言未來的效能發展,顯然已經面臨困境。未來晶片業者如何推出效能更強的新產品,來滿足市場需求?兩位學者認為,領域專用型的處理器架構跟程式語言,將成為未來發展機會最大的方向。所謂領域專用型的架構跟語言,分別是指針對特定領域的需求屬性客製化的運算架構,以及配合該架構所使用的程式語言。
通用型架構所面臨的問題,前文已經有所論述。通用型程式語言的發展,主要面臨的問題在於過度強調程式開發者的開發效率,忽視了程式執行的效率。從當代腳本式語言的發展就可以看出,程式語言的發展是朝鼓勵設計重用(Re-use)、語法更自由的方向發展。這個方向有助於提高程式開發的效率,但對程式執行的效率卻沒有太大幫助。
因此,如果要追求更好的效能表現,處理器開發商跟軟體社群必須改變思維,針對其鎖定的應用發展出最佳化的架構。目前領域專用型架構跟領域專用型語言進展最快的應用領域,當屬機器學習、電腦繪圖跟可編程網路交換器、介面。這些應用各自孕育出神經網路處理器(NPU)、神經網路加速器、繪圖處理器(GPU)等對應的硬體架構,同時也發展出一套自己專用的程式框架或API。
更具體地說,Google的TPU與TensorFlow、GPU與OpenGL的搭配組合,就是領域專用架構跟領域專用語言的實際案例。TPU跟GPU各自有其適合處理的運算任務,在某幾種應用領域內,搭配專用的軟體語言,可提供極佳的運算效能;但如果離開其所擅長的應用領域,其整體效能表現就會大打折扣。
而這也意味著DSA跟DSL的發展必須相互依存,如果DSL的發展獨立於DSA之外,雖然可以有比較好的靈活度,但通常是以犧牲執行效能作為代價。TensorFlow就是獨立於TPU之外發展起來的DSL,因此在執行效率上還有可改善的空間。這也促使Google決定自行發展XLA編譯器,以提升TensorFlow執行效率。
大量新創公司擁抱領域專用概念
事實上,兩位學者所提出的方向,是科技業內許多廠商在過去幾年一直追求的目標,特別是半導體領域的新面孔,其領域專用的產品布局方向非常明顯,如自行開發TPU的Google,以及正在大力挖角各方好手,也想開發自有AI晶片的Facebook,以及中國的百度、阿里巴巴,都是朝領域專用處理器的方向進行布局。
除了網路大廠,半導體新創公司普遍也是以領域專用作為產品布局的主要策略,特別是中國的晶片設計公司,在人工智慧、機器學習的浪潮下,普遍以神經網路加速器作為創業題目或未來發展重點。
明導國際(Mentor)執行長Walden Rhines(圖3)就指出,半導體購併浪潮冷卻後,現在半導體領域的新創公司又開始大為活躍,並獲得創投基金大量挹注。根據明導彙整多家研究機構與自身研究團隊的數據指出,AI跟ML是2012~2018年期間,創投基金對半導體新創公司挹注金額最多的應用領域,總金額達到11.63億美元(圖4)。
圖3 明導國際執行長Walden Rhines認為,DSA將成為未來處理器發展不可忽視的主流。
圖4 2012~2018年全球創投基金對半導體新創公司投資金額概況
如果只看2018年,僅14家AI/ML新創公司從創投取得的資金,就高達7.86億美元。AI/ML成為爆紅創業題材的情況,由此可見一斑。這些AI/ML新創公司都是採用領域專用架構來開發晶片的企業,具體產品則是神經網路加速器或神經網路處理器。
軟硬體共同設計考驗老將新秀
大量新面孔帶著新的題目加入半導體產業行列,對產業發展是好事。但從現實面來看,創業成功的機率本來就不高,即便是選擇市場機會大的題目,輔以合乎產業發展潮流的產品策略來創業,失敗的風險也不低。以DSA跟DSL為例,要開發這種產品,設計團隊必須非常了解應用需求,DSL跟相關編譯器技術要有一定的掌握度。此外,硬體架構的設計原則跟實作等硬體開發的基本功,也是成功不可或缺的關鍵。
以此進一步分析,大型網路公司本身就是使用者,同時又是軟體起家,因此前兩項要素的掌握度較高,至於硬體開發相關環節,則較為欠缺,必須靠挖角或購併來建立硬體團隊。新創公司則通常是以硬體架構或編譯器作為核心能力,但實作跟應用需求的掌握度較低,必須盡快補足。
至於現有的晶片設計公司,在硬體設計方面具有優勢,但對於新興的DSL通常掌握度較低。如何招募到相關人才,強化對新興語言的支援性,或許是最大的考驗。
直言之,在DSA/DSL大行其道的未來,軟體跟硬體必須同步發展,相輔相成。純軟體或純硬體公司,恐怕都得因應此一趨勢的轉變,及早規劃轉型對策。