0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TensorFlow模型優(yōu)化:模型量化

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2021-02-04 15:40 ? 次閱讀

1. 模型量化需求

為了滿足各種 AI 應(yīng)用對檢測精度的要求,深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的寬度、層數(shù)、深度以及各類參數(shù)等數(shù)量急速上升,導(dǎo)致深度學(xué)習(xí)模型占用了更大的存儲空間,需要更長的推理時(shí)延,不利于工業(yè)化部署;目前的模型都運(yùn)行在 CPU,GPUFPGA,ASIC 等四類芯片上,芯片的算力有限;對于邊緣設(shè)備上的芯片而言,在存儲、內(nèi)存、功耗及時(shí)延性方面有許多限制,推理效率尤其重要。

作為通用的深度學(xué)習(xí)優(yōu)化的手段之一,模型量化將深度學(xué)習(xí)模型量化為更小的定點(diǎn)模型和更快的推理速度,而且?guī)缀醪粫芯葥p失,其適用于絕大多數(shù)模型和使用場景。此外,模型量化解鎖了定點(diǎn)硬件(Fixed-point hardware) 和下一代硬件加速器的處理能力,能夠?qū)崿F(xiàn)相同時(shí)延的網(wǎng)絡(luò)模型推理功能,硬件價(jià)格只有原來的幾十分之一,尤其是 FPGA,用硬件電路去實(shí)現(xiàn)網(wǎng)絡(luò)推理功能,時(shí)延是各類芯片中最低的。

TensorFlow 模型優(yōu)化工具包是一套能夠優(yōu)化機(jī)器學(xué)習(xí)模型以便于部署和執(zhí)行的工具。該工具包用途很多,其中包括支持用于以下方面的技術(shù):

通過模型量化等方式降低云和邊緣設(shè)備(例如移動(dòng)設(shè)備和 IoT 設(shè)備)的延遲時(shí)間和推斷成本。將優(yōu)化后的模型部署到邊緣設(shè)備,這些設(shè)備在處理、內(nèi)存、耗電量、網(wǎng)絡(luò)連接和模型存儲空間方面存在限制。在現(xiàn)有硬件或新的專用加速器上執(zhí)行模型并進(jìn)行優(yōu)化。

根據(jù)您的任務(wù)選擇模型和優(yōu)化工具:

利用現(xiàn)成模型提高性能在很多情況下,預(yù)先優(yōu)化的模型可以提高應(yīng)用的效率。

2. 模型量化過程

大家都知道模型是有權(quán)重 (w) 和偏置 (b) 組成,其中 w,b 都是以 float32 存儲的,float32 在計(jì)算機(jī)中存儲時(shí)占 32bit,int8 在計(jì)算機(jī)中存儲時(shí)占 8bit;模型量化就是用 int8 等更少位數(shù)的數(shù)據(jù)類型來代替 float32 表示模型的權(quán)重 (w) 和偏置 (b) 的過程,從而達(dá)到減少模型尺寸大小、減少模型內(nèi)存消耗及加快模型推理速度等目標(biāo)。

模型量化以損失推理精度為代價(jià),將網(wǎng)絡(luò)中連續(xù)取值或離散取值的浮點(diǎn)型參數(shù)(權(quán)重 w 和輸入 x)線性映射為定點(diǎn)近似 (int8/uint8) 的離散值,取代原有的 float32 格式數(shù)據(jù),同時(shí)保持輸入輸出為浮點(diǎn)型,從而達(dá)到減少模型尺寸大小、減少模型內(nèi)存消耗及加快模型推理速度等目標(biāo)。定點(diǎn)量化近似表示卷積和反卷積如下圖 所示,左邊是原始權(quán)重 float32 分布,右邊是原始權(quán)重 float32 經(jīng)過量化后又反量化后權(quán)重分布。

32703f02-5408-11eb-8b86-12bb97331649.jpg

32a0429c-5408-11eb-8b86-12bb97331649.jpg

圖 2.1 Int8 量化近似表示卷積

33082e66-5408-11eb-8b86-12bb97331649.jpg

3341b7da-5408-11eb-8b86-12bb97331649.jpg

圖 2.2 Int8 量化近似表示反卷積

3. 模型量化好處

減小模型尺寸,如 8 位整型量化可減少 75% 的模型大小;

減少存儲空間,在邊緣側(cè)存儲空間不足時(shí)更具有意義;

減少內(nèi)存耗用,更小的模型大小意味著不需要更多的內(nèi)存;

加快推理速度,訪問一次 32 位浮點(diǎn)型可以訪問四次 int8 整型,整型運(yùn)算比浮點(diǎn)型運(yùn)算更快;CPU 用 int8 計(jì)算的速度更快

減少設(shè)備功耗,內(nèi)存耗用少了推理速度快了自然減少了設(shè)備功耗;

支持微處理器,有些微處理器屬于 8 位的,低功耗運(yùn)行浮點(diǎn)運(yùn)算速度慢,需要進(jìn)行 8bit 量化。

某些硬件加速器如 DSP/NPU 只支持 int8

4. 模型量化原理

模型前向推理過程中所有的計(jì)算都可以簡化為 x= w*x +b; x 是輸入,也叫作 FeatureMap,w 是權(quán)重,b 是偏置;實(shí)際過程中 b 對模型的推理結(jié)果影響不大,一般丟棄。原本 w,x 是 float32,現(xiàn)在使用 int8 來表示為 qw,qx;模型量化的原理就是定點(diǎn) (qw qx) 與浮點(diǎn) (w,x),建立了一種有效的數(shù)據(jù)映射關(guān)系.。不僅僅量化權(quán)重 W ,輸入 X 也要量化;詳解如下:

R 表示真實(shí)的浮點(diǎn)值(w 或者 x),

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3115

    瀏覽量

    48660
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8353

    瀏覽量

    132315
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5466

    瀏覽量

    120891

原文標(biāo)題:社區(qū)分享 | TensorFlow 模型優(yōu)化:模型量化

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Meta發(fā)布Llama 3.2量化模型

    近日,Meta在開源Llama 3.2的1B與3B模型后,再次為人工智能領(lǐng)域帶來了新進(jìn)展。10月24日,Meta正式推出了這兩個(gè)模型量化版本,旨在進(jìn)一步優(yōu)化
    的頭像 發(fā)表于 10-29 11:05 ?266次閱讀

    理解LLM中的模型量化

    在本文中,我們將探討一種廣泛采用的技術(shù),用于減小大型語言模型(LLM)的大小和計(jì)算需求,以便將這些模型部署到邊緣設(shè)備上。這項(xiàng)技術(shù)稱為模型量化。它使得人工智能
    的頭像 發(fā)表于 10-25 11:26 ?160次閱讀
    理解LLM中的<b class='flag-5'>模型</b><b class='flag-5'>量化</b>

    AI大模型的性能優(yōu)化方法

    AI大模型的性能優(yōu)化是一個(gè)復(fù)雜而關(guān)鍵的任務(wù),涉及多個(gè)方面和策略。以下是一些主要的性能優(yōu)化方法: 一、模型壓縮與優(yōu)化
    的頭像 發(fā)表于 10-23 15:01 ?361次閱讀

    快速部署Tensorflow和TFLITE模型在Jacinto7 Soc

    電子發(fā)燒友網(wǎng)站提供《快速部署Tensorflow和TFLITE模型在Jacinto7 Soc.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 11:41 ?0次下載
    快速部署<b class='flag-5'>Tensorflow</b>和TFLITE<b class='flag-5'>模型</b>在Jacinto7 Soc

    【飛凌嵌入式OK3576-C開發(fā)板體驗(yàn)】rkllm模型量化構(gòu)建

    (model = modelpath) if ret != 0: print(\'Load model failed!\') exit(ret) 模型量化構(gòu)建 # Build model ret
    發(fā)表于 08-27 22:50

    stm32mp135d的板子可不可以跑tensorflow模型???

    請問是stm32mp135d的板子可不可以跑tensorflow模型???
    發(fā)表于 07-18 06:49

    深度神經(jīng)網(wǎng)絡(luò)模型量化的基本方法

    深度神經(jīng)網(wǎng)絡(luò)模型量化是深度學(xué)習(xí)領(lǐng)域中的一種重要優(yōu)化技術(shù),旨在通過減少模型參數(shù)的精度(即從高精度浮點(diǎn)數(shù)如32位浮點(diǎn)數(shù)FP32降低到低精度整數(shù)如8位整數(shù)INT8或更低)來降低
    的頭像 發(fā)表于 07-15 11:26 ?570次閱讀

    深度學(xué)習(xí)模型量化方法

    深度學(xué)習(xí)模型量化是一種重要的模型量化技術(shù),旨在通過減少網(wǎng)絡(luò)參數(shù)的比特寬度來減小模型大小和加速推理過程,同時(shí)盡量保持
    的頭像 發(fā)表于 07-15 11:01 ?437次閱讀
    深度學(xué)習(xí)<b class='flag-5'>模型</b><b class='flag-5'>量化</b>方法

    使用TensorFlow進(jìn)行神經(jīng)網(wǎng)絡(luò)模型更新

    使用TensorFlow進(jìn)行神經(jīng)網(wǎng)絡(luò)模型的更新是一個(gè)涉及多個(gè)步驟的過程,包括模型定義、訓(xùn)練、評估以及根據(jù)新數(shù)據(jù)或需求進(jìn)行模型微調(diào)(Fine-tuning)或重新訓(xùn)練。下面我將詳細(xì)闡述這
    的頭像 發(fā)表于 07-12 11:51 ?311次閱讀

    請問ESP32如何運(yùn)行TensorFlow模型?

    請問ESP32如何運(yùn)行TensorFlow模型?
    發(fā)表于 07-09 07:30

    tensorflow簡單的模型訓(xùn)練

    在本文中,我們將詳細(xì)介紹如何使用TensorFlow進(jìn)行簡單的模型訓(xùn)練。TensorFlow是一個(gè)開源的機(jī)器學(xué)習(xí)庫,廣泛用于各種機(jī)器學(xué)習(xí)任務(wù),包括圖像識別、自然語言處理等。我們將從安裝
    的頭像 發(fā)表于 07-05 09:38 ?472次閱讀

    keras模型轉(zhuǎn)tensorflow session

    在這篇文章中,我們將討論如何將Keras模型轉(zhuǎn)換為TensorFlow session。 Keras和TensorFlow簡介 Keras是一個(gè)高級神經(jīng)網(wǎng)絡(luò)API,它提供了一種簡單、快速的方式來構(gòu)建
    的頭像 發(fā)表于 07-05 09:36 ?437次閱讀

    如何使用Tensorflow保存或加載模型

    TensorFlow是一個(gè)廣泛使用的開源機(jī)器學(xué)習(xí)庫,它提供了豐富的API來構(gòu)建和訓(xùn)練各種深度學(xué)習(xí)模型。在模型訓(xùn)練完成后,保存模型以便將來使用或部署是一項(xiàng)常見的需求。同樣,加載已保存的
    的頭像 發(fā)表于 07-04 13:07 ?1169次閱讀

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡單的機(jī)器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?895次閱讀
    如何使用<b class='flag-5'>TensorFlow</b>構(gòu)建機(jī)器學(xué)習(xí)<b class='flag-5'>模型</b>

    解讀大模型FP量化的解決方案

    在 LLaMA, BERT 以及 ViTs 模型上,4-bit 量化皆取得了遠(yuǎn)超 SOTA 的結(jié)果。特別是,這篇文章展示了 4-bit 量化的 LLaMA-13B 模型,在零樣本推理任
    發(fā)表于 11-24 11:15 ?874次閱讀
    解讀大<b class='flag-5'>模型</b>FP<b class='flag-5'>量化</b>的解決方案