91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

怎么使用蒸餾法對低精度推理出浮點網絡進行高保真的轉換?

Dbwd_Imgtec ? 來源:Imagination Tech ? 作者:Szabolcs Cséfalvay ? 2021-06-19 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

神經網絡加速器快速、低功耗推理的一個主要挑戰是模型的大小。近年來,隨著模型尺寸的增加,推理時間和每次推理能耗的相應增加,神經網絡向更深的神經網絡發展,激活和系數也在增加。這在資源受限的移動和汽車應用中尤為重要。

低精度推理有助于通過降低 DRAM 帶寬(這是影響設備能耗的一個重要因素)、計算邏輯成本和功耗來降低推理成本。在這種情況下,下面的問題自然而然地出現了:編碼神經網絡權重和激活的最佳位深度是多少?有幾個建議的數字格式可以減少位深度,包括Nvidia的TensorFloat,谷歌的8位非對稱定點(Q8A)和bfloat16。

但是,雖然這些格式是朝著正確方向邁出的一步,但不能說它們是最佳的:例如,大多數格式都為要表示的每個值存儲一個指數,當多個值在同一區間時,這些指數可能是多余的。

更重要的是,他們沒有考慮神經網絡的不同部分通常有不同的位深度要求這一事實。有些圖層可以用較低的位深度編碼,而其他圖層(如輸入和輸出層)需要更高的位深度。MobileNet v3就是一個例子,它可以從 32 位浮點轉換為大多數在 5-12 位區間內的位深度(見圖 1)。

我們稱使用不同的位深度來編碼原始浮點網絡的不同部分為可變位深度 (VBD) 壓縮。當然,權重的位深度編碼和網絡準確度也是需要權衡的。較低的位深度會導致更有效的推斷,但刪除過多的信息會損害準確性,這意味著需要找到一個最佳的折中方案。VBD 壓縮的目標是在壓縮和精度之間進行平衡。

原則上,可以將其視為優化問題:我們希望用盡可能少的比特數達到最佳精度的網絡。這是通過在損失函數中添加新的一項來實現的,該項表示網絡的大小,以便可以沿原始損失函數最小化,該函數可以大致表示為:總損失=網絡錯誤+γ(網絡大小)其中γ是一個權重因子,用于控制網絡大小和誤差之間的目標權衡。

因此,要以這種方式壓縮網絡,我們需要兩件事:精度的可微度量(錯誤)和網絡大小的可微度量(壓縮位深度)。網絡大小項和網絡誤差項相對于比特數的可微性非常重要,因為它使我們能夠優化(學習)比特深度。

可微網絡規模

對于可微量化,我們可以使用任何具有可微位深度參數的函數,該參數將一個或多個浮點值映射為硬件可表示的壓縮數字格式。例如,我們可以使用 Google Q8A 量化的可變位深度版本(其中可表示范圍不是以零為中心):

d76f1e1a-d02c-11eb-9e57-12bb97331649.png

其中:

?x?是 x 四舍五入到最近的整數(使用目標硬件平臺的舍入模式)

B 是位深度。

E 是浮點表示的指數。

α是不對稱參數。

在實踐中,量化參數 B、E 和α用于壓縮多個權重,例如,單個參數用于壓縮整個神經網絡層(激活或權重張量)或層內的通道。我們還可以通過將不對稱參數設置為 0 來使用對稱量化(有效地將其轉換為縮放的 B位無符號整數格式):d7900cd8-d02c-11eb-9e57-12bb97331649.png為了實現對所有參數的反向傳播,我們使用直通估計器,將圓形函數的梯度作為 1。這使得公式中的所有操作都是可微的,使所有參數(包括位深度)都可學習!此時,我們可以選擇要訓練的參數:1. 權重和最大壓縮位深度。2. 只有權重和指數(對于固定的位深度)。3. 只有量化參數,它有幾個好處(如下所述),成本可能更低的壓縮比。在生成本文的結果時選擇了選項 3。

另一個需要考慮的方面是優化位深度參數 B(對于某些格式的指數 E):任何硬件都需要 B 是整數。要找到整數解,我們有多種選擇:

將四舍五入與直通估計器一起應用于 B 參數(例如,使用公式)。但是,這給優化表面帶來了不連續性,雖然可以處理,但超出了本文的范圍。

d79c9da4-d02c-11eb-9e57-12bb97331649.png

這里選擇的替代方案是在訓練的第一階段優化浮點數B,“保守”地將其四舍五入到最近的整數?B?( 否則激活和權重張量的重要部分可能會被鉗制),將其固定為常量并繼續訓練。這樣平均會損失大約 0.5 位的潛在壓縮,但保證不會發生不適當的裁剪。

可微精度測度

為了測量網絡的準確性,我們可以簡單地使用網絡最初訓練的相同損失函數。然而,在許多應用中,目標是壓縮一個已經用32 位浮點訓練的網絡,這意味著我們可以用蒸餾損失代替。這意味著壓縮網絡的精度是根據原始網絡的輸出來衡量的。在這項工作中,選擇(輸出)logits之間的絕對差異作為蒸餾損失,但也可以采用其他措施。

使用的蒸餾損失定義為:

d7a9323a-d02c-11eb-9e57-12bb97331649.png

(等式1)

蒸餾損失有許多優點:

標簽訓練:我們不需要標簽數據來壓縮網絡,因為我們用原始網絡的輸出取代了標簽。這意味著我們可以壓縮網絡,而無需訪問(可能是專有的)原始數據集:我們只需要具有代表性的輸入和原始網絡。

通用性:神經網絡壓縮機具有通用性:它不需要特定于網絡。

更少的訓練數據:由于我們只是訓練量化參數,過度擬合的范圍大大縮小,所以我們可以使用更少的訓練數據。有時候一張圖片就足夠了!

軟目標:由于從輸入得到的蒸餾損失比標簽包含更多的量化誤差信息,因此它允許更快、更準確的收斂。

我們可以使用蒸餾損失將權重與量化參數一起訓練。然而,在這種情況下,我們需要更多的訓練數據來防止過度擬合。兩全其美的方法是以很小的學習率來訓練權重,并提前停止。這樣,權重可以抵消量化誤差,而不會過度擬合數據集。

可微壓縮將通用的、可微的精度度量與可微量化相結合,得到可微壓縮的損失函數:

d7a9323a-d02c-11eb-9e57-12bb97331649.png

(等式2)第一個項是誤差,第二項是網絡大小的成本。B 是網絡的平均位深度,可根據整個網絡的深度參數來計算:

d7e7c4e6-d02c-11eb-9e57-12bb97331649.png

(等式3)其中c_i是使用位深度參數B_i量化的網絡參數(權重或激活)的數量。請注意,此測量方式取決于批次大小。例如,如果對32個批次網絡進行評估,則激活張量的大小實際上比使用1 批次大小的高出 32 倍。如果目標是將網絡權重存儲在盡可能小的空間中,則此指標中也可以忽略激活。

選擇量化粒度一些神經網絡表示,如谷歌的Q8A格式,允許將不同的比例系數(與上面的指數E的2次冪相關)應用于權重張量(過濾器)的不同通道。這種更精細的粒度可提高給定壓縮級別的網絡精度。

通過對每個通道應用單獨的 E 和α參數,同時對整個張量使用相同的 B 參數,可以通過可變位深度壓縮實現相同的目標。然而,每個通道的量化會導致更慢的收斂,因此根據我們的經驗,使用學習前張量參數的訓練階段更快,然后將這些參數分解為每通道參數,并讓它們在另一個訓練階段收斂。

這最終導致三個階段的訓練計劃:

根據張量訓練所有量化參數

切換到每通道指數和移位參數

將位深度舍入到整數,并將其固定到常量,然后訓練指數和移位參數α。此外,權重也以較小的學習率進行訓練。

結果對象分類

壓縮分類網絡的精確度。

圖像分割

應用于分割網絡的不同壓縮方法之間的比較。第二個列基于啟發式算法,該算法試圖在不使用反向傳播的情況下確定固定位深度的最佳指數。

風格轉換

最后一列使用上述啟發式給出10 比特時的完全空白輸出。

結論用于編碼神經網絡權重和激活的位深度對推理性能有顯著影響。將大小精度權衡作為損失函數的一部分,可以在神經網絡訓練過程中學習任意粒度的最佳比特深度。此外,當優化將 0 位分配給網絡的一部分時,它會有效地從架構中刪除該部分,作為一種架構搜索,從而降低計算成本和帶寬成本。今后的工作將探索這方面的可微網絡壓縮。我們提出了一種基于微分量化和蒸餾的通用而靈活的方法,允許在不影響精度的情況下為各種任務優化位數。我們的方法有幾個優點,包括訓練時間短,重復使用訓練過的網絡,不需要標簽,可調整的大小精度權衡和問題無關的損失功能。通過這種方式,我們可以將網絡壓縮為有效的可變位深度表示,而不犧牲對原始浮點網絡的保真度。

[i] https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-精確格式/

[ii]https://www.tensorflow.org/lite/performance/quantization_spec

[iii]https://arxiv.org/abs/1905.12322

[iv] https://arxiv.org/abs/1308.3432

[v]https://arxiv.org/abs/1503.02531

作者:Szabolcs Cséfalvay

原文鏈接:https://www.imaginationtech.com/blog/low-precision-inference-using-distillation/

編輯:jq

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

    關注

    40

    文章

    2348

    瀏覽量

    185623
  • 谷歌
    +關注

    關注

    27

    文章

    6231

    瀏覽量

    108134
  • 神經網絡
    +關注

    關注

    42

    文章

    4814

    瀏覽量

    103606
  • 估計器
    +關注

    關注

    0

    文章

    3

    瀏覽量

    5628

原文標題:使用蒸餾法對低精度推理的浮點網絡進行高保真轉換

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    信而泰×DeepSeek:AI推理引擎驅動網絡智能診斷邁向 “自愈”時代

    多維異構數據進行智能關聯與融合分析。l 多階推理鏈:深度模擬專家診斷邏輯,構建“現象(如交易延遲)→ 推測(如網絡擁塞/丟包)→ 驗證(如流量回溯/指標關聯分析)→ 定因(如交換機QOS策略錯誤/硬件
    發表于 07-16 15:29

    Simcenter STAR-CCM+在燃燒學方面的應用:提供了一個可以高效、高保真進行燃燒仿真的迅速而可擴展的化學求解器

    ,確保獲得精確結果,同時減少提前構建網格的工作量,是火焰瞬態仿真的理想選擇使用多時間尺度進行共軛熱仿真和LES,獲得制造燃燒室內襯所需的高保真數據摘要如今,新一
    的頭像 發表于 06-27 17:11 ?179次閱讀
    Simcenter STAR-CCM+在燃燒學方面的應用:提供了一個可以高效、<b class='flag-5'>高保真</b><b class='flag-5'>進行</b>燃燒仿<b class='flag-5'>真的</b>迅速而可擴展的化學求解器

    LME49600 單通道、110MHz、高保真、高電流耳機緩沖器技術手冊

    LME49600是一款高性能、失真、高保真度的250mA音頻緩沖器。LME49600專為廣泛的應用而設計。它可以在運算放大器的反饋回路中使用。
    的頭像 發表于 05-20 09:45 ?370次閱讀
    LME49600 單通道、110MHz、<b class='flag-5'>高保真</b>、高電流耳機緩沖器技術手冊

    LME49743 4通道、30MHz、高保真、高性能音頻運算放大器技術手冊

    LME49743是一款失真、低噪聲、高轉換速率運算放大器,經過優化,完全適用于高性能、高保真應用。LME49743音頻運算放大器提供卓越的音頻信號放大,可實現出色的音頻性能。LME49743結合了
    的頭像 發表于 05-18 10:50 ?439次閱讀
    LME49743 4通道、30MHz、<b class='flag-5'>高保真</b>、高性能音頻運算放大器技術手冊

    揭秘:為什么說TS-AWG系列+外部衰減器是幅脈沖測試的終極解決方案?

    無論是醫療設備研發中的心臟信號模擬,還是光電探測領域的毫伏級脈沖測試,德思特TS-AWG系列任意波形發生器憑借16位垂直分辨率、超精細DAC步長(至0.076mV)和靈活的外部衰減配置,提供了高精度高保真的信號生成能力。
    的頭像 發表于 03-12 14:16 ?370次閱讀
    揭秘:為什么說TS-AWG系列+外部衰減器是<b class='flag-5'>低</b>幅脈沖測試的終極解決方案?

    使用OpenVINO?進行推理時的內存泄漏怎么解決?

    使用 OpenVINO? 進行推理時,內存會隨著時間的推移而增加,并導致程序崩潰。
    發表于 03-06 08:29

    labview數據類型與PLC 數據類型之間的轉換(來自于寫入浮點數到匯川 PLC中的數據轉換關鍵的修改)

    浮點數默認數據類型是64為雙精度浮點數,PLC中real浮點數數據類型,是單精度浮點數32位。
    發表于 02-24 19:01

    摩爾線程宣布成功部署DeepSeek蒸餾模型推理服務

    。 據悉,DeepSeek開源模型在多語言理解與復雜推理任務中一直表現出卓越的性能,其V3、R1等系列模型更是備受業界關注。而此次摩爾線程所實現的DeepSeek蒸餾模型推理服務部署,正是基于這些優秀模型的基礎上
    的頭像 發表于 02-06 13:49 ?817次閱讀

    韓國NF功放:高性能、高保真,提供不同音頻解決方案

    在音頻領域中一款好的功放IC能為音響系統帶來出色音質,韓國NF功放系列產品憑借其先進的數字信號處理技術和高保真音頻放大能力,在業界享有盛譽;內置DSP功能精確處理和調整音頻信號,為用戶帶來真實、震撼的音樂體驗。
    的頭像 發表于 12-29 10:06 ?618次閱讀

    高保真功放電路的特點 低頻功放電路的應用

    它們能夠提供清晰的音頻輸出,背景噪音極低。 失真 :高保真功放電路設計用于最小化失真,無論是諧波失真還是互調失真,以確保音頻信號的純凈。 寬頻響范圍 :高保真功放電路能夠處理寬廣的頻率范圍,通常從20Hz到20kHz,這是人耳
    的頭像 發表于 12-03 10:36 ?1083次閱讀

    TensorRT-LLM精度推理優化

    本文將分享 TensorRT-LLM 中低精度量化內容,并從精度和速度角度對比 FP8 與 INT8。首先介紹性能,包括速度和精度。其次,介紹量化工具 NVIDIA TensorRT Model
    的頭像 發表于 11-19 14:29 ?1268次閱讀
    TensorRT-LLM<b class='flag-5'>低</b><b class='flag-5'>精度</b><b class='flag-5'>推理</b>優化

    準備做一個72W高保真音頻功放,想用高速高精度運放OPA627作前級小信號放大,如何才能發揮它的最佳性能?

    準備做一個72W高保真音頻功放,想用高速高精度運放OPA627作前級小信號放大,OPA627憑借其優越的性能在音頻領域受到眾多發燒友的親睞,對于這個天價優越性能的運放,我們應該如何正確使用它 ,才能發揮它的最佳性能?非常感謝!
    發表于 11-01 08:11

    TLV320AIC3204 Line out輸出,經過3W的高保真功放,輸出有相當明顯的POP聲是正常的嗎?

    按照手冊配置的軟件配置,當主板上電后,耳機監聽,POP聲不明顯,但是Line out 輸出,經過3W的高保真功放,輸出有相當明顯的POP聲。這樣正常嗎?設計時如何減小POP聲
    發表于 10-15 06:41

    揭秘使用20位DAC生成超低噪聲、高保真波形的設計挑戰

    電子發燒友網站提供《揭秘使用20位DAC生成超低噪聲、高保真波形的設計挑戰.pdf》資料免費下載
    發表于 09-11 09:47 ?0次下載
    揭秘使用20位DAC生成超低噪聲、<b class='flag-5'>高保真</b>波形的設計挑戰

    DAC1280真的數模轉換器(DAC)數據表

    電子發燒友網站提供《DAC1280真的數模轉換器(DAC)數據表.pdf》資料免費下載
    發表于 07-26 09:10 ?0次下載
    DAC1280<b class='flag-5'>低</b>失<b class='flag-5'>真的</b>數模<b class='flag-5'>轉換</b>器(DAC)數據表
    主站蜘蛛池模板: 一区二区三区四区电影 | 色偷偷中文字幕 | 四虎最新网址入口 | 亚洲人成综合网站在线 | 夜夜五月天 | 久久这里只有精品免费视频 | 国产牛仔裤系列在线观看 | 性试验k8经典 | 国产午夜免费视频片夜色 | 午夜视频黄 | 激情五月亚洲 | 美女张开大腿让男人桶 | 97久久伊人精品影院 | 色综合婷婷 | 国产精品自在线天天看片 | 久久久久久久久久免观看 | 国产色啪午夜免费视频 | 欧美色淫| 欧美综合影院 | 宅男在线看片 | 国产激情在线观看 | 欧美在线三级 | 免费在线观看a视频 | 国产精品国产三级在线高清观看 | 亚洲人成网站在线观看妞妞网 | 国产免费高清福利拍拍拍 | 波多野结衣在线观看一区 | 亚洲色妞| 91九色成人 | 欧美日韩看片 | 好爽好黄的视频 | 91大神精品长腿在线观看网站 | 国产又色 | 欧美最猛黑人xxxx黑人猛交黄 | 国产小视频在线播放 | 户外露出精品视频国产 | 亚洲精品乱码久久久久久蜜桃图片 | 美女被猛男躁免费视频网站 | 香蕉爱爱视频 | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 国产亚洲精品线观看77 |