MoblieOne + FastViT + FastVLM論文解析
MoblieOne
摘要
過去的高效backbone的優(yōu)化目標(biāo)通常是FLOPS和參數(shù)量,但是這兩個(gè)指標(biāo)和模型運(yùn)行時(shí)間的相關(guān)性不是很好。因此本文分析了這兩個(gè)指標(biāo)和模型運(yùn)行時(shí)間的相關(guān)性,并識(shí)別了模型架構(gòu)和優(yōu)化的瓶頸,最終提出了MobileOne模型,實(shí)現(xiàn)了性能和時(shí)延的平衡,并可以在多個(gè)視覺任務(wù)上實(shí)現(xiàn)較好的性能。
介紹
僅考慮FLOPS和參數(shù)量的優(yōu)化方法往往缺乏考慮對(duì)內(nèi)存調(diào)用花銷以及并行度的考量,比如有的模型通過共享參數(shù)減少參數(shù)量但并沒有降低運(yùn)行時(shí)延,另一方面一些模型使用殘差鏈接等無參數(shù)的結(jié)構(gòu),但是實(shí)際上導(dǎo)致內(nèi)存調(diào)用花銷增大而最終導(dǎo)致時(shí)間時(shí)延增大。為了緩解模型的性能瓶頸,本文將訓(xùn)練和推理架構(gòu)解耦,同時(shí)使用正則化松弛進(jìn)一步優(yōu)化瓶頸。本文主要有以下四點(diǎn)貢獻(xiàn):
1)設(shè)計(jì)了MobileOne這種結(jié)構(gòu),其可以實(shí)現(xiàn)比較好的性能和運(yùn)行時(shí)延的平衡。
2)分析了目前的性能瓶頸
3)分析了訓(xùn)練時(shí)可重新參數(shù)化分支和訓(xùn)練中正則化的動(dòng)態(tài)松弛的效果。結(jié)合起來,它們有助于緩解訓(xùn)練小型模型時(shí)遇到的優(yōu)化瓶頸。
4)展現(xiàn)了本文的模型可以推廣到不同的任務(wù)上
方法
1)指標(biāo)的相關(guān)性
從表中可知FLOPS和時(shí)延有一定相關(guān)性,但是和參數(shù)量的關(guān)系不大,同時(shí)相同大小的卷積結(jié)構(gòu)通常有比注意力結(jié)構(gòu)有更小的時(shí)延。

2)瓶頸
激活函數(shù)
測(cè)試了多個(gè)激活函數(shù),在相同的30層卷積結(jié)構(gòu)上模型的運(yùn)行時(shí)延,發(fā)現(xiàn)激活函數(shù)會(huì)明顯改變模型的運(yùn)行時(shí)延,因此本文的模型中使用了relu作為激活函數(shù)。

結(jié)構(gòu)塊

影響運(yùn)行的時(shí)延和并行度以及內(nèi)存訪問有關(guān),多分支結(jié)構(gòu)因?yàn)樾枰獌?chǔ)存多個(gè)分支的激活值,因此內(nèi)存調(diào)用時(shí)間大幅增加,需要強(qiáng)制同步的塊也面臨一定的同步成本。因此本文模型不使用殘差鏈接并行塊,并只在最大的模型上使用Squeeze-Excite模塊,這兩種模塊對(duì)時(shí)間的影響見表三。
3)MobileOne塊
MobileOne塊長(zhǎng)下面這樣:

MobileOne塊以MobileNet-V1塊為基準(zhǔn),MobileNet將一個(gè)普通卷積層分解為一個(gè)33的depthwise卷積以及11的point卷積,在此基礎(chǔ)上,增加了過度參數(shù)化以及重參數(shù)化的直接鏈接以及batchnorm。因?yàn)閎atchnorm、卷積層、直接鏈接都是線性操作,因此可以直接和卷積層融合起來,通過
實(shí)驗(yàn)
各種指標(biāo)都比較不錯(cuò),在時(shí)間和性能之間做了比較不錯(cuò)的權(quán)衡。
FastViT
忙,忙點(diǎn)好啊

浙公網(wǎng)安備 33010602011771號(hào)