国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【深度學(xué)習(xí)之模型優(yōu)化】模型剪枝、模型量化、知識(shí)蒸餾概述

這篇具有很好參考價(jià)值的文章主要介紹了【深度學(xué)習(xí)之模型優(yōu)化】模型剪枝、模型量化、知識(shí)蒸餾概述。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

? ? ? ??模型部署優(yōu)化這個(gè)方向其實(shí)比較寬泛。從模型完成訓(xùn)練,到最終將模型部署到實(shí)際硬件上,整個(gè)流程中會(huì)涉及到很多不同層面的工作,每一個(gè)環(huán)節(jié)對(duì)技術(shù)點(diǎn)的要求也不盡相同。但本質(zhì)的工作無疑是通過減小模型大小,提高推理速度等,使得模型能夠成功部署在各個(gè)硬件之中去并且實(shí)時(shí)有效的運(yùn)作。那么模型的部署優(yōu)化有哪些方式呢?顯而易見答案就在標(biāo)題之中。


【深度學(xué)習(xí)之模型優(yōu)化】模型剪枝、模型量化、知識(shí)蒸餾概述

模型剪枝技術(shù)概述

1. 什么是模型剪枝

2. 模型剪枝的必要性

模型量化技術(shù)概述

1. 什么是模型量化

2. 模型量化的優(yōu)勢

模型壓縮中知識(shí)蒸餾技術(shù)概述

1. 什么是知識(shí)蒸餾

2.?為什么要進(jìn)行知識(shí)蒸餾


模型剪枝技術(shù)概述

1. 什么是模型剪枝

????????深度學(xué)習(xí)網(wǎng)絡(luò)模型從卷積層到全連接層存在著大量冗余的參數(shù),大量神經(jīng)元激活值趨近于0,將這些神經(jīng)元去除后可以表現(xiàn)出同樣的模型表達(dá)能力,這種情況被稱為過參數(shù)化,而對(duì)應(yīng)的技術(shù)則被稱為模型剪枝。

????????模型剪枝是一個(gè)新概念嗎?并不是,其實(shí)我們從學(xué)習(xí)深度學(xué)習(xí)的第一天起就接觸過,Dropout和DropConnect代表著非常經(jīng)典的模型剪枝技術(shù),看下圖。

模型剪枝和量化,# 模型剪枝、量化和知識(shí)蒸餾,深度學(xué)習(xí),剪枝,算法,機(jī)器學(xué)習(xí)

Dropout中隨機(jī)的將一些神經(jīng)元的輸出置零,這就是神經(jīng)元剪枝。DropConnect則隨機(jī)的將一些神經(jīng)元之間的連接置零,使得權(quán)重連接矩陣變得稀疏,這便是權(quán)重連接剪枝。它們就是最細(xì)粒度的剪枝技術(shù),只是這個(gè)操作僅僅發(fā)生在訓(xùn)練中,對(duì)最終的模型不產(chǎn)生影響,因此沒有被稱為模型剪枝技術(shù)。

當(dāng)然,模型剪枝不僅僅只有對(duì)神經(jīng)元的剪枝和對(duì)權(quán)重連接的剪枝,根據(jù)粒度的不同,至少可以粗分為4個(gè)粒度。

模型剪枝和量化,# 模型剪枝、量化和知識(shí)蒸餾,深度學(xué)習(xí),剪枝,算法,機(jī)器學(xué)習(xí)

細(xì)粒度剪枝(fine-grained):即對(duì)連接或者神經(jīng)元進(jìn)行剪枝,它是粒度最小的剪枝。

向量剪枝(vector-level):它相對(duì)于細(xì)粒度剪枝粒度更大,屬于對(duì)卷積核內(nèi)部(intra-kernel)的剪枝。

核剪枝(kernel-level):即去除某個(gè)卷積核,它將丟棄對(duì)輸入通道中對(duì)應(yīng)計(jì)算通道的響應(yīng)。

濾波器剪枝(Filter-level):對(duì)整個(gè)卷積核組進(jìn)行剪枝,會(huì)造成推理過程中輸出特征通道數(shù)的改變。

細(xì)粒度剪枝(fine-grained),向量剪枝(vector-level),核剪枝(kernel-level)方法在參數(shù)量與模型性能之間取得了一定的平衡,但是網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)本身發(fā)生了變化,需要專門的算法設(shè)計(jì)來支持這種稀疏的運(yùn)算,被稱之為非結(jié)構(gòu)化剪枝。

而濾波器剪枝(Filter-level)只改變了網(wǎng)絡(luò)中的濾波器組和特征通道數(shù)目,所獲得的模型不需要專門的算法設(shè)計(jì)就能夠運(yùn)行,被稱為結(jié)構(gòu)化剪枝。除此之外還有對(duì)整個(gè)網(wǎng)絡(luò)層的剪枝,它可以被看作是濾波器剪枝(Filter-level)的變種,即所有的濾波器都丟棄。

2. 模型剪枝的必要性

????????既然冗余性是存在的,那么剪枝自然有它的必要性,下面以Google的研究來說明這個(gè)問題。

Google在《To prune, or not to prune: exploring the efficacy of pruning for model compression》[1]中探討了具有同等參數(shù)量的稀疏大模型和稠密小模型的性能對(duì)比,在圖像和語音任務(wù)上表明稀疏大模型普遍有更好的性能。

它們對(duì)Inception V3模型進(jìn)行了實(shí)驗(yàn),在參數(shù)的稀疏性分別為0%,50%,75%,87.5%時(shí),模型中非零參數(shù)分別是原始模型的1,0.5,0.25,0.128倍進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明在稀疏性為50%時(shí),Inception V3模型的性能幾乎不變。稀疏性為87.5%時(shí),在ImageNet上的分類指標(biāo)下降為2%。

模型剪枝和量化,# 模型剪枝、量化和知識(shí)蒸餾,深度學(xué)習(xí),剪枝,算法,機(jī)器學(xué)習(xí)

因此,我們完全可以相信,模型剪枝是有效的而且是必要的,剩下的問題就是怎么去找到冗余的參數(shù)進(jìn)行剪枝。


模型量化技術(shù)概述

1. 什么是模型量化

????????我們知道為了保證較高的精度,大部分的科學(xué)運(yùn)算都是采用浮點(diǎn)型進(jìn)行計(jì)算,常見的是32位浮點(diǎn)型和64位浮點(diǎn)型,即float32和double64。

對(duì)于深度學(xué)習(xí)模型來說,乘加計(jì)算量是非常大的,往往需要GPU等專用的計(jì)算平臺(tái)才能實(shí)現(xiàn)實(shí)時(shí)運(yùn)算,這對(duì)于端上產(chǎn)品來說是不可接受的,而模型量化是一個(gè)有效降低計(jì)算量的方法。

量化,即將網(wǎng)絡(luò)的權(quán)值,激活值等從高精度轉(zhuǎn)化成低精度的操作過程,例如將32位浮點(diǎn)數(shù)轉(zhuǎn)化成8位整型數(shù)int8,同時(shí)我們期望轉(zhuǎn)換后的模型準(zhǔn)確率與轉(zhuǎn)化前相近。

2. 模型量化的優(yōu)勢

模型量化可以帶來幾方面的優(yōu)勢,如下。

(1)?更小的模型尺寸。以8bit量化為例,與32bit浮點(diǎn)數(shù)相比,我們可以將模型的體積降低為原來的四分之一,這對(duì)于模型的存儲(chǔ)和更新來說都更有優(yōu)勢。

(2)?更低的功耗。移動(dòng)8bit數(shù)據(jù)與移動(dòng)32bit浮點(diǎn)型數(shù)據(jù)相比,前者比后者高4倍的效率,而在一定程度上內(nèi)存的使用量與功耗是成正比的。

(3)?更快的計(jì)算速度。相對(duì)于浮點(diǎn)數(shù),大多數(shù)處理器都支持8bit數(shù)據(jù)的更快處理,如果是二值量化,則更有優(yōu)勢。

模型剪枝和量化,# 模型剪枝、量化和知識(shí)蒸餾,深度學(xué)習(xí),剪枝,算法,機(jī)器學(xué)習(xí)

上圖展示的是一個(gè)二值權(quán)重和激活值矩陣的運(yùn)算,卷積過程中的乘加都可以轉(zhuǎn)換為異或操作,并行程度更高,運(yùn)算速度因此也更快。

因此,在工業(yè)界對(duì)模型量化有著非常強(qiáng)烈的需求。


模型壓縮中知識(shí)蒸餾技術(shù)概述

1. 什么是知識(shí)蒸餾

????????一般地,大模型往往是單個(gè)復(fù)雜網(wǎng)絡(luò)或者是若干網(wǎng)絡(luò)的集合,擁有良好的性能和泛化能力,而小模型因?yàn)榫W(wǎng)絡(luò)規(guī)模較小,表達(dá)能力有限。利用大模型學(xué)習(xí)到的知識(shí)去指導(dǎo)小模型訓(xùn)練,使得小模型具有與大模型相當(dāng)?shù)男阅?,但是參?shù)數(shù)量大幅降低,從而可以實(shí)現(xiàn)模型壓縮與加速,就是知識(shí)蒸餾與遷移學(xué)習(xí)在模型優(yōu)化中的應(yīng)用。

????????Hinton等人最早在文章“Distilling the knowledge in a neural network”[1]中提出了知識(shí)蒸餾這個(gè)概念,其核心思想是一旦復(fù)雜網(wǎng)絡(luò)模型訓(xùn)練完成,便可以用另一種訓(xùn)練方法從復(fù)雜模型中提取出來更小的模型,因此知識(shí)蒸餾框架通常包含了一個(gè)大模型(被稱為teacher模型),和一個(gè)小模型(被稱為student模型)。

2.?為什么要進(jìn)行知識(shí)蒸餾

????????以計(jì)算機(jī)視覺模型的訓(xùn)練為例,我們經(jīng)常用在ImageNet上訓(xùn)練的模型作為預(yù)訓(xùn)練模型,之所以可以這樣做,是因?yàn)樯疃葘W(xué)習(xí)模型在網(wǎng)絡(luò)淺層學(xué)習(xí)的知識(shí)是圖像的色彩和邊緣等底層信息,某一個(gè)數(shù)據(jù)集學(xué)習(xí)到的信息也可以應(yīng)用于其他領(lǐng)域。

那實(shí)際上知識(shí)蒸餾或者說遷移學(xué)習(xí)的必要性在哪里?

(1)?數(shù)據(jù)分布差異。深度學(xué)習(xí)模型的訓(xùn)練場景和測試場景往往有分布差異,以自動(dòng)駕駛領(lǐng)域?yàn)槔蟛糠謹(jǐn)?shù)據(jù)集的采集都是基于白天,光照良好的天氣條件下,在這樣的數(shù)據(jù)集上訓(xùn)練的模型,當(dāng)將其用于黑夜,風(fēng)雪等場景時(shí),很有可能會(huì)無法正常工作,從而使得模型的實(shí)用性能非常受限。因此,必須考慮模型從源域到目標(biāo)域的遷移能力。

(2)?受限的數(shù)據(jù)規(guī)模。數(shù)據(jù)的標(biāo)注成本是非常高的,導(dǎo)致很多任務(wù)只能用少量的標(biāo)注進(jìn)行模型的訓(xùn)練。以醫(yī)學(xué)領(lǐng)域?yàn)榈湫痛?,?shù)據(jù)集的規(guī)模并不大,因此在真正專用的模型訓(xùn)練之前往往需要先在通用任務(wù)上進(jìn)行預(yù)訓(xùn)練。

(3)?通用與垂直領(lǐng)域。雖然我們可以訓(xùn)練許多通用的模型,但是真實(shí)需求是非常垂直或者說個(gè)性化的,比如ImageNet存在1000類,但是我們可能只需要用到其中若干類。此時(shí)就可以基于1000類ImageNet模型進(jìn)行知識(shí)遷移,而不需要完全從頭開始訓(xùn)練。

因此,在工業(yè)界對(duì)知識(shí)蒸餾和遷移學(xué)習(xí)也有著非常強(qiáng)烈的需求。文章來源地址http://www.zghlxwxcb.cn/news/detail-818284.html

到了這里,關(guān)于【深度學(xué)習(xí)之模型優(yōu)化】模型剪枝、模型量化、知識(shí)蒸餾概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 第八章:AI大模型的部署與優(yōu)化8.1 模型壓縮與加速8.1.2 量化與剪枝

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 8.1.1 背景介紹 隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,人工智能模型的規(guī)模越來越龐大。然而,這也帶來了新的問題:大模型需要更多的計(jì)算資源和存儲(chǔ)空間,同時(shí)在移動(dòng)設(shè)備上運(yùn)行效率較低。因此,模型壓縮與加速成為了當(dāng)前研究的熱點(diǎn)。 8.1.2 核心

    2024年03月08日
    瀏覽(33)
  • yolov5剪枝與知識(shí)蒸餾【附代碼】

    剪枝和知識(shí)蒸餾均屬于模型輕量化設(shè)計(jì),剪枝是將已有網(wǎng)絡(luò)通過剪枝的手段得到輕量化網(wǎng)絡(luò),可分為 非結(jié)構(gòu)化剪枝 和 結(jié)構(gòu)化剪 ,該技術(shù) 可以免去人為設(shè)計(jì)輕量網(wǎng)絡(luò) ,而是通過計(jì)算各個(gè)權(quán)重或者通道的貢獻(xiàn)度大小,剪去貢獻(xiàn)度小的權(quán)重或通道,再 經(jīng)過微調(diào)訓(xùn)練恢復(fù)精度 ,

    2024年02月05日
    瀏覽(22)
  • 【YOLOv7/YOLOv5系列算法改進(jìn)NO.49】模型剪枝、蒸餾、壓縮

    【YOLOv7/YOLOv5系列算法改進(jìn)NO.49】模型剪枝、蒸餾、壓縮

    作為當(dāng)前先進(jìn)的深度學(xué)習(xí)目標(biāo)檢測算法YOLOv7,已經(jīng)集合了大量的trick,但是還是有提高和改進(jìn)的空間,針對(duì)具體應(yīng)用場景下的檢測難點(diǎn),可以不同的改進(jìn)方法。此后的系列文章,將重點(diǎn)對(duì)YOLOv7的如何改進(jìn)進(jìn)行詳細(xì)的介紹,目的是為了給那些搞科研的同學(xué)需要?jiǎng)?chuàng)新點(diǎn)或者搞工程

    2024年02月08日
    瀏覽(17)
  • 人工智能大模型技術(shù)基礎(chǔ)系列之:模型蒸餾與知識(shí)蒸餾

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 模型蒸餾(Model Distillation)是將一個(gè)復(fù)雜的大型機(jī)器學(xué)習(xí)模型壓縮到更小且效率更高的模型上的一種技術(shù)。它可以讓用戶獲得更高質(zhì)量的模型,同時(shí)降低計(jì)算資源占用和部署成本。目前國內(nèi)外多種公司在使用模型蒸餾技術(shù),如阿里巴巴在內(nèi)部業(yè)

    2024年02月05日
    瀏覽(95)
  • 基于YOLOv5n/s/m不同參數(shù)量級(jí)模型開發(fā)構(gòu)建茶葉嫩芽檢測識(shí)別模型,使用pruning剪枝技術(shù)來對(duì)模型進(jìn)行輕量化處理,探索不同剪枝水平下模型性能影響

    基于YOLOv5n/s/m不同參數(shù)量級(jí)模型開發(fā)構(gòu)建茶葉嫩芽檢測識(shí)別模型,使用pruning剪枝技術(shù)來對(duì)模型進(jìn)行輕量化處理,探索不同剪枝水平下模型性能影響

    今天有點(diǎn)時(shí)間就想著之前遺留的一個(gè)問題正好拿過來做一下看看,主要的目的就是想要對(duì)訓(xùn)練好的目標(biāo)檢測模型進(jìn)行剪枝處理,這里就以茶葉嫩芽檢測數(shù)據(jù)場景為例了,在我前面的博文中已經(jīng)有過相關(guān)的實(shí)踐介紹了,感興趣的話可以自行移步閱讀即可: 《融合CBAM注意力機(jī)制

    2024年02月12日
    瀏覽(20)
  • 基于YOLOv5n/s/m不同參數(shù)量級(jí)模型開發(fā)構(gòu)建茶葉嫩芽檢測識(shí)別模型,使用pruning剪枝技術(shù)來對(duì)模型進(jìn)行輕量化處理,探索不同剪枝水平下模型性能影響【續(xù)】

    基于YOLOv5n/s/m不同參數(shù)量級(jí)模型開發(fā)構(gòu)建茶葉嫩芽檢測識(shí)別模型,使用pruning剪枝技術(shù)來對(duì)模型進(jìn)行輕量化處理,探索不同剪枝水平下模型性能影響【續(xù)】

    這里主要是前一篇博文的后續(xù)內(nèi)容,簡單回顧一下:本文選取了n/s/m三款不同量級(jí)的模型來依次構(gòu)建訓(xùn)練模型,所有的參數(shù)保持同樣的設(shè)置,之后探索在不同剪枝處理操作下的性能影響。 在上一篇博文中保持30的剪枝程度得到的效果還是比較理想的。這里進(jìn)行的是分別進(jìn)行6

    2024年02月12日
    瀏覽(21)
  • 任意模型都能蒸餾,異構(gòu)模型的知識(shí)蒸餾方法OFAKD已在昇思MindSpore開源

    任意模型都能蒸餾,異構(gòu)模型的知識(shí)蒸餾方法OFAKD已在昇思MindSpore開源

    自知識(shí)蒸餾方法在2014年被首次提出以來,其開始廣泛被應(yīng)用于模型壓縮領(lǐng)域。在更強(qiáng)大教師模型輔助監(jiān)督信息的幫助下,學(xué)生模型往往能夠?qū)崿F(xiàn)比直接訓(xùn)練更高的精度。然而,現(xiàn)有的知識(shí)蒸餾相關(guān)研究只考慮了同架構(gòu)模型的蒸餾方法,而忽略了教師模型與學(xué)生模型異構(gòu)的情形

    2024年02月22日
    瀏覽(18)
  • 模型優(yōu)化之模型剪枝

    模型優(yōu)化之模型剪枝

    一、概述 模型剪枝按照結(jié)構(gòu)劃分,主要包括結(jié)構(gòu)化剪枝和非結(jié)構(gòu)化剪枝: (1)結(jié)構(gòu)化剪枝:剪掉神經(jīng)元節(jié)點(diǎn)之間的不重要的連接。相當(dāng)于把權(quán)重矩陣中的單個(gè)權(quán)重值設(shè)置為0。 (2)非結(jié)構(gòu)化剪枝:把權(quán)重矩陣中某個(gè)神經(jīng)元節(jié)點(diǎn)去掉,則和神經(jīng)元相連接的突觸也要全部去除。

    2024年02月14日
    瀏覽(13)
  • TensorRT模型優(yōu)化部署 (八)--模型剪枝Pruning

    TensorRT模型優(yōu)化部署 (八)--模型剪枝Pruning

    第一章 TensorRT優(yōu)化部署(一)–TensorRT和ONNX基礎(chǔ) 第二章 TensorRT優(yōu)化部署(二)–剖析ONNX架構(gòu) 第三章 TensorRT優(yōu)化部署(三)–ONNX注冊(cè)算子 第四章 TensorRT模型優(yōu)化部署(四)–Roofline model 第五章 TensorRT模型優(yōu)化部署(五)–模型優(yōu)化部署重點(diǎn)注意 第六章 TensorRT模型優(yōu)化部署(

    2024年01月20日
    瀏覽(24)
  • TextBrewer:融合并改進(jìn)了NLP和CV中的多種知識(shí)蒸餾技術(shù)、提供便捷快速的知識(shí)蒸餾框架、提升模型的推理速度,減少內(nèi)存占用

    TextBrewer:融合并改進(jìn)了NLP和CV中的多種知識(shí)蒸餾技術(shù)、提供便捷快速的知識(shí)蒸餾框架、提升模型的推理速度,減少內(nèi)存占用

    TextBrewer 是一個(gè)基于PyTorch的、為實(shí)現(xiàn)NLP中的 知識(shí)蒸餾 任務(wù)而設(shè)計(jì)的工具包, 融合并改進(jìn)了NLP和CV中的多種知識(shí)蒸餾技術(shù),提供便捷快速的知識(shí)蒸餾框架,用于以較低的性能損失壓縮神經(jīng)網(wǎng)絡(luò)模型的大小,提升模型的推理速度,減少內(nèi)存占用。 TextBrewer 為NLP中的知識(shí)蒸餾任務(wù)

    2024年02月13日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包