模型壓縮95%,MIT韓松等人提出新型Lite Transformer

2020-12-24 澎湃新聞

選自arXiv

作者:Zhanghao Wu等

機器之心編譯

參與:小舟、魔王

Transformer 的高性能依賴於極高的算力,這讓移動端 NLP 嚴重受限。在不久之前的 ICLR 2020 論文中,MIT 與上海交大的研究人員提出了一種高效的移動端 NLP 架構 Lite Transformer,向在邊緣設備上部署移動級 NLP 應用邁進了一大步。

雖然推出還不到 3 年,Transformer 已成為自然語言處理(NLP)領域裡不可或缺的一環。然而這樣流行的算法卻需要極高的算力才能實現足夠的性能,這對於受到算力和電池嚴格限制的移動端來說有些力不從心。

在 MIT 最近的研究《Lite Transformer with Long-Short Range Attention》中,MIT 與上海交大的研究人員提出了一種高效的移動端 NLP 架構 Lite Transformer,向在邊緣設備上部署移動級 NLP 應用邁進了一大步。該論文已被人工智慧頂會 ICLR 2020 收錄。

該研究是由 MIT 電氣工程和計算機科學系助理教授韓松領導的。韓松的研究廣泛涉足深度學習和計算機體系結構,他提出的 Deep Compression 模型壓縮技術曾獲得 ICLR2016 最佳論文,論文 ESE 稀疏神經網絡推理引擎 2017 年曾獲得晶片領域頂級會議——FPGA 最佳論文獎,引領了世界深度學習加速研究,對業界影響深遠。

論文地址:https://arxiv.org/abs/2004.11886v1

GitHub 地址:https://github.com/mit-han-lab/lite-transformer

Transformer 在自然語言處理任務(如機器翻譯、問答)中應用廣泛,但它需要大量計算去實現高性能,而這不適合受限於硬體資源和電池嚴格限制的移動應用。

這項研究提出了一種高效的移動端 NLP 架構——Lite Transformer,它有助於在邊緣設備上部署移動 NLP 應用。其核心是長短距離注意力(Long-Short Range Attention,LSRA),其中一組注意力頭(通過卷積)負責局部上下文建模,而另一組則(依靠注意力)執行長距離關係建模。

這樣的專門化配置使得模型在三個語言任務上都比原版 transformer 有所提升,這三個任務分別是機器翻譯、文本摘要和語言建模。

在資源有限的情況下(500M/100M MACs),Lite Transformer 在 WMT』14 英法數據集上的 BLEU 值比分別比 transformer 高 1.2/1.7。Lite Transformer 比 transformer base 模型的計算量減少了 60%,而 BLEU 分數卻只降低了 0.3。結合剪枝和量化技術,研究者進一步將 Lite Transformer 模型的大小壓縮到原來的 5%。

對於語言建模任務,在大約 500M MACs 上,Lite Transformer 比 transformer 的困惑度低 1.8。

值得注意的是,對於移動 NLP 設置,Lite Transformer 的 BLEU 值比基於 AutoML 的 高 0.5,而且它不需要使用成本高昂的架構搜索。

從 Lite Transformer 與 Evolved Transformer、原版 transformer 的比較結果中可以看出,Lite Transformer 的性能更佳,搜索成本相比 Evolved Transformer 大大減少。

那麼,Lite Transformer 為何能夠實現高性能和低成本呢?接下來我們來了解其核心思想。

長短距離注意力(LSRA)

NLP 領域的研究人員試圖理解被注意力捕捉到的上下文。Kovaleva 等人 (2019) 和 Clark 等人 (2020) 對 BERT 不同層的注意力權重進行了可視化。

如下圖 3b 所示,權重 w 表示源句單詞與目標句單詞之間的關係(自注意力也是如此)。隨著權重 w_ij 的增加(顏色加深),源句中的第 i 個詞更加注意目標句中的第 j 個詞。注意力圖通常有很強的模式化特徵:稀疏和對角線。它們代表了一些特定單詞之間的關係:稀疏表示長距離信息間的關係,對角線表示近距離信息間的關係。研究者將前者稱為「全局」關係,將後者稱為「局部」關係。

圖 3:Lite Transformer 架構 (a) 和注意力權重的可視化。傳統的注意力 (b) 過於強調局部關係建模(參見對角線結構)。該研究使用卷積層專門處理局部特徵提取工作,以高效建模局部信息,從而使注意力分支可以專門進行全局特徵提取 (c)。

在翻譯任務中,注意力模塊必須捕獲全局和局部上下文,這需要很大的容量。與專門化的設計相比,這並非最佳選擇。以硬體設計為例,CPU 等通用硬體的效率比 FPGA 等專用硬體低。研究者認為應該分別捕捉全局和局部上下文。模型容量較大時,可以容忍冗餘,甚至可以提供更好的性能。但是在移動應用上,由於計算和功率的限制,模型應該更加高效。因此,更需要專門化的上下文捕獲。

為了解決該問題,該研究提出一個更專門化的架構,即長短距離注意力(LSRA),而不是使用處理 「一般」 信息的模塊。該架構分別捕獲局部和全局上下文。

如圖 3a 所示,LSRA 模塊遵循兩分支設計。左側注意力分支負責捕獲全局上下文,右側卷積分支則建模局部上下文。研究者沒有將整個輸入饋送到兩個分支,而是將其沿通道維度分為兩部分,然後由後面的 FFN 層進行混合。這種做法將整體計算量減少了 50%。

左側分支是正常的注意力模塊(Vaswani et al. (2017)),不過通道維度減少了一半。至於處理局部關係的右分支,一個自然的想法是對序列應用卷積。使用滑動窗口,模塊可以輕鬆地覆蓋對角線組。為了進一步減少計算量,研究者將普通卷積替換為輕量級的版本,該版本由線性層和深度卷積組成。通過這種方式,研究者將注意力模塊和卷積模塊並排放置,引導它們對句子進行全局和局部的不同角度處理,從而使架構從這種專門化設置中受益,並實現更高的效率。

實驗設置

數據集和評估

研究者在機器翻譯、文本摘要和語言建模三個任務上進行了實驗和評估。

具體而言,機器翻譯任務使用了三個基準數據集:IWSLT』14 德語 - 英語 (De-En)、WMT 英語 - 德語 (En-De)、WMT 英語 - 法語(En-Fr)。

文本摘要任務使用的是 CNN-DailyMail 數據集。

語言建模任務則在 WIKITEXT-103 數據集上進行。

架構

模型架構是基於序列到序列學習的編碼器 - 解碼器。在機器翻譯任務中,針對 WMT 數據集,基線模型基於 Vaswani 等人提出的模型。對於 IWSLT 數據集,基線模型遵循 Wu 等人的設置。對於文本摘要任務,研究者採用了與 WMT 相同的模型。至於語言建模任務,模型與 Baevski & Auli (2019) 一致,但模型尺寸較小。

該研究提出的架構首先將 transformer base 模型中的 bottleneck 拉平,然後用 LSRA 替換自注意力。更具體地說,是使用兩個專門的模塊,一個注意力分支和一個卷積分支。

實驗結果

機器翻譯

表 1 展示了 Lite Transformer 在 IWSLT』14 De-En 數據集上的定量結果,並與 transformer 基線方法和 LightConv 做了對比。在大約 100M Mult-Adds 時,Lite Transformer 模型的 BLEU 值比 transformer 高出 1.6。

表 1:IWSLT』14 De-En 上的結果。

表 2 中的定量結果表明,在 100M Mult-Adds 設置下,Lite Transformer 在 WMT En-De 數據集和 WMT En-Fr 數據集上的 BLEU 值分別比 Transformer 高出 1.2 和 1.7,在 300M Mult-Adds 設置下,也有 0.5 和 1.5 分的提升。

表 2:在 WMT』14 En-De 和 WMT』14 En-Fr 上的結果。

研究者還提供了模型在 WMT En-Fr 上的權衡曲線,如圖 4a 所示,Lite Transformer 一直優於原版 transformer。

圖 4:在 WMT En-Fr 數據集上的機器翻譯權衡曲線,以及在 WIKITEXT-103 數據集上的語言建模權衡曲線。兩個曲線都說明了在移動設置下,Lite Transformer 比 transformer 性能更佳(藍色區域)。

與自動化設計模型的對比

與基於 AutoML 的 Evolved Transformer(ET)相比,Lite Transformer 在移動設置中也有明顯的改進。此外,在 100M 和 300M 的 Mult-Adds 下,Lite Transformer 的 BLEU 值分別比 ET 高 0.5 和 0.2,詳見表 3。

表 3:不同 NMT 模型的性能和訓練成本。

文本摘要

表 4:在 CNN-DailyMail 數據集上的文本摘要結果。

表 5:在 WIKITEXT-103 數據集上的語言建模結果。

原標題:《模型壓縮95%,MIT韓松等人提出新型Lite Transformer》

閱讀原文

相關焦點

  • 模型壓縮25倍,MIT 韓松組提出高效適配不同硬體的HAT模型
    在同樣的精度下,相比於基線 Transformer, HAT 可以獲得 3 倍加速,3.7 倍模型壓縮;相比於 Evolved Transformer,HAT 有 2.7 倍的加速和 3.6 倍的模型壓縮,並且將搜索開銷降到了 1.2 萬分之一。
  • 學者故事:從深鑑科技創始人到MIT教授,韓松帶你探尋深度壓縮模型世界的奧妙
    他的研究也廣泛涉足深度學習和計算機體系結構,他提出的 Deep Compression 模型壓縮技術曾獲得 ICLR'16 最佳論文,ESE 稀疏神經網絡推理引擎獲得 FPGA'17 最佳論文,對AI算法在移動端的高效部署影響深遠。他的研究成果在 Xilinx、NVIDIA、Facebook、Samsung 得到廣泛應用。
  • Transformer 壓縮方法 Lite Transformer
    2020 年 4 月 MIT 和上海交大提出了 Lite Transformer,資源受限的情況下 Lite Transformer 在多個 NLP 任務上均取得比 Transformer 更好的結果。1.前言Transformer 是 Google 在 2017 年提出的模型,不熟悉的童鞋可以看下之前的文章Transformer 模型詳解。
  • 韓松、朱俊彥等人提出GAN壓縮法:算力消耗不到1/9,現已開源
    但近日,來自麻省理工學院(MIT)、Adobe、上海交通大學的研究者提出了一種用於壓縮條件 GAN 的通用方法。這一新技術在保持視覺保真度的同時,將 pix2pix,CycleGAN 和 GauGAN 等廣泛使用的條件 GAN 模型的計算量減少到 1/9~1/21。該方法適用於多種生成器架構、學習目標,配對或非配對設置。
  • Paddle Lite v2.3 發布,模型壓縮 75%,推理速度提升 20%
    簡化模型優化工具操作流程,支持一鍵操作,用戶上手更容易。 了解更多內容,查看PaddlePaddle官網。支持「無校準數據的訓練後量化」方法模型壓縮高達75%在手機等終端設備上部署深度學習模型,通常要兼顧推理速度和存儲空間。
  • 超越SOTA Transformer模型,哈佛、FAIR提出基於殘差能量模型的文本...
    機器之心報導機器之心編輯部在本文中,來自哈佛大學、Facebook AI 研究院的研究者提出了一種基於殘差能量模型的文本生成方法,效果超過 state-of-the-art 的 transformer 語言模型。
  • 深2.5至4倍,參數和計算量卻更少,DeLighT Transformer是怎麼做到的?
    然而算法優化一直在路上……Google 團隊提出的 NLP 經典之作 Transformer 由 Ashish Vaswani 等人在 2017 年發表的論文《Attention Is All You Need》 中提出。但由於模型參數量過大,該模型訓練困難、部署不方便,研究人員一直在探究如何優化 Transformer。
  • 谷歌研究院出品:高效 Transformer 模型最新綜述
    n 後的下表 g 代表全局記憶長度,n_c 代表卷積壓縮後的序列長度。  Ainslie 等人於 2020 年提出的 ETC 方法與 Beltagy 等人於 2020 年提出的 Longformer 也都使用了全局記憶。 在有限的記憶中,我們可以對輸入序列執行一種類似於池化的初始操作,從而壓縮輸入序列,這是一種在設計高效的自注意力模塊時用到的巧妙的技巧。  2)低秩方法:通過利用自注意力矩陣的低秩近似提升效率。
  • ...利用基於遷移學習策略的transformer 模型進行Heck反應預測
    該文研究者創新性地提出使用遷移學習(transfer learning)來突破這個困局,使小數據的高精度預測能夠成為現實。值得注意的是,該文所使用的遷移學習,是一類經典的機器學習優化手段。該方法通過將化學領域的基礎知識轉移到特定的小數據預測,可以有效地提高模型對於小數據集的知識理解和性能預測。
  • |利用基於遷移學習策略的transformer 模型進行Heck...
    近年來,化學家逐漸將目光投向這一模型的實際化學應用並取得重大的突破。但是受限於化學數據的規模較小,對於小數據反應transformer模型的預測效果並不顯著。該文研究者創新性地提出使用遷移學習(transfer learning)來突破這個困局,使小數據的高精度預測能夠成為現實。值得注意的是,該文所使用的遷移學習,是一類經典的機器學習優化手段。
  • [Google]BERT壓縮到7MB!最新基於最優子詞和共享投影的極限語言壓縮模型
    最近,Shen等人將量化應用於基於BERT的 transformer模型。知識蒸餾不同於其他討論的方法:較小的學生模型可能與較大的教師模型參數化方法不同,從而提供更多的建模自由空間。教學生模型去匹配更大模型的硬真值分布的軟輸出標籤分布對於許多任務都很有效,比如機器翻譯和語言建模。為了不局限於教師模型輸出,一些方法通過注意力轉移或通過特徵圖或中間模型輸出來進行知識蒸餾。
  • 這六大方法如何讓Transformer輕鬆應對高難度長文本序列?
    可以想像的到,稀疏 transformer 之所以起作用,部分原因是它學到的的注意力模式與實際學習的密集注意力模式並沒有什麼不同。在 Kevin Clark 等人發表的文章「What Does BERT Look At?
  • 只需一個損失函數、一個超參數即可壓縮BERT,MSRA提出模型壓縮新方法
    論文連結:https://arxiv.org/pdf/2002.02925.pdf這篇論文提出了一種新型模型壓縮方法,能夠通過逐步模塊替換(progressive module replacing)有效地壓縮 BERT。該方法首先將原版 BERT 分割成多個模塊,並構建更加緊湊的替代模塊;然後,用替代模塊隨機替換原始模塊,訓練替代模塊來模仿原始模塊的行為。
  • 模型壓縮一半,精度幾乎無損,TensorFlow半精度浮點工具包來啦
    有了它,就能在幾乎不損失模型精度的情況下,將模型壓縮至一半大小,還能改善CPU和硬體加速器延遲。這一套工具囊括混合量化,全整數量化和修剪。如何量化模型,盡可任君挑選。壓縮大小,不減精度雙精度是64位,單精度是32位,所謂的半精度浮點數就是使用2個字節(16位)來存儲。比起8位或16位整數,半精度浮點數具有動態範圍高的優點;而與單精度浮點數相比,它能節省一半的儲存空間和帶寬。
  • 帶你一文了解GPT-2模型(transformer語言模型可視化)
    希望本文使用的可視化語言會讓後文中基於transformer模型的解釋更為簡單,畢竟這些模型的內部操作會不斷演變。語言模型中的transformer正如Illustrated Transformer一文中所介紹的,transformer模型最初由編碼器(encoder)和解碼器(decoder)組成——兩個都是所謂的transformer模塊的堆棧。該架構之所以合適是因為能夠處理機器翻譯,而機器翻譯是編碼-解碼架構在過去取得成功的一處問題。
  • 騰訊聯合港中文提出新型神經網絡壓縮方法
    InfoQ 將通過選題的方式逐一介紹各大公司在模型壓縮上的技術創新和落地實踐。在行動裝置和許多在線應用中,實時性能好的輕量級模型是一大重要需求,而為了保證神經網絡的實時性,很多時候都有必要對模型進行壓縮;但與此同時,幾乎所有神經網絡模型壓縮算法都會在壓縮過程中減損原始模型的準確度。因此,在進行模型壓縮時,需要在實時性和準確性之間找到一個合適的平衡。
  • 微軟亞洲研究院的研究員們提出了一種模型壓縮的新思路
    打開APP 微軟亞洲研究院的研究員們提出了一種模型壓縮的新思路 微軟研究院AI頭條 發表於 2020-11-24 09:48:17
  • 視覺Transformer最新綜述
    總之,它可以被視為一種不同於 CNN 和遞歸神經網絡 RNN 的新型特徵選擇器。與只關注局部特徵的 CNN 相比,transformer 能夠捕捉到長距離特徵,這意味著 transformer 可以很容易地獲得全局信息。與 RNN 的隱態計算順序相比較,Transformer 的自注意層和全連接層的輸出可並行計算,且速度快。
  • Transformer的七十二變
    本文分為兩部分,第一部分介紹和比較的三個模型(Star-Transformer 和 BP-Transformer)試圖在時間複雜度和空間複雜度上優化 Transformer。第二部分介紹和比較的兩個模型(Transformer-XL 和 Compressivetransformer)試圖解決上面提出的第二個問題。
  • 剪枝需有的放矢,快手&羅切斯特大學提出基於能耗建模的模型壓縮
    最近,快手 Y-Tech 西雅圖 AI lab 聯合羅切斯特大學等研究者提出了一種基於能耗建模的壓縮方法,他們一脈相承的兩篇論文分別被 ICLR 2019 和 CVPR 2019 接收。在這篇文章中,我們將介紹這種新型模型壓縮的核心思想及主要做法,神經網絡壓縮也許該走向有目標的前進之路了。