如何高效、精準(zhǔn)地進(jìn)行圖片搜索?看看輕量化視覺(jué)預(yù)訓(xùn)練模型
?你是否有過(guò)圖像檢索的煩惱?
或是難以在海量化的圖像中準(zhǔn)確地找到所需圖像,或是在基于文本的檢索中得到差強(qiáng)人意的結(jié)果。對(duì)于這個(gè)難題,微軟亞洲研究院和微軟云計(jì)算與人工智能事業(yè)部的研究人員對(duì)輕量化視覺(jué)模型進(jìn)行了深入研究,并提出了一系列視覺(jué)預(yù)訓(xùn)練模型的設(shè)計(jì)和壓縮方法,實(shí)現(xiàn)了視覺(jué) Transformer 的輕量化部署需求。
目前該方法和模型已成功應(yīng)用于微軟必應(yīng)搜索引擎,實(shí)現(xiàn)了百億圖片的精準(zhǔn)、快速推理和檢索。本文將深入講解輕量化視覺(jué)預(yù)訓(xùn)練模型的發(fā)展、關(guān)鍵技術(shù)、應(yīng)用和潛力,以及未來(lái)的機(jī)遇和挑戰(zhàn),希望大家可以更好地了解輕量化視覺(jué)預(yù)訓(xùn)練領(lǐng)域,共同推進(jìn)相關(guān)技術(shù)的發(fā)展。
近來(lái),基于 Transformer 的視覺(jué)預(yù)訓(xùn)練模型在諸多計(jì)算機(jī)視覺(jué)任務(wù)上都取得了優(yōu)越性能,受到了廣泛關(guān)注。然而,視覺(jué) Transformer 預(yù)訓(xùn)練模型通常參數(shù)量大、復(fù)雜度高,制約了其在實(shí)際應(yīng)用中的部署和使用,尤其是在資源受限的設(shè)備中或者對(duì)實(shí)時(shí)性要求很高的場(chǎng)景中。因此,視覺(jué)預(yù)訓(xùn)練大模型的“輕量化”研究成為了學(xué)術(shù)界和工業(yè)界關(guān)注的新熱點(diǎn)。
對(duì)此,微軟亞洲研究院和微軟云計(jì)算與人工智能事業(yè)部的研究員們?cè)谝曈X(jué)大模型的結(jié)構(gòu)設(shè)計(jì)和訓(xùn)練推斷上進(jìn)行了深入探索,同時(shí)還對(duì)大模型的輕量化、實(shí)時(shí)性以及云端部署也做了創(chuàng)新應(yīng)用。本文將從輕量化視覺(jué)預(yù)訓(xùn)練模型的發(fā)展談起,探討模型輕量化研究中的關(guān)鍵技術(shù),以及輕量化視覺(jué) Transformer 模型在實(shí)際產(chǎn)品中的應(yīng)用和潛力,最后展望輕量化視覺(jué)模型的未來(lái)發(fā)展機(jī)遇和挑戰(zhàn)。
視覺(jué)大模型層出不窮,輕量化預(yù)訓(xùn)練模型卻乏人問(wèn)津
最近幾年,深度學(xué)習(xí)在 ImageNet 圖像分類(lèi)任務(wù)上的進(jìn)展主要得益于對(duì)視覺(jué)模型容量的大幅度擴(kuò)增。如圖1所示,短短幾年時(shí)間,視覺(jué)預(yù)訓(xùn)練模型的容量擴(kuò)大了300多倍,從4,450萬(wàn)參數(shù)的 ResNet-101 模型,進(jìn)化到了擁有150億參數(shù)的 V-MoE 模型,這些大型視覺(jué)預(yù)訓(xùn)練模型在圖像理解和視覺(jué)內(nèi)容生成等任務(wù)上都取得了長(zhǎng)足進(jìn)步。
圖1:視覺(jué)預(yù)訓(xùn)練模型參數(shù)量的變化趨勢(shì)圖
無(wú)論是微軟的30億參數(shù) Swin-V2 模型,還是谷歌發(fā)布的18億參數(shù) ViT-G/14 模型,視覺(jué)大模型在眾多任務(wù)中都展現(xiàn)了優(yōu)越的性能,尤其是其強(qiáng)大的小樣本(few-shot) 甚至是零樣本 (zero-shot) 的泛化能力,對(duì)實(shí)現(xiàn)通用智能非常關(guān)鍵。
然而,在很多實(shí)際場(chǎng)景中,由于存儲(chǔ)、計(jì)算資源的限制,大模型難以直接部署或者無(wú)法滿足實(shí)時(shí)需求。因此,輕量級(jí)的視覺(jué)預(yù)訓(xùn)練模型研究變得越來(lái)越重要,且具有很強(qiáng)的實(shí)際應(yīng)用價(jià)值。盡管目前有一些工作在探討輕量級(jí)模型,但是這些方法大多是針對(duì)特定任務(wù)、特定結(jié)構(gòu)設(shè)計(jì)的,在設(shè)計(jì)和訓(xùn)練過(guò)程中沒(méi)有考慮到模型的通用性,存在跨數(shù)據(jù)域、跨任務(wù)的泛化局限性。
輕量化視覺(jué)模型的關(guān)鍵技術(shù)研究
為了實(shí)現(xiàn)輕量化視覺(jué)預(yù)訓(xùn)練模型,微軟的研究員們發(fā)現(xiàn)了兩大關(guān)鍵問(wèn)題:1)如何設(shè)計(jì)出通用性更強(qiáng)的輕量化模型結(jié)構(gòu)?2)受制于輕量化視覺(jué)預(yù)訓(xùn)練模型的有限容量,如何設(shè)計(jì)高效的預(yù)訓(xùn)練方法讓小模型也能學(xué)習(xí)到大規(guī)模數(shù)據(jù)中的有效信息?面對(duì)這些難題,研究員們通過(guò)堅(jiān)持不懈的研究和探索,目前取得了一些階段性成果。
由于提高輕量化預(yù)訓(xùn)練模型通用性的核心在于如何在資源受限(參數(shù)量,時(shí)延等)的情況下強(qiáng)化模型的學(xué)習(xí)能力,使其能夠更好地在大規(guī)模數(shù)據(jù)中學(xué)習(xí)通用特征,因此,研究員們從以下三個(gè)角度進(jìn)行了深入探索:
1. 輕量化模塊設(shè)計(jì)?
輕量、低延時(shí)的模塊是組成輕量級(jí)模型的重要部分。在卷積神經(jīng)網(wǎng)絡(luò)中,具有代表性的輕量級(jí)模塊有MobileNet的反向殘差模塊(Inverted Residual Block)以及 ShuffleNet 的通道隨機(jī)交叉單元(Shuffle Unit)。在視覺(jué) Transformer 結(jié)構(gòu)中,由于圖像塊之間注意力的計(jì)算沒(méi)有很好地考慮相對(duì)位置編碼信息,因此研究員們?cè)O(shè)計(jì)了即插即用的輕量級(jí)二維圖像相對(duì)位置編碼方法 iRPE [1],它不需要修改任何的訓(xùn)練超參數(shù),就能提高模型的性能。此外,針對(duì)視覺(jué) Transformer 參數(shù)冗余的問(wèn)題,研究員們?cè)O(shè)計(jì)了權(quán)重多路復(fù)用(Weight Multiplexing)模塊 [2]。如圖2所示,該方法通過(guò)多層權(quán)重復(fù)用減少模型參數(shù)的冗余性,并且引入不共享的線性變換,提高參數(shù)的多樣性。
圖2:Transformer 中的權(quán)重多路復(fù)用模塊
2. 輕量化模型搜索?
網(wǎng)絡(luò)結(jié)構(gòu)搜索(Neural Architecture Search)可以從模型設(shè)計(jì)空間中自動(dòng)找到更加輕量、性能更加優(yōu)異的模型結(jié)構(gòu) [3]。在卷積神經(jīng)網(wǎng)絡(luò)中,代表性工作有 NASNet 和 EfficientNet 等。在視覺(jué) Transformer 結(jié)構(gòu)搜索中,針對(duì)視覺(jué)模型中的通道寬度、網(wǎng)絡(luò)深度以及 head 數(shù)量等多個(gè)維度,研究員們先后提出了 AutoFormer [4] 和 S3 [5],實(shí)現(xiàn)了視覺(jué)模型的動(dòng)態(tài)可伸縮訓(xùn)練與結(jié)構(gòu)搜索。在同樣模型精度的情況下,搜索得到的新模型具有更小的參數(shù)量和計(jì)算量。值得注意的是,在 S3 中,研究員們利用 E-T Error [5]以及權(quán)重共享超網(wǎng)來(lái)指導(dǎo)、改進(jìn)搜索空間,在得到更高效的模型結(jié)構(gòu)的同時(shí)也分析了搜索空間的演進(jìn)過(guò)程,如圖3所示。與此同時(shí),模型結(jié)構(gòu)搜索的過(guò)程為輕量化模型的設(shè)計(jì)提供了有效的設(shè)計(jì)經(jīng)驗(yàn)和參考。
圖3:輕量級(jí)模型搜索空間進(jìn)化過(guò)程
3. 視覺(jué)大模型壓縮與知識(shí)遷移?
輕量級(jí)預(yù)訓(xùn)練模型的另一難題在于,由于模型容量有限,難以直接學(xué)習(xí)大規(guī)模數(shù)據(jù)中包含的豐富信息和知識(shí)。為了解決這一問(wèn)題,研究員們提出了快速預(yù)訓(xùn)練蒸餾方案,將大模型的知識(shí)遷移到輕量化的小模型中 [6]。如圖4所示,和傳統(tǒng)的單階段知識(shí)蒸餾不同,快速預(yù)訓(xùn)練蒸餾分為兩個(gè)階段:1)壓縮并保存大模型訓(xùn)練過(guò)程中使用的數(shù)據(jù)增廣信息和預(yù)測(cè)信息;2)加載并恢復(fù)大模型的預(yù)測(cè)信息和數(shù)據(jù)增廣后,利用大模型作為教師,通過(guò)預(yù)訓(xùn)練蒸餾指導(dǎo)輕量化學(xué)生模型的學(xué)習(xí)和訓(xùn)練。不同于剪枝和量化,該方法在權(quán)重共享的基礎(chǔ)上使用了上文中提到的權(quán)重復(fù)用[2],通過(guò)引入輕量級(jí)權(quán)重變換和蒸餾,成功壓縮視覺(jué)預(yù)訓(xùn)練大模型,得到了通用性更強(qiáng)的輕量級(jí)模型。在不犧牲性能的情況下,該方法可以將原有大模型壓縮數(shù)十倍。
圖4:快速預(yù)訓(xùn)練知識(shí)蒸餾
這一系列的研究成果,不僅在計(jì)算機(jī)視覺(jué)的頂級(jí)學(xué)術(shù)會(huì)議上(CVPR、ICCV、ECCV、NeurIPS等 )發(fā)表了多篇論文[1-6],也通過(guò)和微軟必應(yīng)的合作,成功將輕量化預(yù)訓(xùn)練模型應(yīng)用到了圖像搜索產(chǎn)品中,提高了實(shí)際業(yè)務(wù)中圖像和視頻內(nèi)容理解的能力。
輕量級(jí)視覺(jué)預(yù)訓(xùn)練模型的應(yīng)用
輕量級(jí)視覺(jué)預(yù)訓(xùn)練模型在實(shí)際中有諸多用途,尤其是在實(shí)時(shí)性要求高或者資源受限的場(chǎng)景中, 例如:云端視頻實(shí)時(shí)渲染和增強(qiáng)、端測(cè)圖像、視頻內(nèi)容理解。輕量級(jí)視覺(jué)模型已經(jīng)在智能零售、先進(jìn)制造業(yè)等領(lǐng)域展現(xiàn)出了廣闊的應(yīng)用前景,將來(lái)還會(huì)在元宇宙、自動(dòng)駕駛等新興行業(yè)發(fā)揮重要作用。以微軟必應(yīng)產(chǎn)品中的圖像內(nèi)容搜索為例,下面為大家展示一下輕量化視覺(jué)模型的實(shí)際應(yīng)用和部署。
目前,基于內(nèi)容的圖片搜索在圖片的類(lèi)別屬性理解上已經(jīng)比較成熟,但對(duì)于復(fù)雜場(chǎng)景的內(nèi)容理解仍有很大的挑戰(zhàn)。復(fù)雜場(chǎng)景的圖片通常具有大景深、背景雜亂、人物多、物體關(guān)系復(fù)雜等特點(diǎn),顯著地增加了內(nèi)容理解的難度,因而對(duì)預(yù)訓(xùn)練模型的魯棒性和泛化性提出了更高的要求。
舉例來(lái)說(shuō),動(dòng)漫圖片的搜索質(zhì)量在很長(zhǎng)一段時(shí)間內(nèi)無(wú)法得到有效提升,其主要的挑戰(zhàn)包括:繪畫(huà)線條和顏色比真實(shí)場(chǎng)景圖片更加夸張,包含更多動(dòng)作和場(chǎng)景,不同漫畫(huà)之間的風(fēng)格內(nèi)容差異巨大。圖5到圖7分別展示了“灌籃高手”、“皮卡丘”和“足球小將”三種不同的動(dòng)漫人物和行為,其漫畫(huà)風(fēng)格和內(nèi)容差別迥異。如何有效地理解漫畫(huà)圖片內(nèi)容,對(duì)視覺(jué)預(yù)訓(xùn)練模型提出了較高的要求。
圖5:在微軟必應(yīng)搜索引擎中,對(duì)灌籃高手的動(dòng)作理解包括:扣籃,運(yùn)球,搶斷,投籃等
圖6:在微軟必應(yīng)搜索引擎中,對(duì)皮卡丘行為的理解比如吃蘋(píng)果、吃西瓜,吃雪糕等
圖7:在微軟必應(yīng)搜索引擎中,對(duì)足球小將射門(mén)動(dòng)作的特寫(xiě)
上文中提到的輕量級(jí)視覺(jué)通用模型以及快速預(yù)訓(xùn)練蒸餾算法目前已成功應(yīng)用于微軟必應(yīng)搜索引擎中。借助微軟亞洲研究院提供的視覺(jué)語(yǔ)言多模態(tài)預(yù)訓(xùn)練模型,微軟必應(yīng)圖片搜索功能增強(qiáng)了對(duì)漫畫(huà)內(nèi)容的理解,可以返回與用戶需求更為匹配的圖片內(nèi)容。
與此同時(shí),微軟必應(yīng)搜索引擎龐大的索引庫(kù)對(duì)于檢索效率有非常高的要求。微軟亞洲研究院提供的快速預(yù)訓(xùn)練蒸餾方法有效地將預(yù)訓(xùn)練大模型的索引能力遷移到輕量化模型中,在識(shí)別準(zhǔn)確率上將現(xiàn)有模型提升了14%,同時(shí)極大地優(yōu)化了模型的計(jì)算效率,實(shí)現(xiàn)了百億圖片的快速推理。
未來(lái)的機(jī)遇與挑戰(zhàn)
模型輕量化是人工智能未來(lái)應(yīng)用落地的核心。隨著視覺(jué)技術(shù)、算法、算力和數(shù)據(jù)等不斷完善,模型的復(fù)雜度急劇攀升,神經(jīng)網(wǎng)絡(luò)計(jì)算的能耗代價(jià)越來(lái)越高。輕量化視覺(jué)模型高效的計(jì)算效率和低廉的部署應(yīng)用成本,能夠在未來(lái)更多的實(shí)際產(chǎn)品中發(fā)揮巨大優(yōu)勢(shì)。除此之外,本地化的輕量級(jí)預(yù)訓(xùn)練視覺(jué)模型在支持更多服務(wù)的同時(shí),還能夠更好地保護(hù)用戶數(shù)據(jù)和隱私。用戶的數(shù)據(jù)將不再需要離開(kāi)設(shè)備,即可實(shí)現(xiàn)模型服務(wù)等功能的遠(yuǎn)程升級(jí)。
當(dāng)然,研究人員也意識(shí)到輕量級(jí)預(yù)訓(xùn)練視覺(jué)模型所面臨的挑戰(zhàn):一方面在模型結(jié)構(gòu)設(shè)計(jì)上,如何在模型參數(shù)量和推理延時(shí)的限制下達(dá)到模型的最優(yōu)學(xué)習(xí)能力,一直以來(lái)都是學(xué)術(shù)界和工業(yè)界密切關(guān)注的問(wèn)題。雖然目前已經(jīng)沉淀了不少有效的模型結(jié)構(gòu),在通用近似定理(UAT)、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(NAS)等領(lǐng)域也取得了長(zhǎng)足的發(fā)展,但是現(xiàn)有的輕量級(jí)預(yù)訓(xùn)練視覺(jué)模型和視覺(jué)大模型之間仍有差距,有待進(jìn)一步優(yōu)化和提升。另一方面在訓(xùn)練方法上,學(xué)術(shù)界和工業(yè)界針對(duì)視覺(jué)大模型提出了自監(jiān)督、圖像分類(lèi)和多模態(tài)等多種訓(xùn)練方法,顯著提升了模型的通用能力。如何針對(duì)容量有限的輕量級(jí)模型設(shè)計(jì)更有效的訓(xùn)練方式,還需要進(jìn)一步的研究和探索。微軟亞洲研究院的研究員們將不斷推進(jìn)輕量級(jí)預(yù)訓(xùn)練視覺(jué)模型的科研進(jìn)展,也歡迎更多科技同仁共同交流、探索該領(lǐng)域的相關(guān)技術(shù)。?