【隨著機器學習的作用日益重要,硬件真的仍處于黃金時代嗎?】如果你所在的產(chǎn)業(yè)有長達60年的歷史,大眾的認知可能是它已經(jīng)來到了“熟齡”、即將邁入暮年,就像是半導體產(chǎn)業(yè)…但現(xiàn)在有越來越多說法則是,硬件又悄悄地重新成為市場潮流。
在6月底于美國舊金山舉行的年度設計自動化大會(DAC2018)期間一場“40歲以下創(chuàng)新者”獎項得主座談會(YoungUnder40InnovatorsAwardPanel)上,來自Google的平臺架構師李晟(ShengLi)對臺下聽眾表示:“我認為這是硬件人的黃金年代?!?/p>
另一位“40歲以下創(chuàng)新者”得主、美國喬治亞理工學院(GeorgiaTech)副教授ArijitRaychowdhury也呼應了李晟,表示:“我認為現(xiàn)在對硬件工程師來說是好時機,有很多機會?!?/p>
身為硬件IC產(chǎn)業(yè)界的一份子應該都會欣然同意以上說法,相信實際情況對自己有利;數(shù)據(jù)中心與新興AI應用領域的爆炸性成長,仰賴芯片設計工程師開發(fā)出速度更快、性能更強大、功耗卻更低的處理器,而且能建立在不同的運算架構上。
但筆者抱著懷疑態(tài)度,認為這種“硬件潮流重現(xiàn)”的說法需要進一步檢視。身為座談會主持人,筆者并不認為這幾位“40歲以下創(chuàng)新者”獎項得主對硬件產(chǎn)業(yè)的樂觀看法是作假,他們也沒有人說半導體產(chǎn)業(yè)是回歸了那個只要像往常一樣做生意的輝煌時代。
Hardware-F1-20180711DAC2018的“YoungUnder40Innovators”獎項得主,由左至右依序為:DavidAtienza、ShengLi、ArijitRaychowdhury、YuWang與ZhiruZhang。(來源:EETimes)
我們都能感覺到這個產(chǎn)業(yè)的劇烈變化,但我不認為硬件人都能良好掌握下一步。因此我詢問臺上的每一位青年工程師與學者,在他們各自的領域中,“創(chuàng)新的瓶頸”何在?
瑞士洛桑聯(lián)邦理工學院(EcolepolytechniquefederaledeLausanne,EPFL)副教授DavidAtienza指出,近來人工智能(AI)與機器學習領域的興盛,讓他擔心硬件領域與該領域之間存在非常大的鴻溝,因為前者是聚焦于解決AI各方面問題的大量軟件,但在硬件層面仍是以非常傳統(tǒng)的架構為基礎。
Atienza的疑問是,AI軟件可以繼續(xù)演進,但是“關于硬件我們該怎么做?”他指出,可以開發(fā)加速器,不過在“應用程序要求硬件做的事情”以及“硬件可以處理的事情”兩個方面上,仍存在非常大的差距。而我們顯然會需要仰賴EDA工具來設計新加速器,但那些工具真的了解系統(tǒng)需求嗎?Atienza直言:“EDA產(chǎn)業(yè)要生存,就得往更高層級移動,必須要能支持全套方案?!?/p>
軟硬件界線越來越模糊
更讓硬件設計界感到不安的,是抽象層(abstractionlayer)顯然正在消失。曾任職英特爾(Intel)實驗室的李晟指出:“我在職業(yè)生涯中一直擔任平臺架構師,以往都有一個抽象層將軟件從硬件結構中分離出來,因此兩邊能各自獨立運作;”但再也不是如此。
他的觀察是:“抽象層已經(jīng)開始崩潰,”我們有越來越多數(shù)據(jù)以及更先進的算法,需要更多運算能力;但是摩爾定律(Moore’sLaw)已經(jīng)步伐趨緩好一段時間:“我們無法再提供那么多的運算能力,或者說我們無法用過去那么快的速度提升運算能力,”使得軟件與硬件架構之間出現(xiàn)巨大鴻溝。
李晟的看法是,“將不會再有純粹的軟件或是硬件架構;”而是會出現(xiàn)“架構導向應用程序”(architecture-drivenapps)或是“應用程序感知架構”(application-awarearchitecture)。
EPFL的Atienza同意以上看法,他表示:“確實如此,我們在學術領域看到越來越多這種類型的教育方法,我們不要人們只做硬件或軟件,大家需要被教育、訓練為兩種都能做?!?/p>
曾任職于德州儀器(TI)的喬治亞理工學院Raychowdhury的觀察則是:“當我剛進入這個產(chǎn)業(yè)時,我們有個想法是必須打造固定功能的加速器,但很長一段時間后,情勢并非那么明朗,我們不確定什么樣的任務或功能需要加速器,我們也不清楚硬件領域的實際瓶頸所在。”
隨著機器學習成為關鍵應用,硬件設計工程師的目標越來越明確。“我們現(xiàn)在知道,就算是用GPU,訓練大型網(wǎng)絡仍需要花很長時間;從設計領域的角度來看,人們尋求的是取得更高帶寬的內(nèi)存,以及打造固定功能組件以加速某些任務──我們現(xiàn)在知道這能創(chuàng)造很大差異,而且很合理;”Raychowdhury樂觀表示:“所以我感覺這個領域會有很多東西發(fā)生?!?/p>
他補充指出:“還有其他我認為即將發(fā)生、也看到晶圓代工業(yè)者特別積極的,是高密度內(nèi)存的問世──SRAM、DRAM或者是嵌入式非揮發(fā)性內(nèi)存,各種具備較高帶寬的技術?!?/p>
Raychowdhury認為,那些內(nèi)存將發(fā)生在后段制程(backendofline,BEOL),以3D堆棧或是單體3D結構、低溫型態(tài)出現(xiàn);他預期這個領域將出現(xiàn)劇烈變化:“摩爾定律正在趨緩,晶體管尺寸可能不會再微縮,但我認為還有其他機會,特別是在后段制程,人們將會嘗試創(chuàng)新?!?/p>
機器學習與EDA領域的挑戰(zhàn)
北京清華大學電子工程系副教授、也是北京深鑒科技(DeePhiTech)共同創(chuàng)辦人汪玉(YuWang)表示,座談會上每個人都在談應用程序與硬件組件的融合,“這當然是一個趨勢,我們必須要連結這兩個領域,而我們認為這是我們可以做的事情?!?/p>
不過汪玉看到的另一個更大的機會是,利用不只一套機器來執(zhí)行深度學習任務;他解釋,今日的模型是我們可以打造一套在深度學習處理方面非常有效率的機器,但通常每一套機器的資源是受限制的:“如果我們一起運作這些機器呢?”
在他看來,如果那些機器能一起運作,可能會是拉近理論模型與實際情況差距的一個方法?!敖裉煳覀兪怯幸粋€主機(God),然后有很多的代理機器(agent)…如果我們擺脫主機讓所有的代理機器一起工作、不需要主機一直監(jiān)視呢?就像是要在這棟建筑物里面找一個人,有多臺代理機器在建筑物中執(zhí)行,而且嘗試一起覆蓋整個區(qū)域?!?/p>
汪玉認為,很多系統(tǒng)層級的創(chuàng)新可能因為更強大的代理機器而實現(xiàn):“如果我們將它們結合,我預見將會有算法層級、系統(tǒng)層級與硬件層級的創(chuàng)新,有很多的機會?!?/p>
美國康乃爾大學(CornellUniv.)副教授ZhiruZhang呼應了其他與會者的看法,他是一家EDA工具開發(fā)商AutoESL的共同創(chuàng)辦人,后來該公司被賽靈思(Xilinx)收購;“我對于所謂的專屬計算機(specializedcomputers)非常興奮,”他認為將會有一系列不同加速器問世,將推動創(chuàng)新。
Zhang指出:“我認為現(xiàn)在是研究這類問題的最佳時機;但在另一方面,這也會是一個最具挑戰(zhàn)性的時刻?!碧魬?zhàn)性何在?他解釋:“那些加速器的打造會非常耗時,而且它們的編程也會相當困難?!?/p>
至于在振興半導體產(chǎn)業(yè)方面,Zhang則認為并不是要吸引新人才,而是“需要打造更開放的硬件工具解決方案”;他以開放源碼在線社群GitHub為例,“如果你要展開某個機器學習研究,只要上GitHub就能找到大量的機器學習相關轉發(fā)(repost)資源?!?/p>
但如果要在GitHub上搜尋設計自動化相關的轉發(fā)資源,可能不到20條;Zhang認為缺乏開放性工具,是今日硬件工程師面臨的最大挑戰(zhàn)之一。