隨著5G的落地,物聯(lián)網(wǎng)的成本效益顯現(xiàn),工業(yè)數(shù)字化、城市智慧化等演進趨勢日益明顯,越來越多的企業(yè)和城市開始在物聯(lián)網(wǎng)創(chuàng)新中加入數(shù)字孿生這種顛覆性的概念,來提高生產(chǎn)力和生產(chǎn)效率、降低成本,加速新型智慧城市的建設(shè)。值得一提的是,數(shù)字孿生技術(shù)已被寫進國家“十四五”規(guī)劃,為數(shù)字孿生城市建設(shè)提供國家戰(zhàn)略指引。
關(guān)于數(shù)字孿生,我們可以舉個例子,前幾年亞馬遜和京東推過的無人零售概念型實體店,將線下零售店變成了線上淘寶店,人們?nèi)サ昀镔徫锴爸恍璐蜷_APP,在設(shè)置中完成刷臉登錄,臉部認證成功后,在刷臉開門時即可自動關(guān)聯(lián)賬戶,購物后不用排隊手動結(jié)賬,只靠刷臉即可離開??此茻o人管理,但背后卻是人工智能的全程跟蹤,消費者的一舉一動都被攝像頭捕捉了下來,比如你把什么商品拿起來看了又看,意味著你對這個商品很有興趣,但是出于某種顧慮又沒買,最終買了另外的商品,這樣的數(shù)據(jù)會被抓取下來,進行深層次的分析,形成基礎(chǔ)數(shù)據(jù)庫,之后就可以根據(jù)你所有的購物記錄和消費習(xí)慣進行周期性的推送等。
通過這個例子,我們可以看到將物理世界數(shù)字化帶來的便利性。而視覺是人類感知世界的一個重要手段。人類進入智能社會的基礎(chǔ)是數(shù)字化,感知是將物理世界數(shù)字化的前提,而前端視覺感知的種類、數(shù)量和質(zhì)量決定了我們這個社會智能化程度的高低。由此可見,智能化未來的基礎(chǔ)是“感知+計算”,AI視覺在智能化的進程中會起到非常關(guān)鍵的作用,具備非常廣闊的應(yīng)用前景。有行業(yè)分析師認為,數(shù)字孿生技術(shù)即將超越制造業(yè),進入物聯(lián)網(wǎng)、人工智能和數(shù)據(jù)分析等整合領(lǐng)域。這也就是我們選擇了這個創(chuàng)業(yè)方向的原因。
而視覺芯片作為物理世界到數(shù)字孿生世界最重要的入口,正受到廣泛關(guān)注,尤其是能夠?qū)ξ锢硎澜邕M行80%-90%還原的AI視覺感知芯片。
那么什么是AI視覺感知芯片呢?從需求端的角度來看,AI視覺感知芯片需要具備兩大功能:一是看得清,二是看得懂,其中AI-ISP負責(zé)的就是看得清,AI-NPU負責(zé)看得懂。
事實上,從廣義上來講,在人工智能應(yīng)用中能實現(xiàn)AI加速的芯片都可以被稱為AI芯片,而其中用來提高AI算法運行效率的模塊往往被稱為NPU(神經(jīng)網(wǎng)絡(luò)處理器)。目前,使用NPU加速的AI視覺芯片已被廣泛地應(yīng)用于大數(shù)據(jù)、智能駕駛和圖像處理領(lǐng)域。
根據(jù)IDC發(fā)布的最新數(shù)據(jù)顯示,2021年加速服務(wù)器市場規(guī)模達到53.9億美元,同比增長68.6%。其中,GPU服務(wù)器以90%的市場份額占據(jù)主導(dǎo)地位,ASIC和FPGA等非GPU加速服務(wù)器以43.8%的增速占有了11.6%的市場份額,達到6.3億美元。這意味著神經(jīng)網(wǎng)絡(luò)處理器NPU的應(yīng)用已走出早期試點階段,正成為人工智能業(yè)務(wù)中的關(guān)鍵需求。所以,今天我們就來聊聊負責(zé)“看得更清”以及“看得懂”的AI-NPU。
為什么會說看得更清和AI-NPU也有關(guān)系呢?從人們直觀感受的角度出發(fā),“看得清”很好理解,比如在夜間我們想要把東西看得比較清楚,但傳統(tǒng)攝像頭拍攝出的圖片往往會出現(xiàn)過曝、色彩細節(jié)被淹沒的現(xiàn)象,同時走動的人和遠處的建筑物周圍會布滿噪點。那么,在類似這種情況下,如何才能更好地實現(xiàn)“看得清”呢?事實上,視覺芯片要“看得清”離不開的正是AI-NPU大算力的支撐。
以智慧城市為例,我們已經(jīng)使用500萬像素的攝像頭在做智能分析。傳統(tǒng)的視頻畫質(zhì)的改善使用的是傳統(tǒng)的ISP技術(shù),在暗光的場景下,會有大量的噪聲,使用AI-ISP可以解決此問題,在暗光場景下依然可以給出清晰的畫面,但是使用AI-ISP的技術(shù),就必須用AI算法全分辨率、全幀率地對視頻進行處理,而不能采用投機取巧的縮小分辨率或者跳幀的方式進行,因為人眼對于畫質(zhì)的閃爍非常敏感。而500萬像素的視頻碼流,要做到全分辨率、全幀率的處理,就會對NPU的算力提出非常高的要求。
在智能分析的場景中,比如車輛檢測和車牌識別的應(yīng)用,目前常見的是采用500萬的攝像頭來錄制30fps幀率的視頻,然后每3/5幀做一次檢測,在做檢測的時候分辨率降到720P的方法,對于在視頻畫面中遠處的車牌就會識別不出來,對于高速行駛的車輛就可能會漏檢,解決方法也是盡量采用全分辨率、更高幀率檢測的方式進行處理,而這種做法對NPU的算力同樣提出了非常高的要求。
此外,如同前面提到的,除了看得清之外,我們還需要看得懂,所謂看得懂就是要做智能分析,要做智能分析也需要AI-NPU大算力的支撐,我們可以從兩個角度來看這個問題。
首先,我們知道AI本身是一個提高效率的工具,它最終還是要落入到場景里面去,這也就是早期的AI+和最近的+AI的概念。那么,當(dāng)AI落到行業(yè)里面去時,它能做些什么事情呢?事實上,AI能做的事情很多,比如可以把一些行業(yè)的專家系統(tǒng)用神經(jīng)網(wǎng)絡(luò)的方式做一些替代,這就相當(dāng)于我們要把這樣一個“專家”裝到我們的AI芯片里,這個專家系統(tǒng)要足夠聰明,對應(yīng)的就是一個比較聰明或者比較大的網(wǎng)絡(luò),網(wǎng)絡(luò)比較大就相當(dāng)于腦容量比較大,它能夠維持存儲更多的權(quán)重值,這就會對NPU算力提出很高的要求。
其次,從部署的角度來看,目前我們模型的訓(xùn)練大都是在大算力的Server上跑出來的,而部署是在算力有限的端側(cè)設(shè)備上,只有將模型或算法的計算量降到端側(cè)能跑起來的程度,才能在應(yīng)用側(cè)更好的落地。因此需要模型壓縮的過程,而模型壓縮對技術(shù)人員的技術(shù)要求很高。如果我們端側(cè)的算力比較高,其實這個過程是可以縮短的。這類似于做嵌入式軟件開發(fā)的過程,早期受限于算力瓶頸,為了能夠跑更多的功能,我們需要非常認真地來壓榨硬件的性能,所以用匯編來寫程序,但如果算力比較高,我們就可以用C語言來做開發(fā)。換言之,用一部分算力來換取開發(fā)效率的提升、AI落地的加速是可行的,但這種做法又反過來提高了對NPU算力的要求。
以上,我們分析了AI視覺感知芯片公司為什么要開發(fā)高性能大算力NPU的驅(qū)動力,但要真正實現(xiàn)大算力的芯片開發(fā)難度是非常大的。
眾所周知,算力是NPU性能的重要指標,然而很多早期AI芯片的算力其實是標稱值,真正使用時并不能達到標稱的性能。比如號稱1T的算力,結(jié)果實際跑下來發(fā)現(xiàn)只能用到200G或者是3~400G的水平。所以,大家現(xiàn)在使用更加實用的FPS/W或FPS/$作為衡量先進算法在計算平臺上運行效率的評價指標。
在自動駕駛領(lǐng)域,2017年特斯拉發(fā)布FSD芯片時,馬斯克用FSD和此前在特斯拉上應(yīng)用的英偉達DrivePX2相比,表示:“從算力的角度來看,F(xiàn)SD是DrivePX2的3倍,但在執(zhí)行自動駕駛?cè)蝿?wù)時,其FPS是后者的21倍。”
在AI視覺芯片領(lǐng)域,愛芯元智發(fā)布的第一款高性能、低功耗的人工智能視覺處理器芯片AX630A,在公開數(shù)據(jù)集下的不同神經(jīng)網(wǎng)絡(luò)運行速度對比,每秒處理幀數(shù)分別為3116和1356,遠超其他同類芯片產(chǎn)品,且功耗僅約3W。
到底是什么拉開了這些NPU利用率的差距?這背后其實是內(nèi)存墻和功耗墻的問題。所謂內(nèi)存墻就是當(dāng)我們通過堆MAC單元來拉高算力指標的同時,數(shù)據(jù)帶寬一定要跟上,否則數(shù)據(jù)供應(yīng)能力不足,就會帶來MAC單元不斷等待數(shù)據(jù)的現(xiàn)象,處理性能就會下降。而功耗墻的問題主要來自兩個方面:MAC單元和DDR。當(dāng)我們通過堆MAC單元來拉高算力指標時,MAC單元本身的耗電總量會提升,同時還需要高帶寬的支撐,在服務(wù)器側(cè)可以使用比較貴的HBM,如此一來DDR所需的功耗勢必會拉升上去,而在端側(cè),出于成本的考量,還沒有特別好的DDR方案。
為了解決阻礙AI落地的內(nèi)存墻和功耗墻這兩個共性問題,業(yè)界常用的方法有兩種,一種是存算一體,但會受到工藝節(jié)點瓶頸的限制,距離量產(chǎn)還有一定的距離;另外一種是減少數(shù)據(jù)搬運。愛芯元智就是通過混合精度技術(shù)減少了數(shù)據(jù)搬運,從而在一定程度上減小了內(nèi)存墻和功耗墻的阻礙,提高了整個NPU的效率。
那么,混合精度是如何減少數(shù)據(jù)搬運的呢?首先我們要明確混合精度的概念——混合精度就是將不同精度的浮點數(shù)/定點進行數(shù)值計算。
圖|神經(jīng)網(wǎng)絡(luò)示意圖(簡化版)
如上圖所示,其每一數(shù)列被稱為一個layer層,最左邊的是輸入層,最右邊的是輸出層,中間的部分是隱藏層。圖中的每個圓圈代表一個神經(jīng)元,每一個神經(jīng)元上都有很多鏈接,鏈接上的數(shù)字是權(quán)重,它是參與計算的重要組成。如果權(quán)重是小數(shù)的話,則代表著其為浮點數(shù)。
在整個神經(jīng)網(wǎng)絡(luò)中,權(quán)重系數(shù)比較復(fù)雜,傳統(tǒng)NPU的數(shù)據(jù)表示格式一般是8比特、16比特和浮點數(shù),才能達到AI算法的精度,所以運算量繁重。但愛芯元智發(fā)現(xiàn),在實際應(yīng)用中,AI網(wǎng)絡(luò)中有的信息是有冗余的,這意味著并不是所有的計算都需要高精度的浮點或是高精度的16比特,而是采用8比特或者4比特等低精度混合運算就足夠了。
在愛芯元智的AI-ISP應(yīng)用中,就是基于混合精度技術(shù),網(wǎng)絡(luò)中許多中間層都是采用INT4精度。相比原來的8比特網(wǎng)絡(luò),數(shù)據(jù)搬運量可能就變成原來的1/2,計算量縮減為1/4。由此便可以提升NPU的使用率和效率,在單位面積內(nèi)提供數(shù)倍于傳統(tǒng)NPU的等效算力,同時還能把成本和功耗降下來,更有利于端側(cè)和邊緣側(cè)AI落地。
當(dāng)然,在AI落地的過程中,除了要解決內(nèi)存墻和功耗墻問題以外,還需要考慮算法和硬件的結(jié)合問題。尤其是在端側(cè)和邊緣側(cè),芯片天生就和場景有一種弱耦合的關(guān)系,所以愛芯元智在設(shè)計AI視覺芯片時,采用了從應(yīng)用到算法再到NPU的聯(lián)合優(yōu)化設(shè)計。
具體來講,在傳統(tǒng)的AI方案中,算法和硬件通常是相互獨立的兩部分。但愛芯元智的算法團隊會在NPU設(shè)計早期就將算法網(wǎng)絡(luò)的結(jié)構(gòu)、量化需求/算子需求、內(nèi)存訪問的需求等很多詳細信息提供給NPU設(shè)計的架構(gòu)師,硬件架構(gòu)師可以根據(jù)這些算法的需求來調(diào)整或優(yōu)化整個NPU的設(shè)計,從而使算法跑起來的效率達到優(yōu)化后的水平。與此同時,硬件工程師也會把算子硬件加速條件,例如數(shù)據(jù)流優(yōu)化、存儲優(yōu)化、量化限制等硬件限制提供給算法工程師,如此算法工程師在設(shè)計算法時,可以考慮到硬件限制,從算法的角度來規(guī)避一些硬件上的短板。兩者結(jié)合,便可以兼顧NPU的硬件和軟件開發(fā),加快AI開發(fā)的落地效率。
基于以上優(yōu)勢與積累,愛芯元智先后推出了AX630A、AX620A、AX620U、AX170A兩代四顆端側(cè)、邊緣側(cè)AI視覺感知芯片。其中,AX170A針對手機應(yīng)用場景,可對4K30fps的影像進行實時畫質(zhì)優(yōu)化,配合主控芯片可實現(xiàn)超級夜景視頻和優(yōu)秀的暗光拍攝功能,實現(xiàn)夜晚低照度下高清影像的細膩呈現(xiàn);AX620A針對智慧城市、智能家居等應(yīng)用,不僅能實現(xiàn)暗光環(huán)境下優(yōu)異的畫質(zhì)效果,同時還能兼顧約1W的低功耗優(yōu)越性能,滿足電池應(yīng)用方案的功耗需求,兼顧IoT、智能運動相機、手機等應(yīng)用場景;AX630A針對智慧城市、智慧交通等密集場景,以強大的暗光圖像視頻處理能力和20路1080p30fps的解碼能力,能將高畫質(zhì)、全智能、全感知和實時分析的能力優(yōu)勢發(fā)揮到極致,可輕松滿足客戶“全天候”和“看得清”的核心訴求。
愛芯元智深知垂直化生態(tài)是AI芯片的歸途,所以在提供芯片的同時,還提供demo板等開發(fā)套件、開源軟件包,降低用戶的開發(fā)難度,縮短用戶的開發(fā)周期。
而從用戶的角度來講,采用第三方的NPU芯片除了能夠降低自身研發(fā)難度,獲得充足的有效AI計算能力以外,還能降低開發(fā)成本,這是AI-NPU使用量越大越好用的優(yōu)勢。
就像愛芯元智創(chuàng)始人兼CEO仇肖莘博士曾在2021世界人工智能大會上所說的:“希望盡我們的一些努力,能夠為世界的數(shù)字化和智能化新基建,提供更多在邊緣側(cè)和端側(cè)的支持,給社會帶來更多深刻的變化?!?/p>