在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Transformer常用的輕量化方法

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:深度學習自然語言 ? 2022-10-25 14:10 ? 次閱讀

本文梳理了一些Transformer常用的輕量化方法,并分領域的介紹了一些主流的輕量化Transformer。

引言:近年來,Transformer模型在人工智能的各個領域得到了廣泛應用,成為了包括計算機視覺,自然語言處理以及多模態領域內的主流方法。盡管Transformer在大部分任務上擁有極佳的性能,其過大的參數量限制了在現實場景下的應用,也給相關研究帶來了困難,由此帶來了Transformer輕量化領域的發展。筆者首先梳理了一些Transformer常用的輕量化方法,并分領域的介紹了一些主流的輕量化Transformer。歡迎大家批評指正,相互交流。

021748b8-5425-11ed-a3b6-dac502259ad0.png

預訓練模型參數量增長趨勢

1.Transformer中常用的模型壓縮方法

量化:量化的基本思想即利用低比特的數據類型來替代原本的高比特數據類型,同時對數據的存儲空間與計算的復雜度進行輕量化。簡單的訓練后量化,即直接對訓練好的模型參數進行量化會帶來很大的誤差,目前主要會采用量化感知訓練(Quantized-Aware Training, QAT)的方式,在訓練時全精度優化,僅模擬低精度的推理過程,很好的降低了量化過程的性能損失。

剪枝:剪枝方法基于lottery ticket假設,即模型中只有小部分參數起了核心作用,其他的大部分參數是無效參數,可以去除掉。剪枝可以分為非結構化剪枝與結構化剪枝。非結構化剪枝即定位參數矩陣中接近于0或者有接近0趨勢的參數,并將這些參數歸零,使參數矩陣稀疏化。結構化剪枝即消減模型中結構化的部分,如多頭注意力中不需要的注意力頭,多層Transformer中不需要的若干層等等。

022b67ee-5425-11ed-a3b6-dac502259ad0.png

非結構化剪枝

知識蒸餾:知識蒸餾通常在一個大的老師模型與一個小的學生模型之間進行。通過老師模型在監督數據上輸出的“軟標簽分布”來訓練學生模型。這種“軟標簽”的學習能夠很好的克服監督數據中標簽偏差的問題,帶來了很好的知識遷移的能力。

02378e52-5425-11ed-a3b6-dac502259ad0.png

參數共享:在模型同質的部分間共享參數。

2.預訓練語言模型中的輕量化Transformer

Transformer最早在自然語言領域中得到廣泛的應用,其強大的能力帶來了預訓練領域的快速發展,并在相關領域帶來了革新。但是隨著預訓練模型規模的不斷增大,訓練與部署一個預訓練模型的代價也不斷提升,預訓練語言模型輕量化的研究方向應運而生。由于以Bert為代表的預訓練語言模型的主流架構仍是Transformer,因此Transformer的輕量化也成為了當前NLP領域的一個重要課題。以下是筆者整理的幾篇經典的預訓練語言模型中的輕量化工作,供讀者參考。

Q8BERT: Quantized 8Bit BERT

https://arxiv.org/pdf/1910.06188.pdf

Q8BERT是量化方法在Bert上的樸素運用。除了采用了基本的量化感知訓練方式外,Q8BERT還采用了指數滑動平均的方式平滑QAT的訓練過程。最終,在壓縮了近4倍參數量,取得4倍推理加速的前提下,Q8BERT在GLUE與SQUAD數據集上取得了接近Bert的效果,證明了量化方法在Bert上的有效性。

0267b87a-5425-11ed-a3b6-dac502259ad0.png

Q8BERT在下游任務上的表現

DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter

https://arxiv.org/pdf/1910.01108.pdf

DistillBERT是huggingface發布的一個小版本的Bert模型,它只在輸出層面采用了軟標簽的蒸餾,將Bert的層數壓縮到了原本的1/2,并在各個下游任務上取得了不錯的結果。

0290119e-5425-11ed-a3b6-dac502259ad0.png

在GLUE上,DisitlBERT只用了60%的參數,保留了97%的性能

TinyBERT: Distilling BERT for Natural Language Understanding

https://arxiv.org/pdf/1909.10351.pdf

與DistilBERT相同,TinyBERT同樣是知識蒸餾在Bert壓縮上的應用。不同于DistillBERT只在預訓練階段采用知識蒸餾,TinyBERT同時在預訓練和微調階段采用了兩階段的知識蒸餾,使得小模型能夠學到通用與任務相關的語義知識。

02979de2-5425-11ed-a3b6-dac502259ad0.png

TinyBERT蒸餾策略

同時,TinyBERT采用了更加細粒度的知識蒸餾方式,對embedding層的輸出,Transformer每一層中隱藏層與注意力計算的輸出以及整個模型的軟標簽進行了知識蒸餾,得到了更加精準的知識遷移效果。

02b05850-5425-11ed-a3b6-dac502259ad0.png

更加細粒度的蒸餾方式

最終,TinyBERT將BERT模型蒸餾成了一個4層且隱藏層維度更小的模型,并取得了不亞于更高參數量的DistilBERT的效果。

ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS

https://arxiv.org/pdf/1909.11942.pdf

ALBERT是Google在ICLR2020上的一篇工作。它首先采用了詞表矩陣分解的方法,由于Bert采用了一個很大的詞表,因此詞表的embedding層包含了很大的參數量,ALBERT采用了參數分解(Factorized embedding parameterization)的方式減少這部分的參數量。具體而言,對于一個包含V 個單詞的詞表,假如詞表的隱藏層大小E 與模型的隱藏層大小H 相等,則embedding層包含的參數量為V × E 。考慮到V通常較大,embedding的總參數量也會較大。為了減少參數量, 與直接對one-hot的詞向量映射到 H 維空間不同,ALBERT首先將詞向量映射到較小的E 維空間,再映射到H 維空間。將參數量從O(V × H)降低到了O(V × E + E × H) ,實現了embedding層的壓縮。

除此之外,ALBERT還進行了Transformer內跨層的參數壓縮,通過跨Tranformer層的完全參數共享,ALBERT對參數量進行了充分的壓縮,在低參數量的條件下取得了與Bert-base相似的效果,同時在相近的參數量下可以保證模型更深,隱藏層維度更大,在下游任務下的表現更好。

02bf36b8-5425-11ed-a3b6-dac502259ad0.png

ALBERT的參數量及下游任務表現

3.計算機視覺中的輕量化Transformer

盡管Transformer在計算機視覺領域的應用相較于NLP領域稍慢一步,但Vision Transformer的橫空出世使得Transformer也占據了視覺模型的主流。后期基于MAE與BEiT的預訓練方法更加鞏固了Transformer在計算機視覺領域的地位。與自然語言理解領域相同,計算機視覺中的Transformer同樣面臨著參數量過多,部署困難的問題,因此也需要輕量化的Transformer來高效的完成下游任務。以下是筆者整理的幾篇近年來計算機視覺領域中的輕量化工作,供讀者參考。

Training data-efficient image transformers & distillation through attention

http://proceedings.mlr.press/v139/touvron21a/touvron21a.pdf

DeiT是Facebook在2021年的一篇工作,模型的核心方法是通過知識蒸餾對視覺Transformer進行壓縮。DeiT采用了兩種蒸餾方法實現了老師模型到學生模型的知識遷移:

Soft Distillation:通過老師模型輸出的軟標簽進行知識蒸餾。

Hard-label Distillation:通過老師模型預測出的實際標簽進行知識蒸餾,意義在于糾正可能存在的有監督數據的標簽偏差。

DeiT在蒸餾過程中引入了Distillation token的概念,其作用與Class token類似,但Class token用于在原數據上利用交叉熵進行訓練,Distillation token用于模擬老師模型的軟分布輸出或利用老師模型預測的hard-label進行訓練。

02d392d4-5425-11ed-a3b6-dac502259ad0.png

Disillation token

通過在老師模型上的蒸餾過程,DeiT擁有更小的參數規模和更快的推理速度的條件下,取得了比ViT更好的效果。

02e4b0c8-5425-11ed-a3b6-dac502259ad0.png

TinyViT: Fast Pretraining Distillation for Small Vision Transformers

https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136810068.pdf

TinyViT是微軟在2022年的一篇工作,這篇工作的核心依然是知識蒸餾,但是在工程實現上進行了一些優化,使得小模型能夠在更大的數據規模下通過知識蒸餾獲取到大模型的知識。DeiT采用的知識蒸餾方法是相當昂貴的,因為在蒸餾過程中,教師模型與老師模型會同時占用GPU的內存,限制了batch_size的增加與學生模型的訓練速度。且軟標簽在老師模型輸出端到學生模型輸出端的遷移也會帶來一定的計算資源損耗。

為了解決這個問題,TinyViT提出了一種軟標簽預生成的方法,即解耦軟標簽的生成與學生模型的訓練過程。先進行軟標簽的生成與預存儲,再利用預存儲的軟標簽對學生模型進行訓練。由于預存儲軟標簽向量會帶來極大的存儲損耗,考慮到這些向量大部分是稀疏的(因為對于一個訓練好的老師模型,給定一張圖片,只有極小部分類別會存在成為正確標簽的概率),作者采用了存儲稀疏標簽的策略,即只存儲top-k概率的標簽以及其對應的概率。在訓練學生模型時將這樣的稀疏標簽還原成完整的概率分布,并進行知識蒸餾。整個pipeline如下圖所示:

02f07df4-5425-11ed-a3b6-dac502259ad0.png

TinyViT的蒸餾流程

在相同的模型規模下,TinyViT提高了知識蒸餾的速度與數據量,并取得了分類任務上的提升。

MiniViT: Compressing Vision Transformers with Weight Multiplexing

https://openaccess.thecvf.com/content/CVPR2022/papers/Zhang_MiniViT_Compressing_Vision_Transformers_With_Weight_Multiplexing_CVPR_2022_paper.pdf

MiniViT是微軟在CVPR2022的一篇工作,采用了權重復用的方法來壓縮模型的參數。與ALBERT不同的是,作者發現單純的權重復用會導致每層梯度l2范數的同質化以及最后幾層輸出特征相關性的降低。為了解決這個問題,MiniViT采用了Weight Transformation與Weight Distillation的方法來解決這個問題。Weight Transformation,即在每一層之間插入小型的類似Adapter的結構,以保證每層的輸出不會因為參數量相同而同質化。Weight Distillation,即采用一個老師模型來引導MiniViT的輸出以增強模型性能。整體的pipeline如下所示:

0301717c-5425-11ed-a3b6-dac502259ad0.png

作為一個通用的壓縮方法,作者在DeiT與Swin-Transformer上進行了測試。在更小的參數量下,在ImageNet數據集上,Mini版本的模型均取得了不亞于甚至更好的效果。

DynamicViT: Efficient Vision Transformers with Dynamic Token Sparsification

https://proceedings.neurips.cc/paper/2021/file/747d3443e319a22747fbb873e8b2f9f2-Paper.pdf

本文是清華大學在Nips2021上的一篇工作,其借鑒了模型壓縮中剪枝的思想,但是是對Transformer每一層的輸入token進行了稀疏化。Token稀疏化的基本假設在于:對于一張圖片,一定會存在一些冗余部分對模型的預測結果影響很小,對這些部分的削減可以很大程度的增加模型的推理速度。

DynamicViT的具體做法是:通過在每一層間增加一個輕量化的預測模塊,預測哪一些部分的token是可以被丟棄掉的。在預測完后通過一個二進制的決策掩碼來完成對token的丟棄。同時,作者修改了訓練的目標函數,保證了每一層丟棄的token數量是有限的。

0315f05c-5425-11ed-a3b6-dac502259ad0.png

DynamicViT的稀疏化模塊

最終,在上述的稀疏化策略下,DynamicViT在原始的ViT基礎上取得了很好的加速,并在模型性能與推理速度之間達到了一個很好的平衡。

0333396e-5425-11ed-a3b6-dac502259ad0.png

4.多模態中的輕量化Transformer

多模態模型往往同時參考了視覺模型與語言模型的設計,因此也會以Transformer作為其主流架構。但多模態中的輕量化工作較少,筆者整理了比較有代表性的幾篇多模態輕量化工作供讀者參考。

MiniVLM: A Smaller and Faster Vision-Language Model

https://arxiv.org/pdf/2012.06946.pdf

MiniVLM是微軟在Oscar模型上的輕量化工作。MiniVLM的輕量化基于一個觀察假設:即在大多數多模態任務中,多模態模型的視覺端不需要特別強的目標檢測信息,而目標檢測器往往是模型的瓶頸部分。因此,用一個不那么精確的目標檢測器可以有效的壓縮模型的參數量與加快推理速度,同時盡可能的減少性能損失。

為了達到上述效果,MiniVLM采用了一個基于EfficientNet與Bi-FPN的輕量化目標檢測器。同時,為了進行進一步壓縮,MiniVLM對多模態Tranformer端也進行了壓縮,將原本的Bert結構更換到了更加輕量化的MiniLM,其結構如下所示:

03481f32-5425-11ed-a3b6-dac502259ad0.png

輕量化目標檢測器

最終,在可接受的精度損失范圍內,相較于原本的OSCAR模型,MiniVLM對推理速度進行了極大的提升:

0359f54a-5425-11ed-a3b6-dac502259ad0.png

MiniVLM的加速效果與下游任務性能

Compressing Visual-linguistic Model via Knowledge Distillation

https://arxiv.org/pdf/2104.02096

DistilVLM是MiniVLM工作的延續。不同的是,在更換目標檢測器與Transformer架構的同時,DistilVLM同時采用了知識蒸餾來保持模型的性能。DistilVLM的蒸餾策略與TinyBERT相同,同樣是進行預訓練階段和微調階段的兩階段蒸餾:

03687c78-5425-11ed-a3b6-dac502259ad0.png

DistilVLM的蒸餾策略

由于采用了不同的目標檢測器,在檢測得到的目標區域不同的前提下,后續的知識蒸餾均是無效的。為了解決這個問題,DistilVLM采用了視覺token對齊的方式,老師模型和學生模型均采用相同的目標檢測器,使得兩個模型的檢測區域對齊,保證了后續知識蒸餾的有效性。

03713a20-5425-11ed-a3b6-dac502259ad0.png

視覺對齊

最終,在與MiniVLM相同參數和推理速度的前提下,DistilVLM取得了不錯的性能提升。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7033

    瀏覽量

    89040
  • 計算機視覺
    +關注

    關注

    8

    文章

    1698

    瀏覽量

    45994
  • Transformer
    +關注

    關注

    0

    文章

    143

    瀏覽量

    6007

原文標題:Fast and Effective!一文速覽輕量化Transformer各領域研究進展

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    碳纖維為何能實現汽車輕量化

    碳纖維是一種與人造絲、合成纖維絲一樣的纖維狀碳材料,是目前世界高科技領域中十分重要的新型工業材料,提高汽車的綠色化性能。 節約不可再生能源和提高燃料效率的汽車輕量化解決方案正推動碳纖維應用快速增長
    發表于 01-25 16:52

    汽車輕量化采用3D打印

    輕量化制造簡單而言是在不犧牲零部件性能的前提下,減輕零部件重量的制造方式。重量的減輕帶來能耗的降低,在全球范圍控制碳排放的趨勢下,輕量化制造越來越受到重視,是未來制造的方向之一。除了合金以外,近些年
    發表于 09-27 09:12

    客車車身輕量化分析

    以某車型為例, 分別從優化流程、優化分析模型、分析工況等方面研究車身輕量化方法, 提出一套切實可行的技術路線。關鍵詞: 車身; 結構; 輕量化; 優化技術Abstract: Tak ing a bus
    發表于 07-27 10:09 ?12次下載

    汽車輕量化技術

    節能減排已成為世界汽車行業的共同趨勢。汽車輕量化是在保證強度和安全性的前提下,盡可能降低汽車整備質量,以提高汽車的動力性,實現節能減排。 2017中國(重慶)國際汽車輕量化及材料展,來自全世界頂級
    發表于 05-09 11:57 ?18次下載

    PACK輕量化設計介紹及電芯選擇

    隨著動力電池系統相關標準和規范的制定,推動技術的發展,市場對動力電池系統的比能量要求也是越來越高,輕量化在動力電池系統的應用也是迫在眉睫。在電池包的輕量化設計中,可以從兩個方向:一個是系統層面
    發表于 09-15 11:46 ?23次下載

    常見的輕量化材料的分類與汽車輕量化材料的應用

    主要有三種手段:輕量化結構設計及優化、先進輕量化材料應用、先進輕量化制造技術應用。采用新型材料是汽車輕量化最直接有效的方法。 汽車的
    發表于 09-15 16:53 ?6次下載
    常見的<b class='flag-5'>輕量化</b>材料的分類與汽車<b class='flag-5'>輕量化</b>材料的應用

    低速電動車輕量化的作用和蘊含的技術分析

    低速電動車需要研究輕量化有兩大原因:一是在低速電動車的標準草案中,提出了小尺寸和輕型化的標準引導方向;二是減輕整車質量能夠更有效地提升電源利用效率,并提高駕乘體驗。 低速電動車的輕量化目標,主要包括
    發表于 09-21 15:23 ?1次下載
    低速電動車<b class='flag-5'>輕量化</b>的作用和蘊含的技術分析

    “新能源汽車輕量化的整體解決方案”主題演講

    劉峰介紹,在Pack結構輕量化過程中,主要實現輕量化的方式有:1、去模組化。把以前的單模組變成大模組,電芯大量采用A/B膠粘,應用扎帶取代側板。2、電氣件輕量化,小型化,接插件集成化。3、取消從控。4、FPC取代傳統線速;5、箱
    的頭像 發表于 10-24 16:58 ?5043次閱讀

    瑞德豐如何實現動力電池輕量化

    陸賓林介紹,瑞德豐通過結構設計優化、制造工藝創新、材料輕量化三大維度,在保證安全的大前提下來實現輕量化
    的頭像 發表于 12-31 09:10 ?3345次閱讀

    康得搭建碳纖維輕量化平臺來推動國內纖維輕量化產業的發展

    很多搞研發的人,身上都帶有一股偏執。而或許正是這個特性,讓他們在某個領域取得非同尋常的成就。 何鵬在輕量化領域偏執了15年。而他的這份偏執,也為中國輕量化事業的發展起到了助推器作用。 眾所周知
    的頭像 發表于 09-16 14:02 ?2.5w次閱讀

    日產全新輕量化技術獲突破,減重75%

    日前,日產中國官微發布消息稱,其最新開發的輕量化超級隔音材料榮獲《Popular Science》(《科技新時代》)汽車類最佳創新獎,這是一種全新輕量化超級隔音材料。
    的頭像 發表于 12-17 09:12 ?2028次閱讀

    淺談輕量化設計:材料、創新技術及未來解決方案

    輕量化的材料就是可以用來減輕產品自重且可以提高產品綜合性能的材料。材料輕量化,指的是在滿足機械性能要求的前提下,通過采用輕量化的金屬和非金屬材料實現重量減輕的方法。在當前汽車制造領域,
    的頭像 發表于 01-29 10:43 ?1628次閱讀

    分析汽車車燈輕量化技術研究

    車燈輕量化技術自身采用了現代化設計方法和更有效的措施對車燈優化設計或采用新材料以盡量保證車燈的各種性能。在規定達標的前提下盡量使汽車車燈產品本身的品質大大下降,使汽車車燈在環保,降耗,減重和安全
    的頭像 發表于 05-30 10:16 ?738次閱讀
    分析汽車車燈<b class='flag-5'>輕量化</b>技術研究

    最新專利深入“輕量化”!華為這樣做?

    具體來看,汽車輕量化的實現途徑主要有兩方面:一是輕量化材料,使用比強度更高或密度更小的高強度鋼、鋁合金、鎂合金、碳纖維復合材料,對傳統普通鋼結構進行替代;二是輕量化設計,通過開發全新的汽車架構實現
    的頭像 發表于 08-16 14:41 ?704次閱讀
    最新專利深入“<b class='flag-5'>輕量化</b>”!華為這樣做?

    5G輕量化網關是什么

    5G輕量化網關:物聯網的新引擎 隨著5G技術的不斷發展和普及,物聯網(IoT)領域迎來了新的變革。5G輕量化網關,作為這一變革中的關鍵角色,正逐漸成為連接人、機、物的重要橋梁。本文將深入探討5G
    的頭像 發表于 09-04 15:17 ?307次閱讀
    5G<b class='flag-5'>輕量化</b>網關是什么
    主站蜘蛛池模板: 色婷婷久久免费网站| 久色网| 黄色欧美视频| 日本片巨大的乳456线观看| 67pao强力打造高清免费| 四虎最新在线| 国产国语videosex另类| 日本三级强在线观看| brazzers720欧美丰满| 2022国产情侣真实露脸在线| 在线精品视频成人网| 天天摸天天碰中文字幕| 成人午夜性视频欧美成人| 成人看的午夜免费毛片| 亚洲不卡网| www成年人视频| xxxx69日本| 日本黄色录像视频| 天天爱添天天爱添天天爱添| 美女视频一区二区三区在线| 欧美xxxxbbbb| 九九福利| 婷婷综合激情| 亚洲国产精品第一区二区| 国产剧情麻豆三级在线观看| 香蕉成人999视频| 午夜国产高清精品一区免费| 91网站在线播放| 男女免费在线视频| 精品久久看| 桃桃酱无缝丝袜在线播放| 午夜影视网| 正在播放国产乱子伦视频| 国产精品一一在线观看| 丁香五月情| 天堂在线影院| 天天舔天天操| 业余性自由色xxxx视频| 夜夜艹| h小视频在线观看网| 免费国产不卡午夜福在线|