現(xiàn)在大家已不再討論“ViT是否會(huì)取代CNN”。它們已經(jīng)完成了這場(chǎng)超越?,F(xiàn)在新的挑戰(zhàn)是:如何讓ViT高效運(yùn)行在真正為它量身打造的硬件上。
視覺(jué)AI已不再依賴(lài)CNN——接下來(lái)會(huì)如何發(fā)展?
多年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)在人工智能視覺(jué)領(lǐng)域一直占據(jù)主導(dǎo)地位,廣泛用于自動(dòng)駕駛輔助、人臉識(shí)別、視頻監(jiān)控等場(chǎng)景。但現(xiàn)在,行業(yè)已經(jīng)轉(zhuǎn)向——視覺(jué)Transformer(Vision Transformer,ViT)現(xiàn)已被公認(rèn)為在很多計(jì)算機(jī)視覺(jué)任務(wù)中表現(xiàn)更優(yōu)。ViT能理解全局信息,具備抗干擾能力,并能處理復(fù)雜場(chǎng)景,已經(jīng)成為視覺(jué)AI的新標(biāo)配。
現(xiàn)在大家已不再討論“ViT是否會(huì)取代CNN”。它們已經(jīng)完成了這場(chǎng)超越。現(xiàn)在新的挑戰(zhàn)是:如何讓ViT高效運(yùn)行在真正為它量身打造的硬件上。
本文將探討ViT成為首選的原因、ViT的關(guān)鍵不同之處,以及要最大限度地發(fā)揮其的性能,哪些硬件功能必不可少。
為什么視覺(jué)Transformer會(huì)全面勝出?
CNN用自下而上的方式處理圖像,從邊緣到特征逐層提取,最后識(shí)別出完整的物體。這種方法對(duì)于干凈、理想的圖像效果很好,但若遇到遮擋、圖像損壞或?qū)剐栽肼晻r(shí),就容易出錯(cuò)。而Transformer是在整體上對(duì)圖像進(jìn)行分析,通過(guò)注意力機(jī)制理解圖像中各區(qū)域之間的關(guān)系。
《量子雜志》曾用一個(gè)生動(dòng)的比喻說(shuō)明:“CNN像是從單個(gè)像素開(kāi)始逐步放大;Transformer則像是慢慢讓整幅模糊圖像逐漸聚焦?!?/p>
這種方式使得ViT具有顯著優(yōu)勢(shì):
● 復(fù)雜場(chǎng)景中的卓越物體識(shí)別能力——CNN專(zhuān)注于局部特征,而ViT不同,它考慮的是全局背景,因此在雜亂的環(huán)境中(如部分被車(chē)輛遮擋的行人),ViT表現(xiàn)遠(yuǎn)優(yōu)于CNN。
● 更強(qiáng)的抗干擾能力——CNN容易被細(xì)微像素?cái)_動(dòng)誤導(dǎo)(如將停車(chē)標(biāo)志誤識(shí)別為讓行標(biāo)志)。ViT的整體性分析使其更難被干擾。
● 更優(yōu)的場(chǎng)景解析適應(yīng)性——像自動(dòng)駕駛這樣的任務(wù),不只需要識(shí)別物體,還要分割場(chǎng)景、規(guī)劃路徑。ViT在這些方面表現(xiàn)非常優(yōu)秀。
當(dāng)然,這些優(yōu)勢(shì)需要代價(jià):ViT計(jì)算復(fù)雜度高,對(duì)算力的需求遠(yuǎn)超CNN。因此,當(dāng)下的研究焦點(diǎn)轉(zhuǎn)為了AI硬件優(yōu)化。
什么樣的硬件才能真正釋放ViT的潛力?
要讓ViT在邊緣AI應(yīng)用中發(fā)揮全部實(shí)力,底層硬件需針對(duì)其獨(dú)特計(jì)算需求優(yōu)化。支持ViT的神經(jīng)網(wǎng)絡(luò)處理器(NPU)需具備以下能力:
1.高效的注意力機(jī)制加速——ViT依賴(lài)矩陣乘法與注意力層,而非CNN的卷積運(yùn)算,硬件需針對(duì)性?xún)?yōu)化,必須有能力快速處理這類(lèi)計(jì)算流程。
2.混合數(shù)據(jù)類(lèi)型支持——ViT的注意力計(jì)算需浮點(diǎn)精度,而多層感知機(jī)(MLP)階段則可用低位整數(shù)(如INT8),硬件需平滑切換。硬件必須流暢無(wú)阻地處理這種過(guò)渡。
3.結(jié)構(gòu)化與非結(jié)構(gòu)化稀疏計(jì)算加速——ViT存在大量冗余計(jì)算(如零值乘法)。高效硬件可跳過(guò)這些非必要步驟,提升速度與能效。
4.高吞吐量定制算子——將計(jì)算任務(wù)安排在外部加速器通常會(huì)拖慢推理速度。相反,硬件必須將定制算子與Transformer核心集成到同一流水線中,才能實(shí)現(xiàn)最高效率。
5.并行與多核心計(jì)算能力——場(chǎng)景分割與理解需大量并行運(yùn)算。要高效完成此類(lèi)任務(wù),多引擎支持不可或缺。
6.模型壓縮與剪枝支持——ViT參數(shù)量巨大,可達(dá)數(shù)十億。支持剪枝和壓縮的硬件,可最大限度地減少加載時(shí)間和內(nèi)存壓力。
7.片上處理減少內(nèi)存瓶頸——部分先進(jìn)的ViT方案可直接在本地設(shè)備端運(yùn)行,無(wú)需外部?jī)?nèi)存,顯著提升邊緣AI效率。
未來(lái)已來(lái):ViT專(zhuān)用硬件是下一站
視覺(jué)AI正迅速演進(jìn),ViT已在自動(dòng)駕駛、安防等關(guān)鍵領(lǐng)域超越CNN。下一挑戰(zhàn)在于確保NPU硬件在高效支持ViT的同時(shí),兼顧能效與實(shí)時(shí)性。
在CEVA,我們已將上述硬件優(yōu)化集成至NeuPro-M NPU IP。若想了解我們?nèi)绾瓮苿?dòng)高性能ViT應(yīng)用落地,歡迎訪問(wèn)官網(wǎng)或聯(lián)系我們深入交流。
AI視覺(jué)的未來(lái)已至——請(qǐng)確保您的硬件也能跟上。