高效Transformer層出不窮,谷歌團(tuán)隊(duì)綜述文章一網(wǎng)打盡
自 2017 年誕生以來,Transformer 模型在自然語言處理、計(jì)算機(jī)視覺等多個(gè)領(lǐng)域得到廣泛應(yīng)用,并出現(xiàn)了大量變體。近期涌現(xiàn)的大量 Transformer 變體朝著更高效的方向演化,谷歌研究者對(duì)這類高效 Transformer 架構(gòu)進(jìn)行了綜述。
Transformer 是現(xiàn)代深度學(xué)習(xí)領(lǐng)域一股令人敬畏的力量,它廣泛應(yīng)用于語言理解、圖像處理等多個(gè)領(lǐng)域,并產(chǎn)生了極大的影響。過去幾年,大量研究基于 Transformer 模型做出基礎(chǔ)性改進(jìn)。人們對(duì)此的巨大興趣也激發(fā)了對(duì)更高效 Transformer 變體的研究。
近期涌現(xiàn)了大量 Transformer 模型變體,研究者和從業(yè)者可能難以跟上創(chuàng)新的節(jié)奏。在該論文寫作時(shí)(2020 年 8 月),之前的半年出現(xiàn)了十多個(gè)新的高效 Transformer 模型。因此,對(duì)已有文獻(xiàn)進(jìn)行綜述對(duì)于社區(qū)而言是有益和及時(shí)的。自注意力機(jī)制是 Transformer 模型的核心典型特征。該機(jī)制可被看作是一種類似圖的歸納偏置,將序列中的所有 token 與基于相關(guān)性的池化操作連接起來。對(duì)于自注意力的一個(gè)擔(dān)憂是其時(shí)空復(fù)雜度都是平方級(jí)的,這妨礙模型在多種環(huán)境下的可擴(kuò)展性。最近出現(xiàn)了大量試圖解決該問題的 Transformer 模型變體,本文將這類模型稱作「高效 Transformer」(efficient Transformer)。基于此,模型的效率有了不同的詮釋。效率可能指模型的內(nèi)存占用,當(dāng)模型運(yùn)行的加速器內(nèi)存有限時(shí)這尤為重要;效率也可能指訓(xùn)練和推斷過程中的計(jì)算成本,如 FLOPs 數(shù)。尤其對(duì)于設(shè)備端應(yīng)用而言,模型應(yīng)在有限的計(jì)算預(yù)算下運(yùn)行。該綜述論文從內(nèi)存和計(jì)算兩個(gè)角度來考慮 Transformer 的效率。高效自注意力模型對(duì)于建模長序列的應(yīng)用很關(guān)鍵,如通常包括較多像素或 token 的文檔、圖像和視頻。因此,廣泛采用 Transformer 優(yōu)先考慮的是處理長序列的效率。該論文旨在對(duì)這類模型的近期發(fā)展進(jìn)行綜述,主要聚焦于通過解決自注意力機(jī)制的平方級(jí)復(fù)雜度來提升 Transformer 效率的建模發(fā)展和架構(gòu)創(chuàng)新,同時(shí)該論文還簡要探討了通用改進(jìn)和其他效率改進(jìn)。該論文提出了一種針對(duì)高效 Transformer 模型的分類法,按照技術(shù)創(chuàng)新和主要用途進(jìn)行分類。具體而言,該論文綜述了在語言和視覺領(lǐng)域均有應(yīng)用的 Transformer 模型,并為其中的部分模型提供了詳細(xì)的解讀。論文鏈接:https://arxiv.org/pdf/2009.06732.pdf關(guān)于 TransformerTransformer 是將 Transformer 塊一個(gè)個(gè)堆疊而成的多層架構(gòu),標(biāo)準(zhǔn) Transformer 的架構(gòu)如下圖所示:Transformer 塊的特征是多頭自注意力機(jī)制、position-wise 前饋網(wǎng)絡(luò)、層歸一化模塊和殘差連接。Transformer 模型的輸入通常是形狀為 R^B × R^N 的張量,B 表示批大小,N 表示序列長度。輸入首先經(jīng)過嵌入層,嵌入層將每個(gè) one-hot token 表示轉(zhuǎn)換為 d 維嵌入,即 R^B × R^N × R^D 。然后將這個(gè)新的張量與位置編碼(positional encoding)相加,并輸入到多頭自注意力模塊中。位置編碼可以采用正弦輸入的形式,或者可訓(xùn)練嵌入。多頭自注意力模塊的輸入和輸出由殘差連接和層歸一化層來連接。將多頭自注意力模塊的輸出傳送至兩層前饋網(wǎng)絡(luò),其輸入 / 輸出通過殘差和層歸一化來連接。子層殘差連接與層歸一化可表示為:
其中 F_S 是子層模塊,它要么是多頭自注意力,要么是 position-wise 前饋層。
高效 Transformer 模型綜述這部分對(duì)高效 Transformer 模型進(jìn)行了綜述。首先我們來看不同模型的特點(diǎn),表 1 列出了目前發(fā)布的高效 Transformer 模型,圖 2 展示了多種重要高效 Transformer 模型的圖示。
圖 2:高效 Transformer 模型的分類,分類標(biāo)準(zhǔn)是模型的核心技術(shù)和主要應(yīng)用場(chǎng)景。表 1:按發(fā)布時(shí)間順序整理的高效 Transformer 模型此外,這部分還詳細(xì)介紹了多個(gè)重要的高效 Transformer 模型,并分析了它們的優(yōu)缺點(diǎn)和獨(dú)特之處。這些模型包括:Memory Compressed Transformer、Image Transformer、Set Transformers、Sparse Transformers、Axial Transformers、Longformer、ETC、BigBird、Routing Transformers、Reformer、Sinkhorn Transformers、Linformer、Synthesizers、Performer、Linear Transformers、Transformer-XL 和 Compressive Transformers。具體細(xì)節(jié)此處不再贅述,詳情參見原論文第三章。論文最后討論了這些模型的評(píng)估情況和設(shè)計(jì)趨勢(shì),并簡要概述了可以提高 Transformer 效率的其他方法,如權(quán)重共享、量化 / 混合精度、知識(shí)蒸餾、神經(jīng)架構(gòu)搜索(NAS)和 Task Adapter。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。