<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          模型量化: 訓(xùn)練時(shí)噪音帶來的極致壓縮

          共 2570字,需瀏覽 6分鐘

           ·

          2021-06-18 11:21

          ↑ 點(diǎn)擊藍(lán)字 關(guān)注極市平臺(tái)

          作者丨張雨石
          來源丨雨石記
          編輯丨極市平臺(tái)

          極市導(dǎo)讀

           

          本文介紹了一篇關(guān)于使用噪音的方式進(jìn)行改進(jìn)的壓縮方法,成功的將Roberta壓縮到了14M,將EfficientNetB3壓縮到了3.3M,分別達(dá)到了34x和14x的壓縮倍率。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿

          我們在模型量化這片文章中,介紹了在訓(xùn)練時(shí)是如何做量化的。

          https://zhuanlan.zhihu.com/p/353597270

          文獻(xiàn)[1]基于這個(gè)工作,進(jìn)一步引入了其他的壓縮方法,并用噪音的方式進(jìn)行了改進(jìn),成功的將Roberta壓縮到了14M,將EfficientNetB3壓縮到了3.3M,分別達(dá)到了34x和14x的壓縮倍率。

          量化噪音

          這個(gè)概念其實(shí)挺容易理解,就是在訓(xùn)練時(shí)做量化,會(huì)帶來權(quán)重的變化,這個(gè)變化稱之為噪音。在模型量化: 只有整數(shù)計(jì)算的高效推理,模型在訓(xùn)練時(shí)就把權(quán)重和activation做了量化,并基于量化后的參數(shù)進(jìn)行fine-tune。

          在文獻(xiàn)[1]中,提出了部分量化的做法,即每次只把一部分參數(shù)和激活值做量化,其他的值不變,按照原來的方式進(jìn)行梯度計(jì)算。這樣的方法比訓(xùn)練時(shí)就全部做量化要好一些,見下圖:

          但在inference的時(shí)候,是全部都要做量化的。

          部分量化是論文[1]的核心點(diǎn),剩下的就是將訓(xùn)練時(shí)部分量化與其他的量化技術(shù)結(jié)合。

          量化壓縮

          在神經(jīng)網(wǎng)絡(luò)中,需要量化的參數(shù)一般都是矩陣W,這里假設(shè)矩陣的size是n * p。常見的壓縮方法是對(duì)矩陣進(jìn)行切分,切分成mxq個(gè)小矩陣。然后小矩陣上做codebook查找,即找到K個(gè)vector做成codebook,然后m * q個(gè)小矩陣,每個(gè)都表示成在codebook上查到的索引,從而達(dá)到壓縮的目的。

          基于上面的介紹,量化就分成了兩種:

          • Fixed-point scalar Quantization,即對(duì)值進(jìn)行量化。
          • Product quantization,即對(duì)矩陣進(jìn)行量化

          值量化

          其中,對(duì)值進(jìn)行量化就是給當(dāng)前值找到最接近的量化后的值:

          其中,

          取決于量化后的bit數(shù)目,假設(shè)量化后是N位bit,那么壓縮率就是32/N。如果N=4,那么就是int4 quantization, 如果N=8,則是int8 Quantization

          矩陣量化

          對(duì)于矩陣量化(PQ)來說,傳統(tǒng)的方法是:

          • 將大矩陣的每一列分成m個(gè)子vector,這樣就有m * p個(gè)子vector。
          • 每個(gè)子vector表達(dá)成codebook中離它最近的vector。
          • codebook使用K-means方法學(xué)習(xí)得到。
          • 所以矩陣被表示成了索引矩陣,如果codebook中一共只有256個(gè)vector,那么索引矩陣中的每個(gè)值都是8bit的,就有了量化的效果,注意,此時(shí)codebook中的vector還可以是float值。

          所以目標(biāo)函數(shù)如下所示,即讓原矩陣和量化后矩陣歐氏距離最近。

          但這種矩陣量化的方式會(huì)導(dǎo)致偏差積累,從而導(dǎo)致層次比較深的時(shí)候會(huì)發(fā)生比較大的漂移。

          因此,一個(gè)改進(jìn)的方法就是從底層到高層迭代的去做矩陣量化,稱之為迭代式矩陣量化(Iterative Product Quantization, iPQ)。迭代到某一層的時(shí)候,會(huì)對(duì)其上層做fine-tune。

          矩陣量化和值量化是可以結(jié)合起來達(dá)到更高的壓縮率。它們還可以和上一部分介紹的噪音也進(jìn)行疊加。在訓(xùn)練時(shí),矩陣量化可以一個(gè)epoch重新運(yùn)行k-means算法來更新。

          實(shí)驗(yàn)結(jié)果

          各種量化方法的對(duì)比如下圖,其中QAT方法是不加噪音的fine-tune??梢钥吹郊恿嗽胍艉髸?huì)在更高的壓縮比上得到不錯(cuò)的效果。

          另外,不同的壓縮比率和效果與其他模型的對(duì)比:

          除此之外,還可以和weight sharing與pruning聯(lián)合使用。得到:

          參考文獻(xiàn)

          [1]. Fan, A., Stock, P., Graham, B., Grave, E., Gribonval, R., Jégou, H. and Joulin, A., 2020. Training with quantization noise for extreme model compression. arXiv e-prints, pp.arXiv-2004.


          如果覺得有用,就請(qǐng)分享到朋友圈吧!

          △點(diǎn)擊卡片關(guān)注極市平臺(tái),獲取最新CV干貨

          公眾號(hào)后臺(tái)回復(fù)“83”獲取朱思語:基于深度學(xué)習(xí)的視覺稠密建圖和定位播鏈接~


          極市干貨
          YOLO教程:一文讀懂YOLO V5 與 YOLO V4大盤點(diǎn)|YOLO 系目標(biāo)檢測算法總覽全面解析YOLO V4網(wǎng)絡(luò)結(jié)構(gòu)
          實(shí)操教程:PyTorch vs LibTorch:網(wǎng)絡(luò)推理速度誰更快?只用兩行代碼,我讓Transformer推理加速了50倍PyTorch AutoGrad C++層實(shí)現(xiàn)
          算法技巧(trick):深度學(xué)習(xí)訓(xùn)練tricks總結(jié)(有實(shí)驗(yàn)支撐)深度強(qiáng)化學(xué)習(xí)調(diào)參Tricks合集長尾識(shí)別中的Tricks匯總(AAAI2021
          最新CV競賽:2021 高通人工智能應(yīng)用創(chuàng)新大賽CVPR 2021 | Short-video Face Parsing Challenge3D人體目標(biāo)檢測與行為分析競賽開賽,獎(jiǎng)池7萬+,數(shù)據(jù)集達(dá)16671張!


          CV技術(shù)社群邀請(qǐng)函 #

          △長按添加極市小助手
          添加極市小助手微信(ID : cvmart2)

          備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)


          即可申請(qǐng)加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群


          每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動(dòng)交流~



          覺得有用麻煩給個(gè)在看啦~  
          瀏覽 72
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色鬼av | 亚洲无码免费观看 | 丝袜高跟A片一区二区 | 爱福利视频广场 | 高清无码毛片在线看 |