來自雷鋒網的報道,今年10月,NovuMind自主研發的第一款ASIC芯片NovuTensor成功流片。這是一款專為卷積神經網絡設計的AI推理芯片,算力15Tops而功耗僅為5W,可以裸片或PCI-E短卡(174mm)形式提供,配備Linux兼容的開發軟件工具,運行時支持和C++ API。
與此同時,NovuMind自主建造了大型分布式深度學習訓練平臺NovuStar,可提供專業的人工智能訓練模型,其“模型+芯片”的定制化全棧式解決方案,可將NovuTensor適用于從嵌入式到云端的各種應用場景當中。
今年11月,NovuMind獲選進入第19屆EE Times Silicon 60榜單。這份榜單被譽為全球新興半導體企業的金榜,又被稱為“全球最受關注60家半導體公司”,其中有15家公司鎖定AI領域,相較2017年的6家增長了150%。這無疑表明,AI的全球浪潮不但熱度沒有衰減,反而展現出了市場與技術的發展趨勢。
既然目前有這么多做AI芯片的公司,NovuMind和其NovuTensor芯片到底有何不同之處?雷鋒網就相關問題,與NovuMind創始人兼CEO吳韌博士進行了一次詳談。
真·異構計算,不走尋常路
“AI的關鍵能力實際上就那么幾個,比如視覺、聽覺、感知其他信號的能力。”吳韌在與我們的交流中首先明確了對AI計算的理解,“把其中一個能力放入一個解決方案中,其實已經可以了,在通用性上其實并沒有降低太多,人臉識別、車輛識別等應用雖然看起來不一樣,但對芯片來說只是換一個模型而已。”
他指出,在端應用方面,做平臺不是正確的思路,NovuMind所追求的是最極致的優化、最高的能耗比,而平臺化就意味著性能的降低。在這種追求的驅使下,NovuMind選擇了一種與其他芯片廠商完全做法不同的做法:舍棄傳統的二維矩陣運算。
矩陣乘法是目前絕大多數AI加速器最重要的目標算法,但NovuMind認為,AI計算的關鍵點并非是矩陣,而是在于卷積,也就是三維張量的計算。如果為了全盤皆顧而不敢舍棄二維甚至一維的計算方式,就束縛了將算力性能逼向極致的可能。
“術業有專攻,一些計算明明可以讓CPU做,為什么要占用深度學習的計算能力?”
NovuTensor芯片架構支持原生3*3張量計算,只處理三維的深度神經網絡計算,可以最有效地在本地執行逐層計算。由于架構無需一次取一個完整張量,只需取子張量,所以內存訪問負擔大大降低,能耗比也得到提升,在神經網絡等人工智能相關計算上的表現遠高于其他常見架構,包括傳統的GPU架構。
除特立獨行的架構設計外,NovuTensor還獨創了動態半精度浮點數計算,與標準半精度浮點數相比精度損失極小但能大大節省硬件開銷。與傳統混合計算相似,NovuMind也考慮到了人工智能計算對計算精度存在一定的容忍度,因此在一些不關鍵的地方使用較低的精度也不會對最終準確度造成損失。
吳韌特別介紹到,傳統混合計算是部分計算使用整數計算、部分計算使用浮點計算的方式,整數計算和浮點計算通常是基于獨立的計算單元,因此在進行浮點計算時,整數計算單元就閑置了。這種閑置不僅僅造成了芯片面積上的浪費,同時閑置的晶體管實際上也存在靜態漏電,因此對于功耗也有影響。
“NovuTensor的動態半精度浮點數計算的優勢在于,可以用同一套計算單元同時去做不同精度的計算,是一種統一化的計算,因此從硬件和功耗效率來看效率更高。”
2018年10月,NovuTensor芯片的設計獲得美國專利。該專利充分顯示了NovuMind在芯片設計領域的獨特架構設計。
算力的暴力美學
NovuTensor的主攻市場是邊緣服務器/邊緣強算力,可以通過提供嵌入式模組以及邊緣計算盒的形式為自動駕駛、機器人、智能攝像頭,以及有強算力需求的消費電子和智能家居(如AR/VR應用等)等提供算力支持。
這類邊緣應用場景一方面對于算力有很高要求,需要接近云端服務器的算力(>10TOPS),另一方面對于處理延遲和可靠性都有很高要求。目前市場上的主流解決方案還是GPU,然而天生的架構使其在低延遲應用中的效率不高,在低延遲算力往往僅能達到峰值算力的十分之一。
NovuTensor的獨特架構在邊緣計算等對于延遲有嚴格要求的場景下有獨特優勢,雷鋒網了解到,在低延遲(batch<4)的場景下實測,NovuTensor的半精度計算推理性能在ResNet-18能實現1000fps以上的幀率,該幀率與市場上最新款邊緣計算GPU模組的半精度計算相比提升了2倍以上,即使是與GPU的INT8計算相比也有1.5倍的性能提升,而能耗比則提升了4倍(半精度)/3倍(INT8)。
由于不少應用需要使用深度較深的神經網絡模型,NovuMind還訓練了更適合硬件加速的ResNet-70,其精度接近ResNet-101但硬件執行效率遠高于ResNet-101。NovuTensor執行半精度計算ResNet-70的幀率也可達到450fps,與GPU相比也是幀率達到了2倍(半精度)/1.5倍(INT8),能耗比則是提升了4倍(半精度)/3倍(INT8)。
在這一代28nm NovuTensor芯片流片成功之后,下一代芯片將能夠利用架構優勢通過設計迭代進入更多市場。據吳韌介紹,NovuMind對下一代芯片已經有了規劃,16nm芯片的預期規格為26W功耗240Tops算力,能耗比約9Tops/W;7nm芯片則為0.15W功耗4Tops算力,能耗比約27Tops/W。
據悉,能耗比的大幅提升除了得益于更先進的半導體工藝外,架構方面也對相應應用做了針對性的優化。240T的芯片主要針對服務器等對于算力有很高需求的場景,因此在內存訪問、計算流水線等方面做了相應優化,而4T的芯片主要面向超低功耗市場,針對超低功耗場景的算法做了相應優化。
大與小的轉換
NovuTensor目前的定位,是邊緣端計算視覺領域。據雷鋒網了解,目前幾乎沒有兼顧云計算大芯片和邊緣計算小芯片的公司。我們對這種市場現象已經習以為常,但仍不免好奇,設計小芯片和大芯片的技術側重點和難點有那些不同?
關于這一點,吳韌首先闡明,他所理解的邊緣計算是指一系列由于延遲、可靠性和安全性等需求,必須在數據端就近完成計算而無法傳到云端的應用。這其實不僅包括終端(如手機、智能音箱)的小芯片,也包括了無人駕駛、智能零售等領域的高算力大芯片。不管是大芯片還是小芯片,在邊緣計算方面,都要求在非常低的延遲下做到高的吞吐量。
“就大芯片和小芯片的角度來看,技術差距并非不可逾越,更大的不同其實在于商業模式。”他表示,小芯片由于對于成本敏感,希望在整體系統中芯片數量越少越好,因此芯片通常會做成SoC,包含很多個模塊,AI只是其中的一個特性,因此最合理的商業模式是AI芯片公司給SoC廠商提供IP,由SoC廠商自行集成到SoC中去。
而大芯片市場由于對性能的需求多過對成本的關注,因此完全可以接受獨立的AI芯片。對于大芯片市場來說,出售芯片或芯片模組都是合理的商業模式。所以我們很少看到公司即賣大芯片又賣小芯片,因為更合理的模型是賣大芯片同時在小芯片市場提供IP授權服務。
吳韌向我們透露,NovuTensor可以有多種形態,未來NovuMind可提供集成了多塊NovuTensor芯片的加速卡,以滿足數據中心服務器的算力需求。在移動通訊、物聯網等對于功耗有更高要求的市場,NovuMind還提供“輕量版”的NovuTensor核心IP授權,從而為智能物聯網提供人工智能計算加速。
后記:芯片背后的物理世界
一直以來,筆者對于芯片計算的具體物理過程非常好奇。根據筆者的理解,芯片計算的本質,是把信息從無序變為有序,這是一個消耗能量的非自發減熵過程。
在談話的最后,筆者向吳韌博士追問了下面幾個略顯超綱的問題:
1、芯片以純電阻電路形式浪費了多少能量,實際用于信息處理過程的有效能量有多少?
2、最終處理完成的信息等價于多少能量,有多少能量在處理過程中流失掉了?
3、芯片處理信息的能源利用率與大腦有多大差距,未來的神經擬態芯片又將如何?
吳韌在與他身邊的牛人討論后很快給予了回復,詳細解釋了芯片計算中的具體情況。
他首先表示,目前基于晶體管的計算實際上離信息熵減的能量下限還很遙遠。理論上傳送/計算1bit信息需要的能量是kTln2,在常溫下是10^-21焦耳的數量級,而實際芯片晶體管中一次加法計算(歸一化到1bit)需要的能量大概是10^-14焦耳,比下限高了7個數量級;一次內存訪問數據傳輸需要的能量歸一化到1bit大概是10^-11焦耳,比下限高了10個數量級。
這樣來說,即使一次簡單的加法計算就能得到結果,目前需要使用的能量也比理論上可達到下限高了7~10個數量級,如果是比較復雜的算法的話,能量消耗比起理論下限會高出更多。
“尤其是目前基于神經網絡的人工智能,更是以計算復雜為主要特征(例如一個基本的ResNet-18需要的計算操作次數大約是1010),因此我們估計計算耗費的能量大概比熵增需要的能量要高接近20個數量級。”對于Novumind所涉及的AI芯片領域,他也絲毫沒有避短,“從另一個角度來看,在整個計算體系中,內存訪問所消耗的的能量大約是計算的1000倍,這也是我們優化硬件架構希望把盡可能多的數據留在芯片上以減少內存訪問的原因。”
總而言之,現在離信息熵減的能耗下限還很遠,人類的芯片技術還有很大的進步空間,這是毫無意外的。
隨后,吳韌又解釋了關于神經擬態芯片的問題。由于使用了非馮諾依曼架構,神經擬態芯片可以減少內存訪問以改善能耗比,不過目前科學界對于人腦的工作機制還了解很少,神經擬態芯片還在比較初步的階段。目前復雜神經擬態網絡的訓練仍然非常困難,只能做一些比較簡單的任務。
“預期在未來5~10年里,傳統AI芯片和神經擬態芯片將是一個互補關系,神經擬態芯片可以在超低功耗終端里實現比較簡單、需要快速反應的計算處理,而復雜一些的計算還是會放到傳統AI芯片里去做。”吳韌最終總結道。