天天看點

解讀業界5種主流的深度網絡模型

摘要:介紹目前業界主要的模型優化的方法,然後對模型量化進行重點闡述,介紹量化的基本原理,方法分類,未來發展,以及對前沿論文進行解讀。

本文分享自華為雲社群《模型量化綜述及應用》,作者:Alan_wen。

前言

随着深度學習的不斷發展,神經網絡廣泛應用于不同的領域,取得遠超以往的性能,但是深度網絡模型的參數也越來越大,嚴重制約着深度網絡在業界的應用,是以本文即将介紹目前業界主要的模型優化的方法,然後對模型量化進行重點闡述,介紹量化的基本原理,方法分類,未來發展,以及對前沿論文進行解讀。

1.模型優化的方法

1.1設計高效的網絡結構

設計緊湊的網絡結構可以實作模型的優化,比如提出的MobileNet系列網絡,其中簡潔的Depth-Wise Convolution和Point-Wise Convolution。但是目前手工設計的神經網絡已逐漸被AutoML和網絡結構搜尋取代,通過網絡結構搜尋可以得到高精度而結構又緊湊的網絡。

1.2模型剪枝

使用手工設計的網絡結構一般可以獲得較高的精度,但是巨大的網絡參數很難直接應用到工業界的産品中,一般會對模型進行剪枝,模型剪枝分為結構化剪枝和非結構化剪枝,非結構化剪枝一般很難實作底層加速,而模型剪枝也逐漸被網絡結構搜尋取代。

1.3知識蒸餾

除了剪枝可以将一個大模型縮小為小模型外,知識蒸餾同樣可以實作該功能。知識蒸餾将原先大模型作為Teacher模型,而設計的小模型Student模型,通過soft-target引導Student模型訓練,實作Teacher模型的知識遷移。

1.4稀疏

稀疏主要是通過對網絡權重或者特征進行稀疏,可以通過正則化訓練的方式實作稀疏化,而網絡權重稀疏後一般通過與模型剪枝的方式結合,對不活躍的權重進行裁剪,以壓縮網絡結構。

1.5模型量化

模型量化是目前工業界最有效的模型優化方法之一,如FP32-->INT8可以實作4倍的參數壓縮,在壓縮記憶體的同時可以實作更快速的計算,進行極端的二值量化理論上甚至可以實作32倍的壓縮,但是過度的壓縮會導緻模型的精度快速下降。下文将對模型量化進行詳細介紹。

2.模型量化綜述

2.1什麼是量化?

在資訊系統中量化是将信号的連續取值近似為有限多個離散值的過程 (可以認為是一種資訊壓縮的方法) 。

在計算機系統中,量化是指定點與浮點等資料之間建立一種資料映射關系,使得以較小的精度損失代價獲得了較好的收益,可簡單了解為用“低比特”數字表示FP32等數值。

在開始介紹量化的原理之前先問三個問題:

為什麼量化有用?

  • 因為卷積神經網絡對噪聲不敏感,量化相當于對原輸入加入了大量的噪聲。

為什麼用量化?

  • 模型太大,比如VGG19大于500MB的參數量,存儲壓力大;
  • 每個層的weights範圍基本都是确定的,且波動不大,适合量化壓縮;
  • 此外,量化既減少訪存又可減少計算量

為什麼不直接訓練低精度的模型?

  • 因為訓練需要反向傳播和梯度下降,int8為離散數值,舉個例子就是我們的學習率一般都是零點幾零點幾的,int8不比對無法反向傳播更新。

2.2量化原理

量化是指将信号的連續取值近似為有限多個離散值的過程。可了解成一種資訊壓縮的方法。在計算機系統上考慮這個概念,一般用“低比特”來表示。

模型量化為定點與浮點等資料之間建立一種資料映射關系,使得以較小的精度損失代價獲得了較好的收益。詳細如下:

R 表示真實的浮點值,Q 表示量化後的定點值,Z 表示 0 浮點值對應的量化定點值,S 則為定點量化後可表示的最小刻度。 由浮點到定點的量化公式如下:

浮點到定點的量化:

解讀業界5種主流的深度網絡模型

2.3量化基礎機率

均勻與非均勻量化:

解讀業界5種主流的深度網絡模型

如上圖所示,量化可分為均勻量化和非均勻量化,上圖左圖的均勻量化即為公式(1)方式的線性量化。而網絡權重或者特征分布不一定是均勻的,簡單的線性量化可能導緻原網絡明顯的資訊丢失,是以還可以進行非均勻量化,如使用Kmeans對網絡權重進行聚類,得到不同的聚類中心,然後将聚類中心作為同一簇權重的量化代表。

對稱與非對稱量化:

解讀業界5種主流的深度網絡模型

在理想的情況下,如上圖左圖所示,特征分布比較均勻,是以可以對模型進行對稱量化,即以0點值左右兩邊絕對值相等進行量化。但是很多情況下模型權重或特征是分布不均勻的,不一定在0點值兩邊對稱,如上圖右圖所示,直接進行對稱量化會某一側的特征被嚴重壓縮,大量丢失網絡資訊,是以可為了盡可能以的保持原網絡表示的資訊,可進行非對稱量化。

動态與靜态量化:

有不同的校準方法來确定上圖[α, β]的剪切範圍。量化方法的另一個重要區分因素是裁剪範圍的确定。可以靜态地計算權重的範圍,因為在大多數情況下,參數在推斷期間是固定的。然而,每個輸入樣本的激活映射是不同的。是以,有兩種量化激活的方法:動态量化和靜态量化。

在動态量化中,在運作時期間為每個激活映射動态計算此範圍。這種方法需要實時計算信号統計資訊(最小值、最大值、百分位數等),這些統計資訊可能具有非常高的開銷。然而,動态量化通常能獲得更高的精度,因為信号範圍是精确計算每個輸入的。

另一種量化方法是靜态量化,其中剪裁範圍是預先計算的,在推理期間是靜态的。這種方法在推理過程不會增加任何計算開銷,但與動态量化相比,它通常會導緻更低的精度。預計算的一種流行方法是運作一系列校準輸入以計算典型激活範圍。

總的來說,動态量化動态計算每個激活的裁切範圍,通常可實作最高精度。然而,動态計算裁切的範圍非常消耗計算,是以,業界最常使用靜态量化,其中所有輸入的裁切範圍都是固定的。

不同量化粒度:

解讀業界5種主流的深度網絡模型

在計算機視覺任務中,每層的激活輸入有許多不同的卷積濾波器卷積,如圖上所示。這些卷積濾波器的每個都可以具有不同的值範圍。是以,量化方法的一個差別是如何為權重計算裁切範圍[α,β]的粒度。可将它們分類為層量化,分組量化和通道量化:

a)層量化:在這種方法中,裁切範圍是通過考慮層卷積濾波器中的所有權重來确定的,如上圖的第三列所示。通過該層中整個參數的統計資訊(如最小、最大和百分位數等),然後對整層卷積濾波器使用相同的裁切範圍。雖然這種方法實作非常簡單,但它通常會導緻次優解,因為每個卷積濾波器的範圍可能會有很大的變化,會使某些參數範圍相對較窄的卷積核失去量化分辨率。

b)分組量化:可以将層内的多個不同通道分組,以計算裁切範圍(激活或卷積核)。這對于單個卷積/激活中參數分布變化很大的情況可能會有所幫助,分組量化可以在量化分辨率和計算開銷之間建立一個很好的妥協。

c)通道量化:裁切範圍的一個通常選擇是為每個卷積濾波器使用固定值,獨立于其他通道,如上圖最後一列所示。也就是說,每個通道都被配置設定了一個專用的縮放因子。這確定了更好的量化分辨率,并通常導緻更高的精度,通道量化是目前用于量化卷積核的标準方法。

随機量化

在推理過程中,量化方案通常是确定性的。然而,這并不是唯一的可能性,一些工作已經探索了随機量化用于量化感覺訓練以及降低精度訓練。高層次的直覺是,與确定性量化相比,随機量化可能允許NN進行更多探索。人們通常認為小的權重更新可能不會導緻任何權重變化,因為四舍五入操作可能總是傳回相同的權重。然而,啟用随機舍入可能會為NN提供轉變的機會,進而更新其參數。下面公式為在Int量化和二值量化的随機舍入方式。

解讀業界5種主流的深度網絡模型

微調的方法

解讀業界5種主流的深度網絡模型

量化後,通常需要調整神經網絡(NN)中的參數。這可以通過retraining模型來執行,該過程稱為量化感覺訓練(QAT),也可以在不retraining的情況下完成,該過程通常稱為訓練後量化(PTQ)。上圖顯示了這兩種方法之間的示意性比較(左圖為量化感覺訓練,右圖為訓練後量化),并在下文進一步讨論。

  • 量化感覺訓練(僞量化)

給定一個訓練好的模型,量化可能會對訓練好的模型參數引入擾動,這可能會将模型偏離以浮點精度訓練時收斂到的點。可以通過使用量化參數重新訓練NN模型來解決這個問題,以便模型能夠收斂到具有更好損失的點。一種流行的方法是使用量化感覺訓練(QAT),其中通常的正向和反向傳遞是在浮點中對量化模型執行的,但模型參數在每次梯度更新後都會量化。特别是,在以浮點精度執行權重更新後,執行此投影非常重要。使用浮點執行向後傳遞非常重要,因為在量化精度中累積梯度可能會導緻零梯度或具有高誤差的梯度,特别是在低精度中。

反向傳播中的一個重要微妙之處是如何處理不可微量化算子(公式1)。在沒有任何近似的情況下,這個運算符的梯度幾乎在任何地方都是零,因為在公式中的舍入操作是分段平面運算符。解決這個問題的一種流行方法是通過所謂的直通估計器(STE)近似該運算符的梯度。STE基本上忽略了舍入操作,并使用辨別函數近似它,如下圖所示。

解讀業界5種主流的深度網絡模型

盡管STE是粗略近似的,但QAT已被證明有效。然而,QAT的主要缺點是重新訓練NN模型的計算成本。這種重新訓練可能需要執行幾百個epoch來恢複精度,特别是對于低位精度量化。如果量化模型要在很長一段時間内部署,如果效率和準确性特别重要,那麼在重新訓練方面的投資可能是值得的。然而,情況并不總是這樣,因為有些模型的壽命相對較短。

  • 訓練後量化

替代昂貴的QAT方法是訓練後量化(PTQ)執行量化和權重調整,不進行任何微調。是以,PTQ的開銷非常低,而且往往可以忽略不計。與QAT不同,QAT需要足夠數量的訓練資料進行再教育訓練,PTQ還有一個額外的優勢,即它可以應用于資料有限或未标記的情況。然而,與QAT相比,這通常是以更低的精度為代價的,尤其是對于低精度量化。

  • Zero Shot(即data-free)
  • 如目前所讨論的,為了在量化後實作最小的精度下降,我們需要通路整個或者部分訓練資料。首先,我們需要知道激活的範圍,以便我們可以剪裁值并确定适當的縮放因子(文獻中通常稱為校準)。其次,量化模型通常需要微調來調整模型參數并恢複精度下降。然而,在許多情況下,在量化過程中,不可能通路原始訓練資料。這是因為訓練資料集要麼太大,無法分發,要麼是獨有的(例如Google的JFT-300M),要麼是由于安全或隐私問題(例如醫療資料)而敏感的。目前提出了幾種不同的方法來解決這一挑戰,我們稱之為Zero Shot量化(ZSQ)。根據高通的一個工作的啟示[2],可以描述兩個不同級别的Zero Shot量化:

第1級:無資料,無微調(ZSQ+PTQ)。

第2級:無資料,但需要微調(ZSQ +QAT).

級别1允許更快、更容易的量化,而無需任何微調。微調通常很耗時,而且通常需要額外的超參數搜尋。級别1可通過權重均衡或者BatchNorm的統計參數實作校正,無需微調。

然而,級别2通常會導緻更高的精度,因為微調有助于量化模型恢複精度下降,特别是在超低位精度設定中。級别2微調的輸入資料主要通過GAN生成,可根據量化前的模型,使用GAN生成近似的分布資料,而無需再通路外部資料。

Zero Shot(又名date-free)量化執行整個量化,而不通路訓練/驗證資料。這對于希望加快客戶工作負載部署而無需通路其資料集的提供商來說尤其重要。此外,這對于安全或隐私問題可能限制對訓練資料的通路的情況非常重要。

2.4量化進階概念

  • FP32,僞量化和定點量化
解讀業界5種主流的深度網絡模型

部署量化NN模型有兩種常見的方法,模拟量化(又名僞量化)和僅整數量化(又名定點量化)。在模拟量化中,量化的模型參數存儲在低精度中,但操作(如矩陣乘法和卷積)是用浮點算法執行的。是以,量化參數需要在浮點運算之前反量化,如圖上圖(中間)所示。是以,人們不能完全受益于快速高效的低精度邏輯與模拟量化。然而,在純整數量化中,所有操作都使用低精度整數算術執行,如上圖(右)所示。這允許整個推理可以用有效的整數算法執行,而不需要對任何參數或激活進行任何浮點反量化。

一般來說,使用浮點算法在全精度下執行推理可能有助于最終量化精度,但這是以無法從低精度邏輯中受益為代價的。低精度邏輯在延遲、功耗和區域效率方面與全精度邏輯相比具有多重優勢。與模拟/假量化相比,僅整數量化和二進量化更可取。這是因為僅整數使用較低精度的邏輯進行算術,而模拟量化使用浮點邏輯來執行運算。然而,這并不意味着僞量化永遠沒有用處。事實上,僞量化方法對帶寬限制而不是計算限制的問題是有益的,例如在推薦系統中,對于這些任務,瓶頸是記憶體占用空間和從記憶體加載參數的成本。是以,在這些情況下,執行僞量化是可以接受的。

  • 混合精度量化
解讀業界5種主流的深度網絡模型

很容易看到,随着我們使用較低精度量化,硬體性能得到了提高。然而,将模型均勻量化到超低精度可能會導緻精度顯著下降。可以通過混合精度量化來解決這個問題。在這種方法中,每個層都以不同的位精度量化,如上所示。這種方法的一個挑戰是,選擇此位設定的搜尋空間在層數上是指數級的。

目前提出了不同的方法來解決這一巨大的搜尋空間。

a)為每個層選擇這種混合精度本質上是一個搜尋問題,并且已經提出了許多不同的搜尋方法。

b)另一類混合精度方法使用周期函數正則化來訓練混合精度模型,通過自動區分不同層及其在精度方面的變化重要性,同時學習它們各自的位寬。

c)HAWQ 引入了一種基于模型二階靈敏度的自動方法來查找混合精度設定。

混合精度量化已被證明是一種有效的硬體高效方法,用于不同神經網絡模型的低精度量化。在這種方法中,NN的層被分組為對量化敏感/不敏感,每個層使用高/低位。是以,人們可以最大限度地減少精度下降,并仍然受益于減少記憶體占用和低精度量化更快的加速。

  • 硬體感覺量化

量化的目标之一是提高推理時延。然而,并非所有硬體在量化某個層/操作後都提供相同的速度。事實上,量化的好處取決于硬體,片上記憶體、帶寬和緩存層次結構等許多因素都會影響量化速度。

考慮這一事實對于通過硬體感覺量化實作最佳效益非常重要。是以需要模拟硬體延遲,在硬體中部署量化操作時,需測量不同量化位精度的每層的實際部署延遲。

  • 蒸餾輔助量化

量化中一個有趣的工作路線是結合模型蒸餾以提高量化精度。模型蒸餾是一種使用精度較高的大模型作為教師,幫助訓練緊湊型學生模型的方法。在學生模型的訓練過程中,模型蒸餾提出利用教師産生的軟機率,而不是僅僅使用ground-true類标簽,該軟機率可能包含更多輸入資訊。也就是說,總體損失函數包括學生損失和蒸餾損失。

  • 極緻量化

二值化是最極端的量化方法,其中量化值被限制為1位表示,進而将記憶體需求大幅降低32×。除了記憶體優勢外,二進制(1位)和三元(2位)操作通常可以使用位算術有效計算,并可以在更高精度(如FP32和INT8)上實作顯著的加速。然而,簡單的二值化方法将導緻精度顯著下降。是以,有大量工作提出了不同的解決方案來解決這一問題,主要分為以下三類:

  1. 量化誤差最小化(使用多個二值矩陣組合模拟近似,或者使用更寬網絡)
  2. 改進損失函數(例如加入蒸餾損失)
  3. 改進訓練方法(如反向傳播時用更光滑的函數取代sign)

極低位精度量化是一條非常有前途的研究方向。然而,與基線相比,現有方法通常會導緻高精度下降,除非執行非常廣泛的調諧和超參數搜尋。但這種精度下降對于不那麼關鍵的應用可能是可以接受的。

2.5未來量化方向

在這裡,我們簡要讨論了未來量化研究的幾個挑戰和機遇。這分為量化工具、硬體和NN架構的共同設計、聯合多種壓縮方法和量化訓練。

  • 量化工具:

    使用目前的方法,将不同的NN模型量化并部署到INT8是很簡單的,而不會明顯失去準确性。有幾個軟體包可用于部署INT8量化模型(例如,Nvidia的TensorRT、TVM等),每個軟體包都有良好的文檔。然而,用于低位精度量化的軟體并不廣泛可用,有時也不存在。例如,Nvidia的TensorRT目前不支援INT8以外的量化。此外,對INT4量化的支援直到最近才被添加到TVM中。使用INT4/INT8進行低精度和混合精度量化在實踐中有效和必要的,是以,開發用于低精度量化的高效軟體API将産生重要影響。

  • 硬體和NN架構聯合設計:

    如上所述,低精度量化的經典工作與機器學習的最新工作之間的一個重要差別是,神經網絡參數可能具有非常不同的量化值,但仍然可以很好地泛化近似。例如,通過量化感覺訓練,我們可能會收斂到一個不同的解,遠離單一精度參數的原始解,但仍然獲得良好的準确率。人們可以利用這種自由度,也可以在NN架構被量化時調整它。例如,改變NN架構的寬度可以減少/消除量化後的泛化間隙。未來的工作之一是在模型被量化時聯合調整其他體系結構參數,如深度或單個核心。未來的另一項工作是将這種共同設計擴充到硬體體系結構。

  • 聯合多種壓縮方法:

    如上所述,量化隻是有效部署NN的方法之一。其他方法包括高效的NN架構設計、硬體和NN架構的協同設計、剪枝和知識蒸餾、網絡架構搜尋等。量化可以與這些其他方法結合使用。然而,目前很少有工作探索這些方法的最佳組合。例如,NAS聯合量化、剪枝和量化可以一起應用于模型,以減少其開銷,了解結構化/非結構化剪枝和量化的最佳組合非常重要。同樣,未來的另一個方向是研究這些方法與上述其他方法之間的聯合。

  • 量化訓練:

    也許量化最重要的用途是以半精度加速NN訓練。這使得使用更快、更節能的低精度邏輯進行訓練。然而,要把這一點進一步推到INT8精确訓練是非常困難的。雖然在這一領域存在一些有趣的工作,但所提出的方法通常需要大量的超參數調整,或者它們隻适用于一些相對容易的學習任務的NN模型。基本的問題是,在INT8精度的情況下,訓練可能會變得不穩定和發散。解決這一挑戰可能會對多個應用程式産生很大影響,特别是對于前沿的訓練。

3.量化論文解讀

3.1Data-Free 量化

Data-Free Quantization Through Weight Equalization and Bias Correction[2]. (ICCV2019)

這是高通提出的一篇文章,提出Data-Free實作訓練後量化,文章中的主要創新點是提出了權重均衡和偏移糾正的方法。

如下圖(左)所示,同一層的卷積核值範圍分布極不均衡,而每通道量化又實作相對複雜和消耗額外的時間,是以提出對權重進行均衡化,如下圖(右)所示,經過均衡化後,整體值範圍分布相對均衡。

解讀業界5種主流的深度網絡模型

而權重均衡主要是利用了等價伸縮的原理,如公式

解讀業界5種主流的深度網絡模型

的等價,在卷積核全連接配接層中,對前一層權重的縮放可以通過縮放因子傳遞到下一層。

偏移糾正是因為在模型量化過程中資料會發生整體的偏移,是以通過計算偏移的誤差,然後對誤差進行抵消可實作更準确的量化效果。如下表所示,文章中提出的兩種方法在層量化的方式中可以實作與每通道量化接近的結果。

解讀業界5種主流的深度網絡模型

Post training 4-bit quantization of convolutional networks for rapid-deployment[3]. (NIPS2019)

該文章使用4bit精度實作了訓練後量化,提出了分析計算最佳剪輯範圍(ACIQ)和通道位寬設定。ACIQ提出以最小量化誤差為優化目标,通過優化的方式得到不同精度量化的最優裁斷值,同時還提出了在總bit精度固定的情況下,不同通道設定不同的精度進行量化,可以實作更加合适和準确的量化,但是不同通道設定不同的bit進行量化難以實作工業加速。下表展示了得到的實驗結果,在4bit量化下,模型下降2%左右的準确率。

解讀業界5種主流的深度網絡模型

Differentiable Soft Quantization: Bridging Full-Precision and Low-Bit Neural Networks[4].(ICCV2019)

對于低比特量化,如二量化可以有效地加速推理,同時降低深度神經網絡的記憶體消耗,這對于在資源有限的裝置(如嵌入式裝置)上部署模型至關重要。然而,由于低比特量化的離散性,現有的量化方法往往面臨訓練過程不穩定和性能嚴重下降的問題。為了解決這一問題,該文章提出了一種可微軟量化(DSQ)方法來彌補全精度網絡和低比特網絡之間的差距。DSQ可以在訓練過程中自動進化,逐漸逼近标準量化,如下圖所示。由于DSQ的可微性,在适當的限幅範圍内,DSQ可以在後向傳播中跟蹤精确的梯度,減少前向過程中的量化損失。

解讀業界5種主流的深度網絡模型
解讀業界5種主流的深度網絡模型

DSQ采用一系列雙曲正切函數逐漸逼近階梯函數進行低比特量化(如1比特情況下的符号函數),同時保持平滑性,便于梯度計算。該文章針對一個近似特征變量重新構造了DSQ函數,并相應地發展了一種進化訓練政策來逐漸學習微分量化函數。在訓練過程中,DSQ和标準量化之間的近似值可以由特征變量控制,特征變量和限幅值可以在網絡中自動确定。DSQ減少了由極低比特量化引起的偏差,進而使訓練中的前向和後向過程更加一緻和穩定。

下表可以看到該方法在較低比特量化的情況下,與FP32相比,基本沒有準确率退化。

解讀業界5種主流的深度網絡模型

Mixed Precision Quantization of ConvNets via Differentiable Neural Architecture Search[5].(ICLR2019)

解讀業界5種主流的深度網絡模型

如上圖所示,該論文提出了可微分NAS(DNAS),該NAS方法将候選操作以機率θ随機激活,而非直接的softmax進行權重,并且機率θ作為搜尋過程中可以優化的參數。由于DNAS前期初始化以相等的機率進行随機激活操作,而在訓練後期機率θ會出現明顯的差異化,是以DNAS在前期訓練時似DARTS,而後期似ENAS。

為了實作混合精度的量化,該論文在DNAS的基礎上,将不同bit量化作為不同的結構(如下圖所示),搜尋優化得到不同層不同的量化精度。

解讀業界5種主流的深度網絡模型

通過可微分搜尋得到混合精度量化,如下表所示,在Cifar10資料集上,可以做在10倍以上加速的條件下,量化後準确率還略高于FP32。

解讀業界5種主流的深度網絡模型

APQ: Joint Search for Network Architecture, Pruning and Quantization Policy[6]. (CVPR2020)

解讀業界5種主流的深度網絡模型

該論文提出了APQ,用于在資源受限硬體上高效的深度學習推理。與以前分别搜尋神經架構、剪枝政策和量化政策的方法不同,該論文以聯合的方式優化它們。為了應對它帶來的更大的設計空間,提出訓練一個量化感覺的精度預測器,以快速獲得量化模型的精度,并将其回報給搜尋引擎,以選擇最佳拟合。

然而,訓練這種量化感覺精度預測器需要收集大量量化的模型、精度配對,這涉及量化感覺微調,是以非常耗時。為了應對這一挑戰,該論文提出将知識從全精度(即fp32)精度預測器轉移到量化感覺(即int8)精度預測器,這大大提高了樣本效率。此外,收集fp32精度預測器的資料集隻需要通過從預先訓練的once-for-all[7]網絡中采樣來評估神經網絡,而不需要任何訓練成本,這是高效的。下圖為從全精度預測器遷移訓練量化感覺的準确率預測器的過程。

解讀業界5種主流的深度網絡模型

下表為在ImageNet資料集上的結果:

解讀業界5種主流的深度網絡模型

參考文獻:

  1. A Survey of Quantization Methods for Efficient Neural Network Inference.
  2. Data-Free Quantization Through Weight Equalization and Bias Correction, ICCV2019.
  3. Post training 4-bit quantization of convolutional networks for rapid-deployment, NIPS2019.
  4. Differentiable Soft Quantization: Bridging Full-Precision and Low-Bit Neural Networks, ICCV2019.
  5. Mixed Precision Quantization of ConvNets via Differentiable Neural Architecture Search, ICLR2019.
  6. APQ: Joint Search for Network Architecture, Pruning and Quantization Policy, CVPR2020.
  7. Once for all: Train one network and specialize it for efficient deployment,ICLR2020.
  8. Binary Neural Networks: A Survey, Pattern Recognition, 2020.
  9. Forward and Backward Information Retention for Accurate Binary Neural Networks, CVPR2020.

點選關注,第一時間了解華為雲新鮮技術~

繼續閱讀