神經網(wǎng)絡計算芯片已經引起了全球各個學院/企業(yè)的廣泛關注,“軟件定義芯片”相關研究,適應AI算法不斷變化的重要研究方向。但是芯片的性能跟通用性常常是一個“魚和熊掌不可兼得”的選項,如何讓AI芯片兼?zhèn)湫阅芎屯ㄓ眯裕?/p>
在機器學習算法不斷變化、人工智能應用不斷增多的當下,神經網(wǎng)絡計算芯片(AI芯片)的設計者們所思考的一個關鍵問題開始浮出水面——如何在保證AI芯片性能/功耗表現(xiàn)優(yōu)秀的同時,盡可能的在更多人工智能算法上通用。
目前市面上陸續(xù)涌現(xiàn)的AI芯片中,有不少都采用了重新設計芯片底層架構的方式,來平衡AI芯片的性能與AI算法通用性之間“魚與熊掌不可兼得”的矛盾,突出玩家有寒武紀、谷歌TPU項目等等。
產業(yè)界如此熱火產天的發(fā)展,離不開學術界此前的長久積累。在過去的十幾年里,清華微電子所的可重構計算團隊一直在研究一項核心技術——“軟件定義芯片”,前年,他們推出了一款代號為Thinker 1的AI芯片,這款芯片不僅能夠支持人臉識別、語音識別的AI算法,而且芯片的功耗非常小——只需要7號AA電池就夠讓它運行一整年。
在2018年的春節(jié)前夕,記者專門來到清華大學校園里,與GTIC 2018重磅嘉賓之一,清華大學微電子研究所所長、中國半導體行業(yè)協(xié)會IC設計分會理事長、我國半導體行業(yè)“男神”級人物魏少軍教授圍繞著AI芯片的話題展開了獨家對話。魏少軍教授有著數(shù)十年半導體行業(yè)經驗,對我國半導體產業(yè)有著深刻的認識,看法往往一針見血。
他認為,目前芯片架構創(chuàng)新已經引起了全球各個學院/企業(yè)的廣泛關注,尤其是“軟件定義芯片”相關研究,更是提升AI芯片的應用范疇、適應AI算法不斷變化的重要研究方向。在今明兩年之內AI芯片將持續(xù)火熱,但是到了2020年前后則會行業(yè)洗牌,出現(xiàn)第一批出局者。
一、性能 vs 靈活:魚與熊掌不可兼得芯片的性能跟通用性常常是一個“魚和熊掌不可兼得”的選項,傳統(tǒng)架構下,一個芯片在某些特定領域的性能越強、功耗越低,它往往就越不靈活、越不通用。舉個例子,華為Mate 10里的麒麟970芯片用于手機的性能非常強大,但是它并不適用于安防攝像頭、可穿戴手環(huán)等場景;同理,一個CPU能夠靈活地處理眾多不同任務,但是它在某些特定任務上往往性能不夠強大,比如在深度神經網(wǎng)絡訓練上的性能不如GPU。
而ASIC這類專用芯片的位置,則介乎于手機SoC這類標準芯片、與CPU這類通用芯片之間——這是一個非常尷尬的地位,標準芯片雖然單個開發(fā)成本高,但是單一品類出貨量非常大,很大程度上降低了芯片的單個價格;而通用芯片則相反,雖然總體出貨量不高,但是單一品類的價格很高,也能夠分攤研發(fā)成本。
隨著芯片制造工藝的日益先進(目前已經逼近7nm),芯片制造成本也水漲船高,如今設計制造一顆10nm芯片的成本要幾千萬美元,綜合成本高達上億美元。
因此,如果不能保證某款單一應用場景下能夠大量出貨,專用芯片需要保持一定的通用性與靈活度。
最近兩年間,產業(yè)界開始陸續(xù)涌現(xiàn)出神經網(wǎng)絡計算專用芯片(AI芯片),寒武紀、深鑒科技、中星微電子等玩家的AI芯片產品采用的都是28nm的芯片工藝,前期從投入到流片的成本超過400萬美元,單一品類出貨量沒有百萬的級別將很難收回成本。
而除了成本之外,AI算法的演進也需要納入考慮。由于目前人工智能算法還在不斷變化、不斷演進的過程中,人工智能經歷了六十多年的發(fā)展才迎來了深度學習的大規(guī)模爆發(fā),然而現(xiàn)在深度學習算法還有眾多有待優(yōu)化的方面,比如稀疏化、低功耗、小數(shù)據(jù)訓練等,算法尚未定型。
此外,目前語音/文字/圖像/視頻等不同應用無法使用統(tǒng)一算法,然而許多實際生活中的AI應用程序(識別圖像中的對象或理解人類語言)需要不同類型的具有不同層數(shù)的神經網(wǎng)絡的組合。
因此,在確保AI應用性能的前提下,AI芯片需要盡可能地保持芯片通用性。
目前AI芯片企業(yè)們采用的技術方案各不相同,如果將芯片通用性作為評測坐標軸,最左邊、最激進的企業(yè)會采用算法固化方案,這一做法成本低、芯片落地時間短、單一算法的性能與功耗比能夠做到極致,但是極大減少了芯片的通用型和靈活性;最右邊的團隊(比如寒武紀、谷歌TPU等)則會設計一款全新的芯片架構,這一做法成本高昂、芯片研發(fā)周期長,但是能夠在性能與芯片通用性上達到極好的平衡。
▲清華微電子所所長魏少軍教授
清華微電子所的可重構計算團隊就屬于坐標軸右邊的一類,從2006年開始,清華微電子所所長魏少軍教授就帶領著團隊在持續(xù)深入研究這項重要技術——“軟件定義芯片”,又稱“可重構計算技術”。
“軟件定義芯片”顧名思義就是讓芯片根據(jù)軟件進行適應與調整,這是一項專用芯片架構設計上的創(chuàng)新,與傳統(tǒng)的馮諾依曼架構有著很大的區(qū)別。簡單來說就是將軟件通過不同的管道輸送到硬件中來執(zhí)行功能,使得芯片能夠實時地根據(jù)軟件/產品的需求改變功能,實現(xiàn)更加靈活的芯片設計。
也就是說,沿用這種架構設計出來的專用芯片,可以讓芯片的計算能力按照軟件的需求來調整適應,而不是沿用傳統(tǒng)芯片設計的剛性架構,讓應用適應架構。對于現(xiàn)在尚未定型/統(tǒng)一的各類AI算法而言,可重構計算成了AI芯片設計的一個重要研究方向。