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

深度學(xué)習(xí)模型量化、剪枝、壓縮

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

fp16是指采用2字節(jié)(16位)進(jìn)行編碼存儲(chǔ)的一種數(shù)據(jù)類型;

fp32是指采用4字節(jié)(32位);

fp16fp32相比對(duì)訓(xùn)練的優(yōu)化:

  • 1.內(nèi)存占用減少:應(yīng)用fp16內(nèi)存占用比原來更小,可以設(shè)置更大的batch_size
  • 2.加速計(jì)算:加速計(jì)算只在最近的一些新gpu中,這一塊我還沒有體驗(yàn)到好處...有論文指出fp16訓(xùn)練速度可以是fp32的2-8倍

數(shù)據(jù)類型

取值范圍

float16

-65504 ~ 65504

float32

-2^31 ~ 2^31-1

int8

-2^7 ~ 2^7-1 (-128 ~ 127)

uint8

0 ~ 2^8-1 (0~255)

1.量化目的

????????在開發(fā)機(jī)器學(xué)習(xí)應(yīng)用程序時(shí),有效利用服務(wù)器端和設(shè)備上的計(jì)算資源非常重要。為了支持在服務(wù)器和邊緣設(shè)備上更高效的部署,對(duì)模型量化的支持將變的更加重要。

??量化利用8位整數(shù)(int8)指令來減小模型大小并更快地運(yùn)行推斷(減少延遲),并且可以是實(shí)現(xiàn)服務(wù)質(zhì)量目標(biāo)或甚至適合移動(dòng)設(shè)備上可用資源的模型之間的差異。即使在資源不太受限的情況下,它也可以使您部署更大、更準(zhǔn)確的模型。

????????量化主要是一種加快推理速度的技術(shù),并且只支持量化運(yùn)算符的前向傳遞。在深度學(xué)習(xí)中,量化指的是使用更少的bit來存儲(chǔ)原本以浮點(diǎn)數(shù)存儲(chǔ)的tensor,以及使用更少的bit來完成原本以浮點(diǎn)數(shù)完成的計(jì)算。

?

2.量化簡介

??量化主要是一種加速推理的技術(shù),量化運(yùn)算符僅支持前向傳遞。量化是指使用精度較低的數(shù)據(jù)進(jìn)行計(jì)算和內(nèi)存訪問的技術(shù),與浮點(diǎn)實(shí)現(xiàn)相比,通常是int8。

可以在幾個(gè)重要領(lǐng)域?qū)崿F(xiàn)性能提升:

????????模型尺寸縮小 4 倍;

????????內(nèi)存帶寬減少 2-4 倍;

由于內(nèi)存帶寬的節(jié)省和使用int8算法更快計(jì)算,推理速度提高了2-4倍。

??然而,量化并非沒有額外代價(jià)。從根本上說,量化意味著引入近似值,由此產(chǎn)生的網(wǎng)絡(luò)精度略低。這些技術(shù)試圖最小化完整浮點(diǎn)精度和量化精度之間的差距。????

3.量化方式

3.1 Dynamic Quantization - 動(dòng)態(tài)量化

??PyTorch支持的最簡單的量化方法稱為動(dòng)態(tài)量化。這不僅涉及將權(quán)重轉(zhuǎn)換為int8,而且還涉及在執(zhí)行計(jì)算之前將激活轉(zhuǎn)換為int 8(因此為“動(dòng)態(tài)”)。因此,將使用高效的int8矩陣乘法和卷積實(shí)現(xiàn)來執(zhí)行計(jì)算,從而實(shí)現(xiàn)更快的計(jì)算。然而,激活是以浮點(diǎn)格式讀取和寫入內(nèi)存的。

3.2 Post-Training Static Quantization - 訓(xùn)練后靜態(tài)量化

??通過將網(wǎng)絡(luò)轉(zhuǎn)換為同時(shí)使用整數(shù)算術(shù)和int8內(nèi)存訪問,可以進(jìn)一步提高性能(延遲)。靜態(tài)量化執(zhí)行額外的步驟,首先通過網(wǎng)絡(luò)輸入數(shù)據(jù)批,并計(jì)算不同激活的結(jié)果分布。該信息用于確定不同的激活應(yīng)該在推斷時(shí)量化的具體程度。重要的是,這一附加步驟允許我們?cè)诓僮髦g傳遞量化值,而不是在每個(gè)操作之間將這些值轉(zhuǎn)換為浮點(diǎn)值,然后再轉(zhuǎn)換為整數(shù),從而大大加快了速度。

3.3 Quantization Aware Training - 量化感知訓(xùn)練

??量化感知訓(xùn)練(QAT)是這三種方法中精度最高的一種。使用QAT,所有權(quán)重和激活在訓(xùn)練的前向和后向過程中都是“偽量化”的:也就是說,浮點(diǎn)值被舍入為模擬int8值,但所有計(jì)算仍然使用浮點(diǎn)數(shù)字完成。因此,訓(xùn)練期間的所有權(quán)重調(diào)整都是在“感知到”模型最終將被量化這一事實(shí)的情況下進(jìn)行的;因此,在量化之后,該方法通常比其他兩種方法產(chǎn)生更高的精度。

4.PTQ 和 QAT 簡介

????????依據(jù)是否要對(duì)量化后的參數(shù)進(jìn)行調(diào)整可將量化方法分為量化感知訓(xùn)練(QAT)和訓(xùn)練后量化(PTQ)。 這兩種方法的操作區(qū)別如下圖所示(圖左為QAT,圖右為PTQ):

????深度學(xué)習(xí)模型量化、剪枝、壓縮,深度學(xué)習(xí)模型部署,深度學(xué)習(xí),剪枝,算法,機(jī)器學(xué)習(xí),深度學(xué)習(xí),人工智能

量化感知訓(xùn)練 QAT 是將訓(xùn)練過的模型量化后又再進(jìn)行重訓(xùn)練。由于定點(diǎn)數(shù)值無法用于反向梯度計(jì)算,實(shí)際操作過程是在某些op前插入偽量化節(jié)點(diǎn)(fake quantization nodes), 用于在訓(xùn)練時(shí)獲取流經(jīng)該op的數(shù)據(jù)的截?cái)嘀?,便于在部署量化模型時(shí)對(duì)節(jié)點(diǎn)進(jìn)行量化時(shí)使用。我們需要在訓(xùn)練中通過不斷優(yōu)化精度來獲取最佳的量化參數(shù)。由于它需要對(duì)模型進(jìn)行訓(xùn)練, 對(duì)操作人員技術(shù)要求較高。

??訓(xùn)練后量化 PTQ 是使用一批校準(zhǔn)數(shù)據(jù)對(duì)訓(xùn)練好的模型進(jìn)行校準(zhǔn), 將訓(xùn)練過的FP32網(wǎng)絡(luò)直接轉(zhuǎn)換為定點(diǎn)計(jì)算的網(wǎng)絡(luò),過程中無需對(duì)原始模型進(jìn)行任何訓(xùn)練。只對(duì)幾個(gè)超參數(shù)調(diào)整就可完成量化過程, 且過程簡單快速, 無需訓(xùn)練, 因此此方法已被廣泛應(yīng)用于大量的端側(cè)和云側(cè)部署場景。

模型類型

首選方案

為什么

LSTM/RNN

動(dòng)態(tài)量化

吞吐量由權(quán)重的計(jì)算/內(nèi)存帶寬決定

BERT/Transformer

動(dòng)態(tài)量化

吞吐量由權(quán)重的計(jì)算/內(nèi)存帶寬決定

CNN

靜態(tài)量化

吞吐量受激活的內(nèi)存帶寬限制

CNN

量化感知訓(xùn)練

在靜態(tài)量化無法達(dá)到精度的情況下文章來源地址http://www.zghlxwxcb.cn/news/detail-568781.html

到了這里,關(guān)于深度學(xué)習(xí)模型量化、剪枝、壓縮的文章就介紹完了。如果您還想了解更多內(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)文章

  • (9-5)基于深度強(qiáng)化學(xué)習(xí)的量化交易策略(OpenAI Baselines +FinRL+DRL+PyPortfolioOpt):深度強(qiáng)化學(xué)習(xí)算法模型

    本項(xiàng)目的深度強(qiáng)化學(xué)習(xí)算法的是基于Stable Baselines實(shí)現(xiàn)的,Stable Baselines是OpenAI Baselines的一個(gè)分支,經(jīng)過了重大的結(jié)構(gòu)重構(gòu)和代碼清理工作。另外,在庫FinRL中包含了經(jīng)過調(diào)優(yōu)的標(biāo)準(zhǔn)深度強(qiáng)化學(xué)習(xí)算法,如DQN、DDPG、多智能體DDPG、PPO、SAC、A2C和TD3,并且允許用戶通過調(diào)整這些深度

    2024年01月25日
    瀏覽(27)
  • 從計(jì)算機(jī)視覺(Computer Vision)的角度出發(fā),從傳統(tǒng)機(jī)器學(xué)習(xí)的特征工程、分類器設(shè)計(jì)和優(yōu)化,到深度學(xué)習(xí)的CNN架構(gòu)設(shè)計(jì)、訓(xùn)練優(yōu)化、模型壓縮與推理部署,詳細(xì)闡述了圖像識(shí)別領(lǐng)域最新的技術(shù)發(fā)展方向

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 在現(xiàn)代信息技術(shù)的快速發(fā)展過程中,圖像識(shí)別技術(shù)越來越重要。早期的人工智能算法主要側(cè)重于特征提取、分類或回歸任務(wù)。近幾年,隨著神經(jīng)網(wǎng)絡(luò)(Neural Networks)在圖像識(shí)別領(lǐng)域的不斷突破,很多研究人員將目光投向了深度學(xué)習(xí)(Deep Learni

    2024年02月10日
    瀏覽(39)
  • 【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)
  • 深度學(xué)習(xí)模型部署-番外-TVM機(jī)器學(xué)習(xí)編譯

    深度學(xué)習(xí)模型部署-番外-TVM機(jī)器學(xué)習(xí)編譯

    圖片來自知乎大佬的文章 機(jī)器學(xué)習(xí)編譯是指:將模型從訓(xùn)練形式轉(zhuǎn)變?yōu)椴渴鹉J?訓(xùn)練模式:使用訓(xùn)練框架定義的模型 部署模式:部署所需要的模式,包括模型每個(gè)步驟的實(shí)現(xiàn)代碼,管理資源的控制器,與應(yīng)用程序開發(fā)環(huán)境的接口。 這個(gè)行為和傳統(tǒng)的編譯很像,所以稱為機(jī)器

    2024年03月18日
    瀏覽(16)
  • Gradio快速搭建機(jī)器學(xué)習(xí)模型的wedui展示用戶界面/深度學(xué)習(xí)網(wǎng)頁模型部署

    Gradio快速搭建機(jī)器學(xué)習(xí)模型的wedui展示用戶界面/深度學(xué)習(xí)網(wǎng)頁模型部署

    官網(wǎng) Gradio 是一個(gè)開源 Python 包,可讓您快速為機(jī)器學(xué)習(xí)模型、API 或任何任意 Python 函數(shù)構(gòu)建演示或 Web 應(yīng)用程序。然后,您可以使用 Gradio 的內(nèi)置共享功能在幾秒鐘內(nèi)共享演示或 Web 應(yīng)用程序的鏈接。無需 JavaScript、CSS 或網(wǎng)絡(luò)托管經(jīng)驗(yàn)! 只需幾行 Python 代碼就可以創(chuàng)建一個(gè)像上

    2024年04月23日
    瀏覽(30)
  • 決策樹剪枝:解決模型過擬合【決策樹、機(jī)器學(xué)習(xí)】

    決策樹是一種強(qiáng)大的機(jī)器學(xué)習(xí)算法,用于解決 分類 和 回歸 問題。決策樹模型通過樹狀結(jié)構(gòu)的決策規(guī)則來進(jìn)行預(yù)測,但在構(gòu)建決策樹時(shí),常常會(huì)出現(xiàn)過擬合的問題,即模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)出色,但在未見過的數(shù)據(jù)上表現(xiàn)不佳。 過擬合的威脅 在機(jī)器學(xué)習(xí)中, 過擬合 是一個(gè)

    2024年02月07日
    瀏覽(26)
  • 【模型壓縮】(二)—— 剪枝

    【模型壓縮】(二)—— 剪枝

    剪枝 (Pruning)的一些概念: 當(dāng)提及神經(jīng)網(wǎng)絡(luò)的\\\"參數(shù)\\\"時(shí),大多數(shù)情況指的是網(wǎng)絡(luò)的學(xué)習(xí)型參數(shù),也就是權(quán)重矩陣weights和偏置bias; 現(xiàn)代網(wǎng)絡(luò)的參數(shù)量大概在百萬至數(shù)十億之間,因此實(shí)際上在一個(gè)網(wǎng)絡(luò)中也并不是所有權(quán)值都是重要的,剪枝的作用就是削減那些不重要權(quán)重矩陣

    2024年01月17日
    瀏覽(16)
  • 深度學(xué)習(xí)模型壓縮方法綜述

    深度學(xué)習(xí)模型壓縮方法綜述

    深度學(xué)習(xí)因其計(jì)算復(fù)雜度或參數(shù)冗余,在一些場景和設(shè)備上限制了相應(yīng)的模型部署,需要借助 模型壓縮 、系統(tǒng)優(yōu)化加速等方法突破瓶頸,本文主要介紹模型壓縮的各種方法,希望對(duì)大家有幫助。 我們知道,一定程度上, 網(wǎng)絡(luò)越深,參數(shù)越多,模型也會(huì)越復(fù)雜,但其最終效果

    2024年02月10日
    瀏覽(17)
  • 神經(jīng)網(wǎng)絡(luò)隨記-參數(shù)矩陣、剪枝、模型壓縮、大小匹配、、

    在神經(jīng)網(wǎng)絡(luò)中,參數(shù)矩陣是模型學(xué)習(xí)的關(guān)鍵部分,它包含了神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏置項(xiàng)。下面是神經(jīng)網(wǎng)絡(luò)中常見的參數(shù)矩陣: 權(quán)重矩陣(Weight Matrix):權(quán)重矩陣用于線性變換操作,將輸入數(shù)據(jù)與神經(jīng)元的連接權(quán)重相乘。對(duì)于全連接層或線性層,每個(gè)神經(jīng)元都有一個(gè)權(quán)重矩陣。

    2024年02月16日
    瀏覽(23)
  • python機(jī)器學(xué)習(xí)(六)決策樹(上) 構(gòu)造樹、信息熵的分類和度量、信息增益、CART算法、剪枝

    python機(jī)器學(xué)習(xí)(六)決策樹(上) 構(gòu)造樹、信息熵的分類和度量、信息增益、CART算法、剪枝

    模擬相親的過程,通過相親決策圖,男的去相親,會(huì)先選擇性別為女的,然后依次根據(jù)年齡、長相、收入、職業(yè)等信息對(duì)相親的另一方有所了解。 通過決策圖可以發(fā)現(xiàn),生活中面臨各種各樣的選擇,基于我們的經(jīng)驗(yàn)和自身需求進(jìn)行一些篩選,把判斷背后的邏輯整理成結(jié)構(gòu)圖,

    2024年02月14日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包