一文詳解視覺Transformer模型壓縮和加速策略(量化/低秩近似/蒸餾/剪枝)
論文鏈接 : ??https://arxiv.org/pdf/2404.10407??
視覺Transformer(ViT)在計算機視覺領(lǐng)域標志性地實現(xiàn)了一次革命,超越了各種任務(wù)的最先進模型。然而,它們的實際應用受到高計算和內(nèi)存需求的限制。本研究通過評估四種主要的模型壓縮技術(shù):量化、低秩近似、知識蒸餾和剪枝,來解決這一挑戰(zhàn)。系統(tǒng)地分析和比較了這些技術(shù)及其組合在優(yōu)化ViT以適應資源受限環(huán)境方面的效果。全面實驗評估表明,這些方法在模型準確性和計算效率之間實現(xiàn)了平衡的折中,為在邊緣計算設(shè)備上的更廣泛應用鋪平了道路。
介紹
Transformer,由Vaswani等人引入,以其強大的數(shù)據(jù)建模能力、可伸縮性以及出色的捕捉長距離依賴性的能力,徹底改變了機器學習。起源于自然語言處理(NLP)領(lǐng)域,取得了機器翻譯和文本摘要等方面的成功,Transformer現(xiàn)在將其實用性擴展到計算機視覺任務(wù),如圖像分類和目標檢測。
最近,它們的能力已經(jīng)在多模態(tài)情感分析領(lǐng)域得到了利用,其中它們整合和解釋多樣的數(shù)據(jù)流——文字、視覺和聲音——以評估情感反應。Transformer的應用還擴展到了醫(yī)療保健領(lǐng)域,促進了疾病檢測、醫(yī)學影像分析以及電子健康記錄的處理等領(lǐng)域的進步。這些技術(shù)在開發(fā)預測模型、提高診斷準確性和個性化治療策略方面至關(guān)重要,展示了Transformer對影響患者護理的巨大潛力。
與之前NLP領(lǐng)域的研究不同,該領(lǐng)域的研究人員在長序列中處理softmax-attention的二次復雜度,正如Child等人所指出的,而Vision Transformers(ViTs)處理較短的、固定長度的輸入序列。因此,在ViTs中,softmax-attention在總浮點運算(FLOPs)中占比較小,提出了一套獨特的優(yōu)化挑戰(zhàn),并強調(diào)了對專門的模型壓縮策略的需求。
Vision Transformer(ViT),這是一種源自NLP方法學的創(chuàng)新架構(gòu),已經(jīng)證明了將圖像 patch轉(zhuǎn)換為由Transformer塊處理的 token 序列可以實現(xiàn),有時甚至超越傳統(tǒng)的CNN架構(gòu)的準確性。這一突破已經(jīng)催生了圖像處理領(lǐng)域的一次范式轉(zhuǎn)變。
然而,ViT的高性能伴隨著數(shù)量龐大的參數(shù)集,數(shù)量達到數(shù)億個,在推理過程中會產(chǎn)生相當大的內(nèi)存和計算開銷。因此,對于ViTs的模型壓縮技術(shù)的開發(fā)和改進已經(jīng)變得至關(guān)重要,尤其是在工業(yè)應用中,效率和資源管理至關(guān)重要。
與深度學習模型的研究相比,Vision Transformers的模型壓縮領(lǐng)域仍然相對未被開發(fā)。本文系統(tǒng)地探討了ViTs的模型壓縮策略,重點關(guān)注量化、低秩近似、知識蒸餾和剪枝。通過深入的比較分析,評估了這些技術(shù)對模型效率的個體和集體影響。研究還探討了結(jié)合不同方法的潛在協(xié)同效應,旨在提高性能。廣泛的實驗結(jié)果證實,本文提出的方法有助于在維持準確性和提高計算效率之間取得良好的平衡,這對于實際部署至關(guān)重要。
相關(guān)工作
量化
量化已經(jīng)成為促進神經(jīng)網(wǎng)絡(luò)高效推理的基石技術(shù)。這個過程涉及將網(wǎng)絡(luò)轉(zhuǎn)換為低比特表示,從而減少計算需求和內(nèi)存占用,并最小化對模型性能的影響。這項技術(shù)的關(guān)鍵方面是確定權(quán)重的適當裁剪范圍。Krishnamoorthi建議通過評估層的卷積濾波器內(nèi)的所有權(quán)重來確定這個范圍,而Shen等人則采用了一種分組量化方法來處理Transformer。為了減輕量化可能引入的精度損失,提出了量化感知訓練(QAT)。QAT包括使用量化模型的浮點表示進行標準的前向和反向傳遞,然后在每次梯度更新后重新量化模型參數(shù),從而在保留精度的同時利用量化的好處。
低秩近似
Vision Transformer(ViT)利用了自注意力機制,這本質(zhì)上涉及到二次計算復雜度,這對可擴展性構(gòu)成了重大挑戰(zhàn)。Chen等人指出ViT內(nèi)部的注意力矩陣本質(zhì)上具有低秩特性,為復雜度降低提供了機會。在這些注意力矩陣上利用低秩矩陣逼近出現(xiàn)為減少計算成本的有前途的方法。
已經(jīng)為此目的開發(fā)了各種方法,包括基于Nystr?m的方法、Performer和Linformer,每種方法都具有獨特的實現(xiàn)方式,并適用于在微調(diào)和驗證階段與預訓練的ViT模型進行集成。此外,如Chen等人所建議的,將低秩近似與稀疏注意力機制結(jié)合起來,已被證明能產(chǎn)生更精細的逼近,增強了ViT的效率和有效性。
知識蒸餾
知識蒸餾是一種精細的模型壓縮技術(shù),其中通過利用教師模型的軟標簽,訓練一個緊湊的“學生”模型來模擬一個更復雜的“教師”模型。這些軟標簽因其豐富的信息內(nèi)容而被認為在學生模型中的表現(xiàn)通常優(yōu)于使用硬標簽進行訓練的情況。軟標簽在增強學生學習方面的有效性已被Yuan等人和Wei等人證實。
在這個領(lǐng)域的一個新進展是由Touvron等人引入的Vision Transformers中的蒸餾 token 。這個 token 類似于類 token ,但專門用于捕捉教師的預測,通過自注意機制參與優(yōu)化蒸餾過程。這些定制的方法已經(jīng)證明在傳統(tǒng)的蒸餾技術(shù)上取得了相當大的收益,突顯了針對Transformer的優(yōu)化策略的潛力。
剪枝
剪枝是一種被廣泛認可的方法,通過減少Vision Transformers的維度復雜性來簡化它們的架構(gòu)。這項技術(shù)的核心是為每個模型維度分配一個重要性分數(shù),允許基于這些分數(shù)對被認為不太關(guān)鍵的維度進行選擇性消除。這種有針對性的減少旨在在保持模型準確性的同時保持穩(wěn)健的剪枝比例。楊等人提出的維度重分配策略可能被整合到剪枝過程中,進一步提高模型的性能。
有趣的是,研究表明,經(jīng)過剪枝的模型有時可能會在性能上超過原始模型,這表明剪枝不僅可以簡化模型,還可以增強模型的功能。
方法論
量化
基本概念
量化的總體目標是將模型參數(shù)(θ)和中間激活圖的精度降低到較低的精度格式,例如8位整數(shù),同時最小化對模型泛化性能的影響。這個過程的初始步驟涉及定義一個量化函數(shù),能夠?qū)?quán)重和激活圖映射到一組離散值。用于此目的的常用函數(shù)如下所示:
其中,Q代表量化映射函數(shù),r表示實值輸入(例如,權(quán)重、激活),S是一個縮放因子,是一個整數(shù)零點。這種機制被稱為均勻量化,確保了結(jié)果值的等距間隔。值得注意的是,還存在替代的非均勻量化策略。此外,原始實值r可以通過一種稱為反量化的過程從其量化對應項Q(r)近似得出:
在量化中,由于量化本身固有的舍入誤差,近似值r ?可能與r不同。量化的一個關(guān)鍵方面是確定最佳的縮放因子S,它有效地將實值r分成離散的段落:
后訓練量化
后訓練量化(PTQ)通過直接調(diào)整權(quán)重來簡化量化過程,而無需進一步進行微調(diào)。然而,這種效率可能會導致顯著的精度下降,因為量化本身固有的精度損失。
Liu等人觀察到,在Transformer架構(gòu)中將量化應用于LayerNorm和Softmax層時,存在顯著的精度下降。Lin等人將這些差異歸因于LayerNorm層和注意力映射值中激活值的極化分布。具體來說,LayerNorm層輸入中存在顯著的通道間變異性(如下圖1左側(cè)所示),當采用逐層量化方法時,會產(chǎn)生相當大的量化誤差。此外,注意力圖中存在大量小值分布,只有稀疏的異常值接近1,這進一步加劇了在均勻量化策略下性能下降的問題。
為了解決這些挑戰(zhàn),Lin等人提出了一種新穎的量化方法,利用LayerNorm的二次冪尺度和Softmax層的對數(shù)整數(shù)Softmax,旨在減輕傳統(tǒng)量化方法帶來的不利影響。
量化感知訓練
直接將量化應用于完全訓練好的模型可能會無意中擾動模型參數(shù),導致顯著的性能下降。一種有效的策略是使用量化參數(shù)重新訓練模型,從而引導模型走向更有利的損失。量化感知訓練(QAT)是一個突出的技術(shù),可用于此目的。在QAT中,標準的前向和后向過程在浮點表示的模型上執(zhí)行,但在每次梯度更新后重新量化參數(shù),確保模型適應量化引起的變化。
學習步長量化(LSQ)是該領(lǐng)域的一個進步,它改進了量化器的配置過程,并通過優(yōu)化量化間隔在量化性能方面設(shè)定了新的基準。類似地,DIFFQ引入了一種可微分的模型壓縮技術(shù),避免了需要像直通估計器(STE)這樣的梯度近似方法。通過使用偽量化噪聲,DIFFQ在訓練期間實現(xiàn)了量化過程的近似,這是完全可微的,從而更容易地調(diào)整權(quán)重和量化比特深度。
知識蒸餾
知識蒸餾技術(shù),如軟蒸餾和硬蒸餾,促進了復雜的“教師”模型向簡單的“學生”模型的知識傳輸。軟蒸餾側(cè)重于最小化教師模型和學生模型的軟化對數(shù)輸出之間的Kullback-Leibler(KL)散度。這正式由蒸餾目標所捕捉:
剪枝
Vision Transformers中的剪枝主要集中于通過減少模型的復雜性來減少參數(shù)的數(shù)量,具體來說是通過調(diào)整隱藏層之間的權(quán)重核的維度。這個目標可以形式化為:
另外,Yu等人采用KL散度來計算重要性分數(shù),重點關(guān)注在數(shù)據(jù)集?上具有特定模塊和沒有特定模塊時模型性能之間的差異。這種方法既可以進行層內(nèi)剪枝,也可以進行跨模塊剪枝:
其中,qi對應于完整模型的損失,pi對應于去除剪枝權(quán)重后的損失。近期的創(chuàng)新引入了更加微妙的重要性評分系統(tǒng)。Tang等人設(shè)計了一種評分,反映了每個圖像塊對最終誤差的理論影響,提高了圖像塊精簡的效率。Rao等人結(jié)合了局部和全局特征,對 token 的重要性進行了更全面的評估。同樣,Yi等人將各種評分綜合到一個統(tǒng)一的損失函數(shù)中,進一步完善了剪枝過程。
低秩近似
鑒于自注意力的低秩性質(zhì)的正式證明,利用這一屬性進行低秩近似成為提高計算效率的戰(zhàn)略選擇。這種近似旨在保持準確性,同時顯著降低時間和空間復雜度,近似為O(n),即使是在與預先存在的或新訓練的模型集成時。
這是因為近似計算是在接收到輸入后進行的。存在各種低秩近似的方法,包括基于Nystr?m的方法,如Nystr?mformer和SOFT,它們通過Nystr?m方法線性化了自注意力。替代的線性化技術(shù),如Linformer 和Performer,以及結(jié)合低秩和稀疏注意力機制的策略,進一步提高了近似的準確性。
實驗
本節(jié)詳細比較了應用于Vision Transformers的各種模型壓縮技術(shù),包括量化、知識蒸餾、剪枝和低秩近似。此外,還調(diào)查了結(jié)合這些方法以確定性能指標改善的協(xié)同潛力。
實驗設(shè)置
實驗框架建立在Tesla V100-SXM2 16GB GPU上,PyTorch作為主要的代碼實現(xiàn)平臺。我們的數(shù)據(jù)集使用范圍限于CIFAR-10和CIFAR-100,這是由于計算資源的限制。感興趣的主要指標包括模型大小和推理速度,承認了準確性和這些效率參數(shù)之間的固有權(quán)衡。因此,最佳的壓縮技術(shù)應該在準確性上對模型幾乎沒有影響,同時在模型大小上有顯著的降低,并且在推理速度上有提升。將跨CIFAR-10和CIFAR-100數(shù)據(jù)集的比較分析結(jié)果系統(tǒng)地呈現(xiàn)在下表1和表2中。
不同模型壓縮方法的比較
在評估模型大小對模型壓縮的影響時,我們發(fā)現(xiàn)量化和剪枝策略能夠在幾乎不損失準確性的情況下顯著減小模型大小。值得注意的是,量化技術(shù),特別是動態(tài)量化,表現(xiàn)出了較高的有效性,將模型大小減小至25倍。
相反,權(quán)重剪枝,特別是采用簡單的重要性評分,不能實現(xiàn)模型大小和準確性之間的最佳平衡。剪枝率為0.1(表示剪枝了10%的參數(shù))導致與未剪枝的ViT相比,CIFAR-10和CIFAR-100數(shù)據(jù)集的顯著準確性降低。進一步的調(diào)查顯示,如下圖3所示,大多數(shù)參數(shù)被認為是非常重要的(評分高于0.99),這表明了對于權(quán)重剪枝而言,簡單形式的重要性評分存在固有的局限性。改進可能來自于整合更復雜的重要性評分或采用像減少輸入圖像塊或精簡之類的策略,而不是直接的權(quán)重剪枝。
在推理速度方面,不同模型壓縮策略表現(xiàn)出一系列的改進,以知識蒸餾為中心的方法尤為突出,因其在效率方面的收益。值得注意的是,盡管DeiT基礎(chǔ)模型并沒有經(jīng)歷顯著的尺寸縮減,但其推理速度幾乎是標準Vision Transformer(ViT)的兩倍,同時幾乎保持了準確性。在CIFAR-10數(shù)據(jù)集上觀察到了一個有趣的案例,即DeiT微型配置實現(xiàn)了95.43%的準確率,這個數(shù)字與原生 ViT非常接近,但其速度增加了四倍,僅壓縮到了原始模型大小的6%。
此外,將Nystr?mformer技術(shù)應用于ViT展示了準確性和速度之間微妙的平衡,特別受到landmark數(shù)量(m)的選擇的影響。選擇較大的m值會提高近似精度,但會以處理速度為代價。此外,動態(tài)量化在CPU平臺上對推理速度的改進范圍為10-20%,強調(diào)了模型壓縮在實際應用中的好處,不僅僅是尺寸的縮減。
混合方法的探索
對單個模型壓縮技術(shù)的考察表明,一種混合方法,結(jié)合量化和知識蒸餾的優(yōu)勢,值得進一步研究。特別是當可以接受輕微的準確性降低時,這種組合策略似乎有望優(yōu)化模型的緊湊性和處理效率。正如表1和表2所示,采用復合方法——將DeiT基礎(chǔ)模型與動態(tài)量化相結(jié)合——顯著提高了推理速度,達到了兩倍以上的增長,同時將模型的大小減小到原始尺寸的四分之一。在準確性上有可控的權(quán)衡,突顯了混合方法在速度、大小和性能之間取得平衡的潛力。
結(jié)論
本研究致力于對模型壓縮技術(shù)進行實證調(diào)查,旨在增強Vision Transformers(ViTs)的效率和部署可行性。我們對四種主要的壓縮方法——量化、低秩近似、知識蒸餾和剪枝——進行了細致的考察,同時回顧了該領(lǐng)域的前沿研究。
通過對CIFAR-10和CIFAR-100數(shù)據(jù)集進行的比較分析,我們的發(fā)現(xiàn)強調(diào)了后訓練量化和知識蒸餾作為突出策略的有效性。這些方法不僅顯著減小了模型大小,還加快了推理時間,同時保持了可接受水平的性能降低。對結(jié)合量化和知識蒸餾的協(xié)同潛力進行進一步探索揭示了優(yōu)化的引人注目途徑。特別是在CIFAR-10數(shù)據(jù)集中,這種混合方法顯著加快了推理速度——超過基準速度兩倍以上——同時將模型大小降低到原始占用空間的四分之一。
從這次全面調(diào)查中獲得的見解倡導了對模型壓縮采取綜合多方面的方法。整合不同的壓縮方法對于提高Vision Transformers的操作效率具有重大的潛力,為該領(lǐng)域未來研究指明了堅實的方向。此外,本文還可以在交通工程、機器學習、生物工程等領(lǐng)域進一步研究。
本文轉(zhuǎn)自 AI生成未來 ,作者:Feiyang Chen等
