大模型应用新范式:统一特征表示优化(UFO)
從深度學(xué)習(xí)技術(shù)被提出以來(lái),一直踐行著“think big”的理念。特別是當(dāng)預(yù)訓(xùn)練技術(shù)被廣泛應(yīng)用之后,更多的數(shù)據(jù)結(jié)合更大的模型參數(shù)量會(huì)持續(xù)帶來(lái)模型性能的提升,這條定律不斷被近期發(fā)布的各種大模型所驗(yàn)證。在剛剛過(guò)去的2021年,百度文心大模型中的ERNIE3.0、微軟和英偉達(dá)聯(lián)合推出的MT-NLP以及谷歌的Switch Transformer等等,參數(shù)量可達(dá)千億甚至萬(wàn)億。
在獲得高性能大模型后,如何將大模型與業(yè)務(wù)結(jié)合實(shí)現(xiàn)落地變得尤為重要。當(dāng)前預(yù)訓(xùn)練模型的落地流程可被歸納為:針對(duì)只有少量標(biāo)注數(shù)據(jù)的特定任務(wù),使用任務(wù)數(shù)據(jù)fine-tune預(yù)訓(xùn)練模型并部署上線。然而,當(dāng)預(yù)訓(xùn)練模型參數(shù)量不斷增大后,該流程面臨兩個(gè)無(wú)法回避的問(wèn)題。首先,隨著模型參數(shù)量的急劇增加,大模型fine-tuning所需要的計(jì)算資源將變得非常巨大,普通開(kāi)發(fā)者通常無(wú)法負(fù)擔(dān)。其次,隨著AIOT的發(fā)展,越來(lái)越多AI應(yīng)用從云端往邊緣設(shè)備、端設(shè)備遷移,而大模型卻無(wú)法直接部署在這些存儲(chǔ)和算力都極其有限的硬件上。
針對(duì)預(yù)訓(xùn)練大模型落地所面臨的問(wèn)題,百度提出統(tǒng)一特征表示優(yōu)化技術(shù)(UFO:Unified Feature Optimization),在充分利用大數(shù)據(jù)和大模型的同時(shí),兼顧大模型落地成本及部署效率。UFO技術(shù)方案的主要內(nèi)容包括:
1. All in One:設(shè)計(jì)視覺(jué)表示多任務(wù)協(xié)同訓(xùn)練方案,免去了下游任務(wù)fine-tuning的過(guò)程,實(shí)現(xiàn)單模型在智慧城市多個(gè)核心任務(wù)效果全面領(lǐng)先
2. One for All:首創(chuàng)針對(duì)視覺(jué)多任務(wù)的超網(wǎng)絡(luò)與訓(xùn)練方案,支持各類任務(wù)、各類硬件的靈活部署,解決大模型推理性能差的問(wèn)題。
All in One:
功能更強(qiáng)大、更通用的視覺(jué)模型
之前主流的視覺(jué)模型生產(chǎn)流程,通常采用單任務(wù)“Train from scratch”方案。每個(gè)任務(wù)都從零開(kāi)始訓(xùn)練,各個(gè)任務(wù)之間也無(wú)法相互借鑒。由于單任務(wù)數(shù)據(jù)不足帶來(lái)偏置問(wèn)題,實(shí)際效果過(guò)分依賴任務(wù)數(shù)據(jù)分布,場(chǎng)景泛化效果往往不佳。
近兩年蓬勃發(fā)展的大數(shù)據(jù)預(yù)訓(xùn)練技術(shù),通過(guò)使用大量數(shù)據(jù)學(xué)到更多的通用知識(shí),然后遷移到下游任務(wù)當(dāng)中,本質(zhì)上是不同任務(wù)之間相互借鑒了各自學(xué)到的知識(shí)。基于海量數(shù)據(jù)獲得的預(yù)訓(xùn)練模型具有較好的知識(shí)完備性,在下游任務(wù)中基于少量數(shù)據(jù)fine-tuning依然可以獲得較好的效果。不過(guò)基于預(yù)訓(xùn)練+下游任務(wù)fine-tuning的模型生產(chǎn)流程,需要針對(duì)各個(gè)任務(wù)分別訓(xùn)練模型,存在較大的研發(fā)資源消耗。
百度提出的UFO All in One模型,通過(guò)使用多個(gè)任務(wù)的數(shù)據(jù)訓(xùn)練一個(gè)功能強(qiáng)大的通用模型,可被直接應(yīng)用于處理多個(gè)任務(wù)。不僅通過(guò)跨任務(wù)的信息提升了單個(gè)任務(wù)的效果,并且免去了下游任務(wù)fine-tuning過(guò)程。UFO All in One模型研發(fā)模式可被廣泛應(yīng)用于各類多任務(wù)AI系統(tǒng),以智慧城市的多任務(wù)大模型為例,UFO All in One可以用單模型實(shí)現(xiàn)多個(gè)任務(wù)的SOTA識(shí)別效果,同時(shí)多任務(wù)模型可獲得顯著優(yōu)于單任務(wù)模型的效果,證明了多任務(wù)之間信息借鑒機(jī)制的有效性。
單模型覆蓋智慧城市4大任務(wù)
智慧城市是目前計(jì)算機(jī)視覺(jué)技術(shù)最重要的應(yīng)用場(chǎng)景之一,在智慧城市的各個(gè)任務(wù)中,往往要同時(shí)處理人臉、人體、車輛和通用物體等目標(biāo),這對(duì)AI系統(tǒng)的多任務(wù)協(xié)同能力提出了非常高的要求。現(xiàn)有的視覺(jué)模型大多只能檢測(cè)或識(shí)別其中的一類目標(biāo),百度通過(guò)UFO方案中的多任務(wù)協(xié)同學(xué)習(xí)技術(shù),產(chǎn)出城市視覺(jué)UFO模型同時(shí)處理這4類任務(wù),并在10項(xiàng)公開(kāi)數(shù)據(jù)集上效果取得SOTA。下面詳細(xì)介紹UFO的多任務(wù)協(xié)同訓(xùn)練方案。
任務(wù)設(shè)置與數(shù)據(jù)
為驗(yàn)證方案的有效性且便于公平對(duì)比,使用10項(xiàng)公開(kāi)數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試。各個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息如表所示:
統(tǒng)一各任務(wù)的配置
從模型優(yōu)化的層面來(lái)說(shuō),以往不同任務(wù)模型訓(xùn)練的batch size 、學(xué)習(xí)率乃至于優(yōu)化器都各不相同。為了方便后續(xù)的多任務(wù)訓(xùn)練,UFO方案統(tǒng)一了各個(gè)任務(wù)的模型結(jié)構(gòu)以及優(yōu)化方法。任務(wù)配置如下表所示:
異構(gòu)數(shù)據(jù)采樣策略和Drop Path正則技術(shù)
多任務(wù)學(xué)習(xí)首先面臨的問(wèn)題是如何構(gòu)建Batch。常用的方式有兩種,一種是同數(shù)據(jù)域的Batch組成,即Batch內(nèi)的數(shù)據(jù)均來(lái)自同一個(gè)任務(wù),通過(guò)不同的Batch選擇不同的任務(wù)來(lái)保證訓(xùn)練所有任務(wù)。另一種是不同數(shù)據(jù)域的 Batch 組成,即Batch 內(nèi)的數(shù)據(jù)來(lái)自不同的任務(wù)。同數(shù)據(jù)域的Batch組成面臨的問(wèn)題是當(dāng)模型中使用BatchNorm這一常見(jiàn)的操作時(shí),因?yàn)橛?xùn)練時(shí)的統(tǒng)計(jì)值(單任務(wù)統(tǒng)計(jì)值)和測(cè)試時(shí)的統(tǒng)計(jì)值(多任務(wù)統(tǒng)計(jì)值)差異較大,導(dǎo)致模型效果較差。如下表所示,通過(guò)ResNet50結(jié)構(gòu)在人體Market1501和物品SOP兩個(gè)任務(wù)中驗(yàn)證,使用混合數(shù)據(jù)域方案可以大幅提高兩任務(wù)的效果。
在四個(gè)任務(wù)中,人體和物品的訓(xùn)練集數(shù)量最小,都只有6萬(wàn)張圖片左右,而人臉和車輛則各有約500萬(wàn)和40萬(wàn)張圖片。因此在多任務(wù)訓(xùn)練過(guò)程中,呈現(xiàn)出了人體、物品快速過(guò)擬合,而人臉和車輛欠擬合的現(xiàn)象。為解決各個(gè)任務(wù)數(shù)據(jù)不均衡導(dǎo)致的過(guò)擬合問(wèn)題,通過(guò)在訓(xùn)練過(guò)程中使用Drop Path正則化方法,在人體和物品任務(wù)中實(shí)現(xiàn)mAP1%~3%的提升,同時(shí)其他任務(wù)效果持平或更好。
單模型刷新10項(xiàng)公開(kāi)數(shù)據(jù)集SOTA結(jié)果
基于多任務(wù)協(xié)同訓(xùn)練方案得到的城市視覺(jué)All in One UFO模型,和之前的單任務(wù)SOTA結(jié)果相比,在4個(gè)任務(wù)的10個(gè)測(cè)試集上都達(dá)到了新的SOTA,同時(shí)相比使用同樣模型結(jié)構(gòu)的單任務(wù)結(jié)果,在多數(shù)任務(wù)上UFO也表現(xiàn)的更好,證明了多任務(wù)之間信息借鑒機(jī)制的有效性。
在上圖中,灰色表示表示城市視覺(jué)All in One UFO模型的結(jié)果,橙色表示和UFO模型使用相同模型結(jié)構(gòu)的單任務(wù)結(jié)果,藍(lán)色表示之前同樣數(shù)據(jù)集上最優(yōu)的單任務(wù)結(jié)果。以上所有結(jié)果都不使用預(yù)訓(xùn)練數(shù)據(jù),同時(shí)無(wú)重排序策略。
One for All:
靈活、可伸縮的彈性部署方案
受算力和存儲(chǔ)的限制,大模型無(wú)法直接部署在邊緣設(shè)備上。一個(gè)針對(duì)云端設(shè)備開(kāi)發(fā)的模型要部署到邊緣設(shè)備或端設(shè)備時(shí)往往要進(jìn)行模型壓縮,或完全重新設(shè)計(jì),而預(yù)訓(xùn)練大模型的壓縮本身需要耗費(fèi)大量的資源。
另外,不同任務(wù)對(duì)模型的功能和性能要求也不同,例如人臉識(shí)別門禁系統(tǒng)只需具備人臉識(shí)別功能即可,智慧社區(qū)的管控系統(tǒng)則需要同時(shí)具備人臉識(shí)別和人體分析的能力,部分場(chǎng)景還需要同時(shí)具備車型識(shí)別及車牌識(shí)別能力。即便是同樣的人臉識(shí)別任務(wù),門禁系統(tǒng)和金融支付系統(tǒng)對(duì)模型的精度和性能要求也不同。目前針對(duì)這些任務(wù)往往需要定制化開(kāi)發(fā)多個(gè)單任務(wù)模型,加之需要適配不同的硬件平臺(tái),AI模型開(kāi)發(fā)的工作量顯著增長(zhǎng)。
針對(duì)大模型的開(kāi)發(fā)和部署問(wèn)題,UFO給出了One for All的解決方案,通過(guò)引入超網(wǎng)絡(luò)的概念,超網(wǎng)絡(luò)由眾多稀疏的子網(wǎng)絡(luò)構(gòu)成,每個(gè)子網(wǎng)絡(luò)是超網(wǎng)絡(luò)中的一條路徑,將不同參數(shù)量、不同任務(wù)功能和不同精度的模型訓(xùn)練過(guò)程變?yōu)橛?xùn)練一個(gè)超網(wǎng)絡(luò)模型。訓(xùn)練完成的One for All UFO超網(wǎng)絡(luò)大模型即可針對(duì)不同的任務(wù)和設(shè)備低成本生成相應(yīng)的可即插即用的小模型,實(shí)現(xiàn)one for all tasks 和one for all chips的能力。
超網(wǎng)絡(luò)設(shè)計(jì)與訓(xùn)練方案
UFO基于Vision Transformer結(jié)構(gòu)設(shè)計(jì)了多任務(wù)多路徑超網(wǎng)絡(luò)。超網(wǎng)絡(luò)分為多路徑FFN超網(wǎng)和與可伸縮attention超網(wǎng)兩部分。與谷歌Switch Transformer不同的是,UFO的超網(wǎng)不同的路徑除可選擇不同F(xiàn)FN單元,同時(shí)Attention模塊支持根據(jù)不同任務(wù)彈性伸縮,實(shí)現(xiàn)網(wǎng)絡(luò)的搜索空間擴(kuò)展,為硬件部署提供更多可選的子網(wǎng)絡(luò),并提升精度。
UFO還專門設(shè)計(jì)了針對(duì)多任務(wù)超網(wǎng)絡(luò)的訓(xùn)練方案。首先針對(duì)超網(wǎng)絡(luò)中的FFN超網(wǎng)模塊,每個(gè)任務(wù)的每個(gè)block中會(huì)自動(dòng)學(xué)習(xí)共享FFN(FFN-shared)和該任務(wù)專屬FFN(FFN-taskX)的加權(quán)系數(shù),所有任務(wù)都會(huì)更新共享FFN的參數(shù),特定任務(wù)只會(huì)更新專屬的FFN參數(shù)。在FFN超網(wǎng)訓(xùn)中,對(duì)于每個(gè)block, 每個(gè)子網(wǎng)絡(luò)都有三種不同的路徑選擇,即選擇共享FFN,選擇專屬FFN或者選擇加權(quán)的FFN。對(duì)于所有的FFN,都可以選擇不同的放縮系數(shù)。因此FFN超網(wǎng)絡(luò)中共有中共有(T*3*ratio)^L種不同的FFN路徑,其中T為task的數(shù)量,L為網(wǎng)絡(luò)的層數(shù), ratio為放縮系數(shù)的數(shù)量。而對(duì)于self-attention超網(wǎng),每個(gè)子網(wǎng)絡(luò)可以選擇不同的Head數(shù)量以及block的重復(fù)次數(shù)。
One for all tasks
由于在訓(xùn)練超網(wǎng)的過(guò)程中使用了各個(gè)任務(wù)的數(shù)據(jù),并對(duì)超網(wǎng)施加任務(wù)約束,可以讓相關(guān)的任務(wù)共享更多的參數(shù),而不相關(guān)的任務(wù)之間盡量減少干擾,從而獲得針對(duì)不同任務(wù)最優(yōu)的子網(wǎng)絡(luò)模型。在業(yè)務(wù)應(yīng)用時(shí),只需要根據(jù)不同子網(wǎng)絡(luò)在特定任務(wù)的效果,抽取出對(duì)應(yīng)的子網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),即可直接部署,無(wú)需重復(fù)訓(xùn)練。
One for all chips
針對(duì)不同平臺(tái)存儲(chǔ)容量和算力不同,從訓(xùn)練好的UFO超網(wǎng)絡(luò)模型中選擇不同大小和計(jì)算量的子網(wǎng)絡(luò)進(jìn)行部署。由于超網(wǎng)絡(luò)中子網(wǎng)絡(luò)的數(shù)據(jù)眾多,每個(gè)子網(wǎng)逐一測(cè)試精度和延時(shí)并不現(xiàn)實(shí),因此在UFO中,使用了GP-NAS【1】中的基于高斯過(guò)程的超參數(shù)超參估計(jì)技術(shù),只需采樣超網(wǎng)絡(luò)中少量子網(wǎng)絡(luò)進(jìn)行評(píng)估,即可準(zhǔn)確預(yù)測(cè)出其他網(wǎng)絡(luò)的精度和速度。
單超網(wǎng)絡(luò)支撐智慧城市多任務(wù)靈活部署
基于上述方案,使用公開(kāi)數(shù)據(jù)訓(xùn)練的One for All UFO超網(wǎng)絡(luò)模型可以在智慧城市人臉、人體、車輛和物品4類任務(wù)的6個(gè)公開(kāi)測(cè)試集上精度達(dá)到SOTA,同時(shí)從UFO超網(wǎng)絡(luò)中抽取的子網(wǎng)絡(luò),在參數(shù)量壓縮20%~30%的情況下,同樣可以超過(guò)之前SOTA的結(jié)果。
結(jié)語(yǔ)
盡管大模型一次次刷新了記錄,展現(xiàn)出驚人的效果,但對(duì)于工業(yè)界而言,勢(shì)必要面對(duì)如何應(yīng)用落地的問(wèn)題。百度提出的統(tǒng)一特征表示優(yōu)化技術(shù)(UFO),給出了預(yù)訓(xùn)練之外的另一個(gè)解決方案:在模型生產(chǎn)層面,通過(guò)All in One方案,充分利用大數(shù)據(jù)和大模型帶來(lái)的收益,將多任務(wù)整合至一套訓(xùn)練框架和模型,通過(guò)跨任務(wù)的信息量帶來(lái)更高的特定任務(wù)收益。在部署層面,基于One for All方案,僅使用單個(gè)超網(wǎng)便可支撐不同任務(wù)模型在不同平臺(tái)、不同算力設(shè)備上的自適應(yīng)部署,實(shí)現(xiàn)模型的即插即用。
目前UFO All in One模型已經(jīng)在飛槳PaddlePaddle上開(kāi)放,UFO One for All模型也將在近期開(kāi)放,了解更多UFO技術(shù)細(xì)節(jié),可以通過(guò)以下鏈接:
https://github.com/PaddlePaddle/VIMER/tree/main/UFO
附錄
【1】GP-NAS: Gaussian Process based Neural Architecture Search,CVPR 2020
?
總結(jié)
以上是生活随笔為你收集整理的大模型应用新范式:统一特征表示优化(UFO)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 百度智能云开物再收“一个奖状”
- 下一篇: 百度App Objective-C/Sw