當前位置:
首頁 > 新聞 > 阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

ICLR 2018 將於 4 月 30 日在加拿大溫哥華開幕,之前機器之心對此屆大會的三篇獲獎論文分別進行了介紹。在這篇文章中,我們介紹了阿里巴巴的一篇 ICLR 2018論文。

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

論文原文地址:https://arxiv.org/abs/1802.00150

引言

循環神經網路 (RNN) 在語言模型、機器翻譯、語音識別、生成圖像標題等很多應用上都取得了非常好的效果。然而,這些模型常常是建立在高維的嵌入 (embedding) 或者多層的循環單元中,包含了大量的參數,使得無法在資源有限的移動端部署。此外,RNN 的計算依賴於與當前的隱狀態,只能被順序執行,因此在執行推斷時會造成比較大的延時。在擁有大規模並發請求的伺服器端,比如語音識別或者機器翻譯等應用,為了滿足線上苛刻的響應時間要求,需要部署大量的機器。在這項工作中,我們考慮通過量化參數到二值 {-1,+1} 上來解決上述問題。考慮將模型的權重量化成 1 比特,相對於全精度,直接帶來 32 倍的內存壓縮。而對 1 比特參數的矩陣乘法,如果不考慮具體實現,相對於全精度乘法,理論上也會帶來 32 倍的加速。然而,如果把模型的權重和激活都量化成 1 比特,在循環神經網路中,會帶來很大的精度損失。因此,很自然的折中方案就是採用多比特量化(如圖 1 所示)。

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Figure 1 多比特量化乘法示意

現有的多比特量化方法

1) 均勻 (Uniform) 量化採用下列的 k 比特量化方案:

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

這樣基於規則的量化方法非常容易實現, 但是對於非均勻數據的量化效果很差,而非均勻分布數據在深度神經網路卻更為常見。

2) 均衡 (Balanced) 量化通過數據預處理來解決均勻量化的弊端。該方法首先產生 2^k 個間隔,每個間隔大致包含等量的數據。然後該方法將每個間隔的中心線性映射到對應的量化編碼中。儘管看起來更有效,但是該方法還是基於規則,而這種規則並不能保證對所有的數據分布都起效果。

3) 貪婪法 (Greedy) 近似通過去解下面的帶離散約束的分解問題來實現量化:

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

對於 k=1, 上述問題存在閉式解。貪婪近似通過逐步量化餘量 (residue) 並將其推廣到 k 比特 (k>1) 的情形:

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

每個子步都有最優解

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

貪婪法非常高效,儘管不能得到一個高精度的解,但是將量化問題建模成一個優化問題的形式還是非常具有啟發性的。

4) 改進版 (Refined) 貪婪近似進一步拓展貪婪法以降低量化誤差。在上述第 j 步最小化問題中,該方法加上額外一步最小二乘來修正係數

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

在原文量化卷積神經網路權重的實驗中,修正版貪婪法被證實比原始的貪婪法更有效。然而,正如我們下面要講的,修正版的貪婪法在量化精度方面仍然不能令人滿意。

除了上述通用的多比特量化方案以外,還有文章還提出了三值量化,與 1 比特的二值量化相比,三值量化多了可行狀態 0。三值量化通過解如下問題

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

來實現編碼。

實驗結果

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Table 1 不同方法近似 PTB 數據集上訓練好的 LSTM 的權重。其中 FP 表示全精度

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Table 2 不同方法近似 PTB 數據集上訓練好的 GRU 的權重

我們在語言模型上進行量化實驗,分別測試了 LSTM 和 GRU 兩種架構。因為實驗是去預測下一個單詞,其效果採用單字複雜度來衡量 (perplexity per word, 簡寫成 PPW)。為了檢驗所有的演算法量化精度,我們首先對訓練好的全精度權重做近似 (沒有量化激活或者重訓練),結果如表 1 和表 2 所示。注意到均勻量化和均衡量化是基於規則的,其目標並不在於最小化誤差,因此這兩種方法會得到差很多的結果。我們還在其他數據集上重複了上述實驗,對於兩種循環神經網路結構 LSTM 和 GRU,結果都與此處相似。

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Table 3 PTB 數據集上多比特量化 LSTM 和 GRU 的測試 PPW,其中均勻量化和均衡量化為現有論文中的結果,改進版貪婪法為我們自己實現的結果。

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Table 4 WikiText-2 數據集上多比特量化 LSTM 和 GRU 的測試 PPW。

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Table 5 Text-8 數據集上多比特量化 LSTM 和 GRU 的測試 PPW

我們還進行了權重和激活同時量化的實驗,結果如表 3、4 和 5 所示。從中可以看到,本文提出的交替方向法明顯好過現有其他量化方法。即使與表現最好的改進版貪婪法相比,交替方向法實現類似的精度大概可以少用一個比特。

我們還在 CPU 中實現了矩陣向量的二值乘法,其結果如表 6 所示。

阿里巴巴論文:基於交替方向法的循環神經網路多比特量化

Table 6 CPU 中二值乘法與全精度乘法的時間比較

小結

在這個工作中,我們主要考慮神經網路的多比特量化壓縮加速問題。我們發現,如果編碼的實係數固定,那麼離散的二值編碼 {-1,+1} 可以通過二叉搜索樹高效的求解。基於這個發現,我們相應地提出交替方向法。我們將該方法用於量化語言模型中的 LSTM 和 GRU 結構,與全精度模型相比,通過 2 比特量化,我們可以減少約 16 倍的內存消耗,以及在 CPU 上實現約 6 倍的真實推斷加速,而只產生少量的準確率損失。通過 3 比特量化,該方法在準確率上可以實現幾乎沒有損失甚至超過原始模型,並減少約 10.5 倍的內存消耗,以及在 CPU 上實現約 3 倍的真實推斷加速。這些結果都遠遠優於現有量化方法的結果。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計
歡迎報名參加TalkingData全球廣告反欺詐演算法大賽

TAG:機器之心 |