隨著人工智能技術(shù)的迅速發(fā)展,近年來AI計(jì)算需求呈爆炸式增長。為了滿足這一需求,越來越多的公司和研究機(jī)構(gòu)開始關(guān)注專用處理器的開發(fā),其中,神經(jīng)網(wǎng)絡(luò)處理單元(NPU)因其在處理深度學(xué)習(xí)任務(wù)方面的高效性而受到廣泛關(guān)注。
然而,盡管NPU在某些特定任務(wù)中表現(xiàn)出色,獨(dú)立發(fā)展的可能性卻受到質(zhì)疑。不久前,剛剛獲得1億美元投資的Imagination便突然決定放棄獨(dú)立開發(fā)三代的NPU IP,轉(zhuǎn)而將類似的功能添加到其GPU產(chǎn)品中。
Imagination新任創(chuàng)新和工程主管Tim Mamtora直言:“和其他所有公司一樣,我們看到了NPU的潛力就想著‘是的,我們應(yīng)該做其中一種’。但在開發(fā)出表現(xiàn)出色的硬件后卻出現(xiàn)各種問題,與之配套的軟件堆棧是什么?我們?nèi)绾蜗蛭覀兊目蛻艉烷_發(fā)人員展示它等等。”
作為曾經(jīng)博通IC設(shè)計(jì)部門的總工程師,Tim Mamtora認(rèn)為開發(fā)AI加速器是非常困難的,尤其是考慮到AI模型和框架的演進(jìn)速度以及AI軟件基礎(chǔ)設(shè)施的碎片化狀態(tài)??梢哉f,AI軟件堆棧方面的挑戰(zhàn)才是導(dǎo)致Imagination決定停止開發(fā)NPU的真正原因。
此前被大多數(shù)人寄以厚望的NPU,其局限性正逐漸暴露出來。
NPU獨(dú)立工作的局限性
眾所周知,NPU是一種專為神經(jīng)網(wǎng)絡(luò)計(jì)算而設(shè)計(jì)的處理器,具備高并行度和低功耗的特點(diǎn)。它的架構(gòu)通常針對(duì)矩陣運(yùn)算進(jìn)行了優(yōu)化,這是深度學(xué)習(xí)模型訓(xùn)練和推理中常見的運(yùn)算類型。然而,NPU在獨(dú)立工作時(shí)也存在一些局限性。
NPU主要針對(duì)深度學(xué)習(xí)任務(wù)進(jìn)行優(yōu)化,盡管在特定的AI推理任務(wù)中表現(xiàn)卓越,但在處理其他類型的計(jì)算任務(wù)時(shí),如圖形渲染、傳統(tǒng)數(shù)據(jù)處理等,NPU的能力卻顯得不足。這使得NPU在多樣化應(yīng)用場(chǎng)景中的適用性受到限制。
在生態(tài)方面,目前NPU的生態(tài)系統(tǒng)相對(duì)較小,開發(fā)者面臨的工具和框架選擇較少。這導(dǎo)致NPU的推廣和應(yīng)用受到不小的阻礙,企業(yè)往往需要同時(shí)開發(fā)和維護(hù)多個(gè)處理器,這加大了開發(fā)和運(yùn)營的復(fù)雜性。Imagination對(duì)此深有體會(huì),因?yàn)檫w移和優(yōu)化最終客戶的算法并在產(chǎn)品的整個(gè)生命周期內(nèi)提供支持,這是一件非常具有挑戰(zhàn)性的事。據(jù)Mamtora透露,Imagination的一些NPU IP的客戶希望為下游客戶定制軟件,他們又不得不將這方面的技術(shù)支持推回給 Imagination。
另外,盡管NPU在AI計(jì)算中具有潛力,但市場(chǎng)對(duì)新技術(shù)的接受需要時(shí)間。許多企業(yè)在決策時(shí)仍傾向于使用成熟的GPU,特別是在需要圖形處理的應(yīng)用中,而在大多數(shù)應(yīng)用中,圖形處理都是必不可少的。
NPU發(fā)展的正解
在當(dāng)前的市場(chǎng)上,提及NPU技術(shù)的發(fā)展,則不得不聯(lián)想到一家國內(nèi)的IP供應(yīng)商芯原股份。在接受集微網(wǎng)采訪時(shí),芯原股份執(zhí)行副總裁、IP事業(yè)部總經(jīng)理戴偉進(jìn)指出,公司用于人工智能的NPU IP已被72家客戶用于其128款人工智能類芯片中,已在全球范圍內(nèi)出貨超過1億顆。
芯原股份真正開始NPU IP的開發(fā)實(shí)際是在2017年,戴偉進(jìn)指出,當(dāng)時(shí)一些采用芯原GPU IP的客戶對(duì)芯片PPA提出了更高的要求,同時(shí)還需要有一定的可編程性。如果完全設(shè)計(jì)一顆高性能的ASIC芯片顯然不符合可編程的特性,此外由于市場(chǎng)需求迅速迭代,ASIC芯片必須經(jīng)歷的研發(fā)生產(chǎn)周期將導(dǎo)致難以快速響應(yīng)市場(chǎng)變化。于是,芯原便著手開發(fā)新的NPU IP以固化一部分AI計(jì)算功能,打造GPU+GPGPU+NPU的可擴(kuò)展AI計(jì)算平臺(tái)。
GPU IP作為芯原成熟的核心業(yè)務(wù),已在圖形渲染領(lǐng)域得到了廣泛應(yīng)用。而芯原的GPGPU IP在深度學(xué)習(xí)訓(xùn)練和推理中也同樣表現(xiàn)優(yōu)異。NPU、GPU和GPGPU的協(xié)同發(fā)展能夠彌補(bǔ)彼此的短板,形成更強(qiáng)大的計(jì)算平臺(tái)。
在復(fù)雜的AI任務(wù)中,NPU可以專注于執(zhí)行深度學(xué)習(xí)模型中的特定運(yùn)算,而GPU或GPGPU則負(fù)責(zé)處理圖形渲染和其他計(jì)算任務(wù)。這種資源互補(bǔ)使得系統(tǒng)能夠在多任務(wù)環(huán)境中表現(xiàn)更佳,從而提高整體效率。
如上圖所示,芯原的GPU、GPGPU和NPU緊密地結(jié)合在一起,三者的協(xié)同工作能夠提供更大的靈活性。開發(fā)者可以根據(jù)實(shí)際需求選擇最合適的計(jì)算資源,使得系統(tǒng)具有更好的可擴(kuò)展性。這種靈活性在處理多樣化的AI應(yīng)用時(shí)尤為重要,尤其是在邊緣計(jì)算和實(shí)時(shí)推理場(chǎng)景中。
戴偉進(jìn)強(qiáng)調(diào),三者的緊密結(jié)合主要體現(xiàn)在指令級(jí)融合,這種融合意味著三者在硬件層面上能夠共享指令集,從而實(shí)現(xiàn)更高效的協(xié)同工作。
以芯原的VIP9X00CC為例,其實(shí)現(xiàn)GPGPU模塊和NPU模塊的指令級(jí)融合,并采用SIMT(單指令流多數(shù)據(jù)流)并行計(jì)算架構(gòu),允許單個(gè)指令同時(shí)對(duì)多個(gè)數(shù)據(jù)元素進(jìn)行操作。這種架構(gòu)通常用于GPU,使用SIMT架構(gòu)使得在執(zhí)行AI計(jì)算任務(wù)時(shí),能夠?qū)崿F(xiàn)更高效的并行處理。
VIP9X00CC還支持DLP/ILP/TLP并行性,保證NPU和GPGPU能夠靈活地處理不同類型的并行計(jì)算任務(wù)。
戴偉進(jìn)進(jìn)一步指出,芯原NPU的設(shè)計(jì)包含了多年的優(yōu)化經(jīng)驗(yàn),特別是在數(shù)據(jù)組織、壓縮、遷移和計(jì)算方面,而VIP9X00CC將NPU的設(shè)計(jì)理念和GPU的并行計(jì)算能力相結(jié)合,大幅提高了整體的AI計(jì)算效率。
值得一提的是,VIP9X00CC中NPU和GPGPU還共享內(nèi)存和常量寄存器,共享內(nèi)存資源對(duì)于提高數(shù)據(jù)處理速度和減少內(nèi)存訪問延遲非常重要。
“面對(duì)所有的計(jì)算需求,我們的軟件能夠?qū)⑵浒催\(yùn)算類型的不同來進(jìn)行分類,并同步分配給對(duì)應(yīng)的NPU或GPGPU模塊快速完成運(yùn)算,”戴偉進(jìn)指出,“但如果是獨(dú)立的兩顆NPU和GPGPU,則意味著大量的數(shù)據(jù)交互和額外的內(nèi)容轉(zhuǎn)化成本。”
至于戴偉進(jìn)提到的軟件,也是Imagination獨(dú)立發(fā)展NPU業(yè)務(wù)的核心痛點(diǎn),芯原是如何做到的呢?戴偉進(jìn)表示,芯原依據(jù)多年經(jīng)驗(yàn)建立了完整的軟件體系,芯原Acuity工具、庫和軟件堆棧能夠支持,且不論是端側(cè)還是云側(cè),芯原都采用通用的軟件棧。
芯原的AI計(jì)算框架支持多種圖形API,如Microsoft DirectX、Microsoft DirectML、Vulkan、OpenGL、OpenGL ES等;支持SYCL、OpenCL、CUDA等并行編程模型;同時(shí)也支持多種AI和機(jī)器學(xué)習(xí)框架,如PyTorch、PaddlePaddle、ONNX Runtime、JAX、TensorFlow等。這種廣泛的支持使得芯原的NPU IP能夠適應(yīng)不同的AI應(yīng)用需求,這種融合不僅降低了開發(fā)者的學(xué)習(xí)成本,也有助于提升NPU的市場(chǎng)接受度。
也正因如此,芯原的NPU IP才會(huì)在市場(chǎng)上獲得亮眼表現(xiàn)。而關(guān)于未來的NPU市場(chǎng)前景,戴偉進(jìn)認(rèn)為,隨著人工智能從云端走向邊緣端,NPU將迎來更加明顯的爆發(fā)式增長。
從云到邊緣,NPU的黃金時(shí)刻
隨著人工智能應(yīng)用的普及,數(shù)據(jù)隱私和實(shí)時(shí)處理的需求推動(dòng)了邊緣計(jì)算的發(fā)展。NPU可以在邊緣設(shè)備上提供高效的AI計(jì)算能力,滿足這些需求。
例如AI PC、AI Phone的問世,以及智慧AR眼鏡、智慧駕駛汽車開始導(dǎo)入人工智能,大型AI模型正逐漸被優(yōu)化以適應(yīng)邊緣設(shè)備。而NPU可以專門針對(duì)這些優(yōu)化后的模型進(jìn)行加速,提供更好的性能和效率。
同時(shí),NPU還可以為特定的AI工作負(fù)載提供定制化的硬件加速,這對(duì)于執(zhí)行特定任務(wù)(如圖像識(shí)別、語音處理)的邊緣設(shè)備來說是一個(gè)重要的優(yōu)勢(shì)。在邊緣設(shè)備上,能效比是一個(gè)關(guān)鍵考慮因素。NPU的設(shè)計(jì)可以針對(duì)AI工作負(fù)載進(jìn)行優(yōu)化,以提供更高的能效比,這對(duì)于電池供電的設(shè)備尤為重要。因此,戴偉進(jìn)認(rèn)為,智慧AR眼鏡、智慧家居等領(lǐng)域,NPU還將迎來一波發(fā)展機(jī)遇。
另外,面臨龐大的AI計(jì)算需求,分布式計(jì)算將成為更好的選擇。而NPU可以在不同的計(jì)算節(jié)點(diǎn)上提供協(xié)同工作的能力,使得AI應(yīng)用可以在多個(gè)設(shè)備之間實(shí)現(xiàn)高效地分配和執(zhí)行。所以在整個(gè)從云到端的全流程中,NPU都將得到充分的市場(chǎng)空間。
在這樣一個(gè)肉眼可見的高速增長階段,戴偉進(jìn)認(rèn)為,芯原以及其他NPU供應(yīng)商不僅需要加大投入以保證技術(shù)優(yōu)勢(shì),也需要及時(shí)針對(duì)流行的AI算法和模型進(jìn)行優(yōu)化,確保NPU能夠高效運(yùn)行最新的AI應(yīng)用。此外,還需要保證可擴(kuò)展性,提供不同性能和功耗級(jí)別的NPU產(chǎn)品系列,以滿足從高端服務(wù)器到低端IoT設(shè)備的復(fù)雜需求。
小結(jié)
在AI計(jì)算的浪潮中,NPU的發(fā)展正迎來新的轉(zhuǎn)折點(diǎn)。Imagination的決定提醒我們,獨(dú)立工作的NPU并非AI計(jì)算的正解,還是需要與GPU等協(xié)同工作,方能實(shí)現(xiàn)最佳的性能和效率。
芯原股份的成功案例為我們提供了寶貴的經(jīng)驗(yàn)。它通過構(gòu)建一個(gè)包含GPU、GPGPU和NPU的可擴(kuò)展AI計(jì)算平臺(tái),實(shí)現(xiàn)了不同計(jì)算資源的有機(jī)結(jié)合。這種融合策略不僅提升了AI計(jì)算的整體性能,還為客戶提供了更大的靈活性和可擴(kuò)展性,以適應(yīng)不斷變化的市場(chǎng)需求。
面向未來,NPU的發(fā)展需要更加注重生態(tài)系統(tǒng)的建設(shè)。這意味著不僅要在硬件上進(jìn)行創(chuàng)新,還要在軟件工具、開發(fā)框架和支持服務(wù)上進(jìn)行投入。通過構(gòu)建一個(gè)健康、開放的生態(tài)系統(tǒng),NPU技術(shù)才能更好地融入各種應(yīng)用場(chǎng)景,滿足不同客戶的需求。
總之,NPU作為AI計(jì)算領(lǐng)域的重要參與者,其未來發(fā)展將更加依賴于與其他處理器的協(xié)同和生態(tài)系統(tǒng)的完善。只有在硬件、軟件和生態(tài)系統(tǒng)上實(shí)現(xiàn)全面優(yōu)化,NPU才能在AI計(jì)算的浪潮中立于不敗之地。
【來源:愛集微】