亚洲男人的天堂2018av,欧美草比,久久久久久免费视频精选,国色天香在线看免费,久久久久亚洲av成人片仓井空

最先進的神經網絡架構設計的最新進展正在向Transformer模型發展。這些模型在計算機視覺、自然語言處理和語音識別的廣泛應用中取得了卓越的準確性。自從Transformer模型最初被引入以來,這種趨勢在過去幾年中一直是一致的。然而,最近Transformer模型推理所需的計算量和帶寬正在以顯著的速度增長,這使得它們在延遲敏感的應用程序中的部署具有挑戰性。因此,人們越來越關注提高Transformer模型的效率,方法從更改架構設計,一直到開發專用的特定領域加速器。**本文調研了高效Transformer推理的不同方法,包括:(i)分析和剖析現有Transformer架構中的瓶頸及其與之前卷積模型的異同;(ii) Transformer架構對硬件的影響,包括層歸一化、Softmax和GELU等非線性操作以及線性操作對硬件設計的影響;(iii)優化固定Transformer架構的方法;(iv)為Transformer模型找到正確的映射和操作調度的挑戰;(v)通過使用神經架構搜索調整架構來優化Transformer模型的方法。**最后,在開源的全棧深度神經網絡加速器生成器Gemmini上進行了案例研究,并與之前的基準測試結果相比,展示了這些方法是如何產生改進的。發現與上述方法相結合的全棧協同設計方法可以導致高達88.7倍的加速比。

1. 引言

深度學習模型在訓練和推理過程中已經擴展到數十億個參數和數十億個乘累加(MAC)操作。因此,人們對高效計算這些模型以及在資源受限的邊緣設備上部署這些計算和內存密集型工作負載的興趣越來越濃厚。這些邊緣設備有嚴格的能量和內存限制,相應的利用深度學習模型的應用程序通常也有實時延遲限制。CPU和GPU在通用性能計算平臺中都是常用的,它們的優勢是無處不在且能夠支持各種工作負載和操作。然而,這種靈活性是以降低效率為代價的。深度學習模型由少量不同的操作組成,這些操作會重復數百萬或數十億次,因此通常不需要很高的靈活性。此外,雖然現代CPU和GPU可以并行執行多個操作,但它們缺乏利用深度學習模型中的海量數據重用機會的能力。 對快速、高效計算的需求,使用少量不同的操作,以及數據重用的機會,這些結合在一起,導致了深度學習使用硬件加速器。這與學術界開發的許多研究加速器相似[34,37,39,40,59,69,70,81,169]。隨著硬件加速器的發展,用于部署各種深度學習算法的軟件框架[3,32,98,167]和編譯器[33,161,185]也得到了增強和成熟。這些工具使深度學習算法能夠在加速器上執行,并執行映射優化,以提高整個深度學習流水線的性能和效率。然而,快速發展的深度學習算法仍在不斷引入對軟硬件支持及其協同優化的新需求,以滿足各種部署約束。 **最近,transformer和大型語言模型[22,44,52,58,86,173-175,177,190,198]在解決各種自然語言處理(NLP)任務方面的流行,在加速器和框架的設計方面提出了一套全新的挑戰。**人們也越來越關注提高Transformer推理的效率,特別是由于它們的規模和運行時復雜性不斷增長。然而,與更知名的卷積神經網絡(CNN)架構相比,人們仍然缺乏對Transformer架構的工作負載特征的了解,從而缺乏有效運行這些模型所需的設計原則。例如,與傳統的以CNN為重點的設計相比,transformer主要由矩陣乘法(matmuls)和內存密集型的非線性操作組成。此外,Transformer模型的計算圖和數據流比CNN更復雜,具有更多類型的操作節點,以及更多的數據流拆分和連接。所有這些挑戰都要求我們對當前的硬件和軟件解決方案進行全面的分析,以及Transformer推理的各種設計權衡。進行這樣的分析將使我們能夠對高效運行transformer的需求建立全面和全面的理解。

本文工作有兩個方面的貢獻:(1)分析Transformer的運行時特性,并調查高效Transformer推理的不同方法;(2)在全棧深度神經網絡(DNN)加速器生成器Gemmini[70]上應用所調查的方法進行案例研究。本文工作的長期目標是描述硬件和軟件堆棧中的不同因素,以優化Transformer推理。關于我們的第一個貢獻,本文涵蓋了端到端深度學習推理的不同層次,特別關注transformer。這包括:Transformer架構的運行時特征和瓶頸的分析和profiling(第2節)。包括Transformer架構的非線性操作對其設計的影響(第3節)?優化策略,如修剪和量化,以進一步提高固定Transformer架構的性能(第4節)?Transformer架構中操作的映射和調度及其相關挑戰(第5節)?通過自動化神經架構搜索過程設計和適應Transformer架構,以提高硬件效率(秒。6)。

Transformer模型架構和性能瓶頸

在本節中,我們將從高層次地介紹Transformer架構的各個組成部分。首先討論了多頭注意力和前饋模塊、transformer中使用的非線性操作,以及編碼器/解碼器模型之間的差異,在2.1節中。在2.2節中,我們使用算法分析這些不同塊對硬件性能的影響,并對每個組件進行分析建模和直接profiling。

**硬件設計

**到目前為止,在第2節中,我們已經對Transformer架構的運行時特性和瓶頸進行了分析。現在將重點轉移到高效Transformer推理的全棧解決方案,從設計高效的硬件開始。第3.1節概述了為DNN使用特定領域加速器的基本原理,以及在大多數DNN加速器中使用的基本架構和數據流。第3.2節重點介紹了加速transformer的現有工作。第3.3節隨后提供了使用分析模型的分析,以評估transformer在典型加速器上的運行情況。最后,第3.4節提供了一個案例研究,說明了為transformer構建典型加速器的過程。總的來說,本節會給出相關的性能分析,并從全棧的角度為選定的硬件決策提供依據。請注意,我們這里只關心如何有效地推斷DNN。特別是,為高效的模型訓練設計硬件超出了本文的范圍。

** 模型優化**

給定一個已經設計和訓練好的DNN模型,一個重要的問題是,是否仍然有可能通過算法來提高模型在目標硬件平臺上的效率,通過將模型改編為更友好的硬件格式。在本節中,我們將分別在第4.1節和4.2節中討論流行的現成模型優化方法,量化和稀疏性(即剪枝)。然后,在第4.3節中,我們概述了特定于transformer的優化方法,以提高特定于transformer的特征(如注意和非線性操作)的性能。

將transformer映射到硬件

為了在目標硬件架構上執行Transformer塊,必須將其映射到執行所需的計算和通信的硬件指令中。在映射過程中所做的選擇對性能有很大影響。然而,可能映射空間的大小使找到最優映射變得困難,這需要使用仔細考慮的探索、啟發式或基于學習的方法。在本節中,我們將介紹5.1節中的映射問題。我們將在第5.2節討論高效執行transformer所需的關鍵映射決策。我們在第5.3節中概述了現有映射技術的分類,在第5.4節中概述了對不同映射的性能進行建模的技術。最后,在5.5節中,我們將介紹mapper在使用transformer時需要注意的問題。

付費5元查看完整內容

相關內容

Transformer是谷歌發表的論文《Attention Is All You Need》提出一種完全基于Attention的翻譯架構

知識薈萃

精品入門和進階教程、論文和代碼整理等

更多

查看相關VIP內容、論文、資訊等

Transformer的最新進展伴隨著對計算資源的巨大需求,突出了開發高效訓練技術的重要性,通過有效使用計算和存儲資源,使Transformer訓練更快、成本更低、準確度更高。

本綜述首次系統地概述了transformer的高效訓練,涵蓋了加速算法和硬件方面的最新進展,重點是前者。我們分析和比較了在訓練期間節省中間張量計算和存儲成本的方法,以及硬件/算法協同設計的技術。最后討論了面臨的挑戰和未來的研究方向。

//www.zhuanzhi.ai/paper/3b027298fe1e5d2a83a18e2e19e245ed **深度學習,又稱深度神經網絡(DNN)是機器學習的一種變革性方法。它徹底改變了機器學習和人工智能,被公認為引領第四次產業革命的技術。**總的來說,深度學習的巨大成功歸功于它有效地利用了現有的大量計算資源和大量標記數據。盡管最近的發展帶來了巨大的興奮,但深度學習模型,特別是transformer,已經變得異常龐大和計算密集型,導致了兩個基本挑戰。

**第一個問題涉及訓練基于transformer的大型模型的密集計算。**一項廣泛討論的深度學習模型能耗研究[74]估計,訓練一個大型語言模型(LLM)會產生626,155磅的溫室氣體,相當于五輛汽車的壽命排放量;隨著型號越來越大,它們對計算的需求超過了硬件效率的提高。例如,超級巨星GPT-3[9]在5000億個單詞上進行訓練,并膨脹到1750億個參數。值得注意的是,根據GPT-32的技術概述,單次訓練運行將需要355 gpu年,成本至少為460萬美元,V100理論上估計為28 TFLOPS,最低的3年保留云定價。因此,讓深度學習在計算中站得住,以及與之相關的能耗對于綠色人工智能顯得尤為重要。

第二個問題是與基于注意力的模型大小成正比的指數式增長的訓練存儲。例如,文獻中最大的語言模型從2018年的BERTlarge[43]的3.45億增長到目前的數千億,如配備530B參數的MT-NLG[71]模型。因此,這些SOTA海量模型需要存儲高效的訓練技術,以減少存儲中間張量和跨加速器數據交換(通信)的存儲占用,同時確保高處理元素(PE)利用率。**本綜述回顧了提高訓練基于注意力模型的計算和存儲效率的通用技術,即transformer,如圖1所示。**通過技術創新和主要用例來描述它們,總結它們并得出它們之間的聯系。主要對提高transformer訓練效率的算法創新感興趣,還簡要討論了硬件/算法協同設計的進展。我們把對硬件加速器設計的回顧作為未來的工作。

2 計算效率

為了實現更快的梯度下降收斂速度,一個經典的解決方案是融合動量技術,其中每一步都是最陡的下降方向和最近迭代位移的組合,有助于加速相關方向的梯度下降并抑制振蕩。開創性的工作包括Nesterov的凸優化加速梯度[61]和非凸問題的動量近端梯度[50]等。為了滿足機器學習模型大規模優化的需求,支配優化器以隨機方式設計。特別是,帶動量的隨機梯度下降(SGD)和自適應學習率估計方法Adam[45]被廣泛用于訓練深度神經網絡。從經驗上講,用Adam訓練transformer的效果優于SGD,[85]揭示了隨機梯度中噪聲的重尾分布是SGD性能不佳的主要原因,并通過自適應噪聲裁剪的視角來理解Adam。默認情況下,AdamW[56]是Adam的一個變體,它將L2正則化和權重衰減解耦,是transformer廣泛使用的優化器。關于機器學習中的加速優化方法的更多細節,請參閱[54,8]。

數據選擇

令牌掩蔽。標記掩碼是自監督預訓練任務中的一種主要方法,如掩碼語言建模(MLM)[43,9]和掩碼圖像建模(MIM)[6,32]。標記掩碼的精神是隨機掩碼一些輸入標記,并訓練模型用可見標記的上下文信息預測缺失的內容,例如詞匯表id或像素。由于壓縮序列長度以二次方式降低了計算和存儲復雜度,跳過處理掩碼token為MLM和MIM帶來了可觀的訓練效率增益。對于MLM,[72]提出聯合預訓練語言生成任務的編碼器和解碼器,同時刪除解碼器中的掩碼標記,以節省存儲和計算成本。對于MIM,代表性工作[32]表明,在視覺中,在編碼器之前刪除掩碼圖像塊顯示出更強的性能,并且比保留掩碼標記的總體預訓練時間和存儲消耗低3倍或更多。在[51]中也發現了類似的現象,對于語言-圖像預訓練,隨機掩碼并去除掩碼圖像塊的總體預訓練時間比原始片段快3.7倍[66]。 **3 存儲效率 **

除了計算負擔之外,大型Transformer模型的模型規模越來越大,例如從BERT [43] 345M參數模型到1.75萬億參數的GPT-3,這是訓練的一個關鍵瓶頸,因為它們不適合單個設備的存儲。我們首先分析了現有模型訓練框架的內存消耗,它被1)模型狀態所占用,包括優化器狀態(例如Adam中的動量和方差)、梯度和參數;2)激活(我們忽略了臨時緩沖區和空閑碎片存儲,因為它們相對較小)。我們在表1中總結了記憶有效的訓練方法。下面,我們將討論優化存儲使用的主要解決方案。

4 硬件算法設計

除了計算和存儲負擔外,設計高效的硬件加速器可以加快DNN的訓練和推理。具體來說,與中央處理器(CPU)相比,圖形處理器(GPU)由于高度的并行性,在執行矩陣乘法時更加強大。對于專注于特定計算任務的應用,專用集成電路(AISCs)具有低功耗、高訓練/推理速度的優勢。例如,谷歌設計的張量處理單元(TPU)比當代cpu和gpu[41]的每瓦性能高30 ~ 80倍。然而,ASIC不容易重新編程或適應新任務。相比之下,現場可編程門陣列(FGPA)可以根據需要重新編程以執行不同的功能,也可以在最終設計之前作為asic的原型。為了進一步優化DNNs,特別是Transformer的訓練效率,硬件-算法協同設計在設計算法時考慮了硬件的約束和能力。

付費5元查看完整內容

選自arXiv

作者:Julia Gusak等

機器之心編譯

編輯:杜偉、澤南在本綜述論文中,研究者解釋了不同技術的工作原理、評估和比較,還分析了一些實現這些技術的框架。

現代深度學習和人工智能技術的發展涉及使用深度神經網絡(DNN)來解決圖像、視頻、音頻、自然語言處理、圖像形式的內容生成等各種問題,或生成給定格式主題的文本等任務。

俄羅斯斯科爾科沃科學技術研究所、法國里爾大學、波爾多大學、Inria 等科研機構聯合發表了一篇論文《Survey on Large Scale Neural Network Training》,它試圖解決的問題是:若給定模型和計算平臺的情形下,如何訓練才是最有效率的。為了使訓練高效,其必須可行,最大程度地利用資源的計算能力,在并行情況下,它不能讓信息傳輸成為瓶頸。訓練的效率從根本上取決于計算內核在計算資源(CPU、TPU、GPU)上的有效實現以及 GPU 之間和不同內存之間通信的有效實現。

論文鏈接://arxiv.org/abs/2202.10435

在這兩種情況下,人們為優化計算內核的算術強度,及有效實現硬件網絡上的通信做了很多工作。對于使用者來說,已存在強大的分析工具來識別硬件瓶頸,并可用于判定本調查中描述哪些策略可用于解決算術強度、內存和控制交換數據量的問題。

該綜述研究涵蓋了應對這些限制的通用技術。如果由于模型、優化器狀態和激活不適合內存而無法先驗執行計算,則可以使用內存交換計算(重新實現)或數據轉移(激活和權重卸載)。我們還可以通過近似優化器狀態和梯度(壓縮、修剪、量化)來壓縮內存使用。

并行方法(數據并行、模型并行、流水線模型并行)也可以將內存需求分布到多個算力資源上。如果計算的算力強度不足以充分利用 GPU 和 TPU,一般是因為 mini-batch 太小,那么上述技術也可以增加 mini-batch 的大小。最后,如果使用數據并行引起的通信開銷昂貴到拖累計算速度,則可以使用其他形式的并行(模型并行、流水線模型并行),梯度壓縮也可以限制數據交換的數量。

在本次調查中,研究者解釋了這些不同技術是如何工作的,其中描述了評估和比較所提出方法的文獻,還分析了一些實施這些技術的框架。

下表 1為文章討論的不同技術及其對通信、內存和計算效率的影響。

研究者根據目的區分了以下方法:首先討論減少 GPU 內存使用,隨后考慮對不適合 GPU 的模型使用并行訓練,最后討論為訓練存儲在多個設備上的模型而開發的優化器的設計。

單 GPU 情況下減少內存使用

在前向傳播期間,神經網絡存儲執行反向傳播所需的激活。在某些情況下,這些激活會消耗大量內存,讓模型無法訓練。減少內存使用的主要方法有兩種:重新實現(也稱為 checkpointing)和卸載。

激活的重新實現

重新實現的策略僅在前向傳播期間存儲一小部分激活,并在反向傳播期間重新計算其余部分。重新實現方法可以通過它們處理的計算圖來區分。第一組來自自動微分(AD),它們為同構順序網絡(多層按順序執行并具有相同計算和內存成本的 DNN)找到最佳調度。第二組專注于過渡模型,例如異構序列網絡(可以是由任意復雜模塊組成的任何序列神經網絡,如 CNN、ResNet、一些 transformer),它將解決方案從 AD 調整為異構設置。 一些方法可以對一般計算圖執行重新實現,盡管確切的計算成本可能指數級上升,如下表 2 所示。

激活卸載

卸載(又被稱為內存交換)是一種通過在前向傳遞期間將激活轉移到 CPU 內存并將它們預取回 GPU 內存,以進行相應的向后計算來節省 GPU 內存的技術。 由于 CPU 和 GPU 之間 PCI 總線的帶寬有限,必須優化選擇傳輸激活,以及何時傳輸的選擇。 在 vDNN [Rhu et al., 2016] 研究中,作者通過僅卸載卷積層的輸入來遵循對 CNN 有效的啟發式方法,然而它不能很好地推廣到一般 DNN 上。另有研究 [Le et al., 2018] 考慮了激活生命周期來選擇卸載的內容,并使用圖搜索方法來識別插入卸載 / 預取操作的時刻。AutoSwap [Zhang et al., 2019] 通過為每個變量分配優先級分數來決定卸載哪些激活。

權重卸載

前面提到的很多方法也適用于卸載權重,這是因為卸載權重依賴于適用于任何張量的通用技術,比如 TFLMS、AutoSwap 或者 SwapAdvisor。

不適合單個 GPU 的模型的并行性

在模型并行化中,只需要傳達激活信息,并且傳輸只發生在分配給不同處理器的連續層之間。本章節提到的工作如下表 4 所示。

如果多個小批量被 pipeline 化 ,則可以加快模型并行化中的執行速度,從而同時激活了多個訓練迭代,具體可見 [Huang et al., 2019]。一旦在所有這些小批量上計算了前向和后向階段,權重就會更新。這種方法實現起來相當簡單,但也導致計算資源大部分處于空置狀態。[Narayanan et al., 2019] 中提出的 PipeDream 方法僅強制前向和后向任務針對給定的小批量使用相同的模型權重,改進了這一訓練過程。

減少執行更新的頻率也已被證明有助于限制權重過期(Narayanan et al., 2021a)。[Yang et al., 2021] 提出的 PipeMare 根據 pipeline 階段向后調整學習率和模型權重。

對 pipeline 方法中激活導致的存儲成本進行建模是一項艱巨的任務(Beaumont et al., 2021b)。例如,[Fan et al., 2021] 中的 DAPPLE 、 [Li and Hoefler, 2021] 中的 Chimera 使用 1F1B(One-Forward-One-Backward)調度來減少與激活相關的內存消耗。1F1B 是一種同步權重更新技術,盡可能早地安排每個微批次的反向傳遞,以釋放激活占用的內存。

有些論文專門處理具有挑戰性的拓撲。比如,為了解決高通信成本和異構網絡能力的問題,[Zhan and Zhang, 2019] 中的 Pipe-torch 提出了一種更新的動態規劃策略,該策略假設計算和通信之間沒有重疊。[Park et al., 2020] 中的 Pipe 解決了異構 GPU 的其他問題,采用的方法是將這些異構 GPU 分成虛擬 worker,并在每個虛擬 worker 中運行 pipeline 并行化,同時依賴 worker 之間的數據并行化。

**用于跨設備模型訓練的優化器 **

零冗余優化器

2020 年, Rajbhandari, S. 等人在論文《 ZeRO: Memory Optimizations toward Training Trillion Parameter Models》中提出了零冗余優化器(Zero Redundancy Optimizer, ZeRO),將它作為一種減少內存使用的數據并行化實現。根據在設備上劃分的張量,該算法具有三個階段,即階段 1 - 優化器狀態、階段 2 - 優化器狀態和梯度和階段 3 - 優化器狀態、梯度和模型超參數。 2021 年, Ren, J. 等人在論文《 ZeRO-Offload: Democratizing Billion-Scale Model Training》中將 ZeRO 與 Zero-Offload 內部參數更新的 CPU 端計算統一起來,其中梯度被遷移至存儲參數副本的 CPU,更新的權重遷移回 GPU。 低精度優化器

為了進一步減少內存使用,低精度優化器(low-precision optimizer)有了用武之地。這些方法使用低精度格式拉力表示優化器狀態以及狀態的輔助向量。并且,誤差補償技術可以被用來維持跟蹤統計的近似準確率。 2021 年, Dean, J. 等人在論文《Large Scale Distributed Deep Networks》中提出了一種將 Adam 優化器存儲在 8-bit 的方法,同時在使用 32-bit 格式時保持整體性能不變。2020 年, Sun, X. 等人在論文《Ultra-Low Precision 4-bit Training of Deep Neural Networks》中提出了更激進的精度降低,其中開發了處理 4-bit 表示的特定路徑。 收斂加速

另一種加速大規模深度學習模型的方法是減少節點之間的通信時間以及在適當局部最小值收斂所需的 epoch 數量。

關于通信成本的降低。在將梯度在計算節點之間遷移之前對它們進行壓縮已經出現了不同的方法,具體有三類,分別是分裂(sparsification)、量化(quantization)和低秩(low-rank)方法。 分裂方法只遷移完整梯度元素的一些子集,并在參數向量中更新相應的元素。這種近似方法能夠顯著降低通信成本,同時保持訓練模型的性能,代表工作有 2017 年 Aji, A. F. 和 Heafield, K 的論文《 Sparse Communication for Distributed Gradient Descent 》和 2019 年 Alistarh, D. 等的論文《The Convergence of Sparsified Gradient Methods》。

另一種方法是基于遷移梯度的量化,該方法只遷移一定數量的 bit、從這些 bit 中重建整個梯度向量并更新參數向量的所有元素。這種方法對于一些神經網絡架構和實驗設置得到了不錯的結果,代表工作有 Alistarh, D. 等人 2017 年的論文《QSGD: Communication-Efficient SGD via Gradient Quantization and Encoding》。

最后一種降低通信成本的方法是低秩方法,其中在更新參數向量之前構建、遷移和使用梯度的低秩近似來恢復完整格式的梯度。低秩近似可以通過塊能量(block power)方法或者最小化策略來構建,各自的代表工作分別是 Vogels et al., 2019 和Cho et al., 2019。

大批量訓練。另一種加速優化器收斂的方法是針對每個批使用大量的樣本。這種訓練設置可以減少每個 epoch 中的迭代次數,并提升 GPU 的利用率。在 Goyal, P 等人 2017 年的論文《Accurate, Large Minibatch SGD》中,研究者提出使用線性縮放規則來更新學習率和批大小。這一設置可以穩定優化過程,并將模型的最終性能收斂至相同。

封面來源:

付費5元查看完整內容

Transformer模型是當下的研究焦點。最近 Google Yi Tay發布了關于Transformers最新論文,提供這類模型的最新進展的全面概述。

摘要

Transformer模型架構最近引起了極大的興趣,因為它們在語言、視覺和強化學習等領域的有效性。例如,在自然語言處理領域,Transformer已經成為現代深度學習堆棧中不可缺少的主要部分。最近,提出的令人眼花繚亂的X-former模型如Linformer, Performer, Longformer等這些都改進了原始Transformer架構的X-former模型,其中許多改進了計算和內存效率。為了幫助熱心的研究人員在這一混亂中給予指導,本文描述了大量經過深思熟慮的最新高效X-former模型的選擇,提供了一個跨多個領域的現有工作和模型的有組織和全面的概述。

關鍵詞:深度學習,自然語言處理,Transformer模型,注意力模型

//www.zhuanzhi.ai/paper/39a97bd373cc6f37c6b2e9026f3422e8

介紹

Transformer是現代深度學習領域中一股強大的力量。Transformer無處不在,在語言理解、圖像處理等許多領域都產生了巨大的影響。因此,在過去的幾年里,大量的研究致力于對該模型進行根本性的改進,這是很自然的。這種巨大的興趣也刺激了對該模式更高效變體的研究 ((Kitaev et al., 2020; Roy et al., 2020; Beltagy et al., 2020; Katharopoulos et al., 2020; Tay et al., 2020b; Wang et al., 2020c; Rae et al., 2020; Choromanski et al., 2020b; Dai et al., 2020; Correia et al., 2019; Sukhbaatar et al., 2019a; Vyas et al., 2020)。

最近出現了大量的Transformer模型變體,研究人員和實踐者可能會發現跟上創新的速度很有挑戰性。在撰寫本文時,僅在過去6個月里就提出了近12種新的以效率為中心的模式。因此,對現有文獻進行綜述,既有利于社區,又十分及時。

自注意力機制是確定Transformer模型的一個關鍵特性。該機制可以看作是一種類似圖的歸納偏差,它通過基于關聯的池化操作將序列中的所有標記連接起來。一個眾所周知的自注意力問題是二次時間和記憶復雜性,這可能阻礙模型在許多設置的可伸縮性。最近,為了解決這個問題,出現了大量的模型變體。以下我們將這類型號命名為“高效Transformers”。

根據上下文,可以對模型的效率進行不同的解釋。它可能指的是模型的內存占用情況,當模型運行的加速器的內存有限時,這一點非常重要。效率也可能指計算成本,例如,在訓練和推理期間的失敗次數。特別是對于設備上的應用,模型應該能夠在有限的計算預算下運行。在這篇綜述中,我們提到了Transformer在內存和計算方面的效率,當它們被用于建模大型輸入時。

有效的自注意力模型在建模長序列的應用中是至關重要的。例如,文檔、圖像和視頻通常都由相對大量的像素或標記組成。因此,處理長序列的效率對于Transformer的廣泛采用至關重要。 本篇綜述旨在提供這類模型的最新進展的全面概述。我們主要關注的是通過解決自注意力機制的二次復雜性問題來提高Transformer效率的建模進展和架構創新,我們還將在后面的章節簡要討論一般改進和其他效率改進。

本文提出了一種高效Transformer模型的分類方法,并通過技術創新和主要用例對其進行了表征。特別地,我們回顧了在語言和視覺領域都有應用的Transformer模型,試圖對各個領域的文獻進行分析。我們還提供了許多這些模型的詳細介紹,并繪制了它們之間的聯系。

本節概述了高效Transformer模型的一般分類,以其核心技術和主要用例為特征。盡管這些模型的主要目標是提高自注意機制的內存復雜度,但我們還包括了提高Transformer體系結構的一般效率的方法。

  • 固定模式(FP)——對自注意最早的修改是通過將視野限制在固定的、預定義的模式(如局部窗口和固定步距的塊模式)來簡化注意力矩陣。

  • 組合模式(CP)——組合方法的關鍵思想是通過組合兩個或多個不同的訪問模式來提高覆蓋率。例如,Sparse Transformer (Child et al., 2019)通過將一半的頭部分配給每個模式,將跨步注意力和局部注意力結合起來。類似地,軸向Transformer (Ho et al., 2019)運用了一系列以高維張量作為輸入的自注意計算,每個計算都沿著輸入張量的單個軸。從本質上說,模式的組合以與固定模式相同的方式降低了內存復雜度。但是,不同之處在于,多個模式的聚合和組合提高了自注意機制的整體覆蓋率。

  • 可學習的模式(LP)-固定的,預先確定的模式的擴展是可學習的模式。不出所料,使用可學習模式的模型旨在以數據驅動的方式學習訪問模式。學習模式的一個關鍵特征是確定令牌相關性的概念,然后將令牌分配到桶或集群(Vyas et al., 2020; Wang et al., 2020b)。值得注意的是,Reformer (Kitaev et al., 2020)引入了一種基于哈希的相似性度量,以有效地將令牌聚為塊。類似地,路由Transformer (Roy et al., 2020)對令牌使用在線k-means聚類。同時,Sinkhorn排序網絡(Tay et al., 2020b)通過學習對輸入序列的塊進行排序,暴露了注意權值的稀疏性。在所有這些模型中,相似函數與網絡的其他部分一起端到端訓練。可學習模式的關鍵思想仍然是利用固定模式(塊狀模式)。然而,這類方法學會了對輸入標記進行排序/聚類——在保持固定模式方法的效率優勢的同時,實現了序列的更優全局視圖。

  • 神經記憶——另一個突出的方法是利用可學習的側記憶模塊,它可以一次訪問多個令牌。一種常見的形式是全局神經存儲器,它能夠訪問整個序列。全局標記充當一種模型內存的形式,它學習從輸入序列標記中收集數據。這是在Set transformer (Lee et al., 2019)中首次引入的誘導點方法。這些參數通常被解釋為“內存”,用作將來處理的臨時上下文的一種形式。這可以被認為是參數關注的一種形式(Sukhbaatar et al., 2019b)。ETC (Ainslie et al., 2020)和Longformer (Beltagy et al., 2020)也使用了全局記憶令牌。在有限的神經記憶(或誘導點)中,我們能夠對輸入序列執行一個初步的類似于池的操作來壓縮輸入序列——在設計高效的自注意模塊時,這是一個可以隨意使用的巧妙技巧。

  • 低秩方法——另一種新興的技術是通過利用自注意矩陣的低秩近似來提高效率。

  • 內核——另一個最近流行的提高transformer效率的方法是通過內核化來查看注意力機制。

  • 遞歸-塊方法的一個自然擴展是通過遞歸連接這些塊。

  • 下采樣-另一種降低計算成本的常用方法是降低序列的分辨率,從而以相應的系數降低計算成本。

  • 稀疏模型和條件計算——雖然不是專門針對注意力模塊,稀疏模型稀疏地激活一個參數子集,這通常提高了參數與FLOPs的比率。

付費5元查看完整內容

視頻Transformer最新綜述論文

Transformer模型在建模長范圍交互方面取得了巨大的成功。然而,他們的規模與輸入長度的平方和缺乏歸納偏差。在處理高維視頻時,這些限制可能會進一步加劇。正確的視頻建模,可以跨度從幾秒到幾小時,需要處理長范圍交互。這使得Transformer成為解決視頻相關任務的一個很有前途的工具,但還需要一些調整。雖然之前也有研究《Transformer》在視覺任務方面的進展的工作,但沒有一篇是針對特定視頻設計的深入分析。在本綜述中,我們分析和總結了用于視頻數據建模的Transformer的主要貢獻和趨勢。具體地說,我們深入研究了視頻是如何嵌入和標記化的,發現了一個非常廣泛的使用大型CNN主干來降低維數的方法,以及主要使用補丁和幀作為標記。此外,我們研究了如何調整Transformer層以處理更長的序列,通常是通過減少單個注意力操作中的令牌數量。此外,我們還分析了用于訓練視頻Transformer的自監督損耗,迄今為止,這些損耗大多局限于對比方法。最后,我們探討了其他模態是如何與視頻整合在一起的,并對視頻Transformer最常用的基準(即動作分類)進行了性能比較,發現它們在等效FLOPs的情況下優于3D CNN,且沒有顯著的參數增加。

引言

Transformers是[1]中首次提出的最新系列模型。這些架構最初是為了替換機器翻譯設置中的循環層而設計的,現在已經很快被用于建模許多其他數據類型[2]、[3]、[4],包括圖像[5]、[6]、[7]、[8]和視頻[9]、[10]、[11]、[12]、[13]、[14]。Transformer背后的關鍵成功在于其通過自注意力(SA)操作實現的非局部令牌混合策略。非局部操作在[15]中提出,是對非局部均值操作[16]的泛化。它基于所有元素之間的交互來演化輸入表示。這些相互作用是通過一對相似函數來調節的,該函數衡量每個元素對其他元素的貢獻。與全連接(FC)層不同,非局部操作不需要權重:輸入之間的關系不需要學習,而是完全依賴于輸入表示。盡管它們取得了成功,但SA的本質導致transformer對序列長度T的縮放效果很差。特別是,由于對親和計算,SA的復雜度為O(t2)。此外,transformer沒有任何歸納偏差,這可能是一個理想的特性,但它也會阻礙學習,除非[7]使用大量數據。

最近Transformer工作的激增,讓跟蹤最新的進展和趨勢變得復雜起來。最近的調研試圖通過分析和總結《Transformer》的總體架構設計選擇來填補這一空白,主要集中在NLP[18],或高效的設計,如[19]或[20]。雖然一些人已經廣泛地調研了視覺的進展,例如[21],[22],[23],[24]和Vision-Language transformer[25],但他們沒有對視頻模型進行深入的分析。[26]的調研集中于視頻和語言Transformer的預訓練,但是他們討論了一些架構選擇,并沒有涵蓋一般的視頻趨勢。視頻Transformer (vt)可以找到與其他Transformer設計的共同點(特別是在圖像領域),但視頻固有的大維度將加劇Transformer的局限性,需要特殊處理。額外的時間維度還需要不同的嵌入、標記化策略和架構。最后,視頻媒體通常與其他模態配對(例如,它很自然地伴隨著音頻),這使得它特別容易用于多模態設置。

視頻。本工作的重點是全面分析用于視頻數據建模的Transformer架構的最新進展。請注意,在Transformer層建模之前,使用傳統(非Transformer)架構將視頻映射到其他結構化形式(例如,接頭[27]或語音[28])的工作不在我們的范圍之內。我們對使用(時間)視覺特征作為SA層輸入的模型特別感興趣。我們分析了文獻采用這些模型的方式,使之能夠處理視頻的內在復雜性以及其他可選模態。然而,我們確實考慮在使用Transformer層之前利用某些CNN架構將視頻數據嵌入到低維空間的工作(參見第3.1.1節)。

Transformers。與基于位置的體系架構(如CNN)不同,Transformer在每一層對數據的全局交互進行建模。然而,有一個廣泛的基于全局的架構。我們關注的是將SA以非局部運算[15]的內嵌高斯變量形式,加上額外的歸一化因子的工作(見式(1))。已有文獻將其他形式的注意力視為SA[29],[30],[31],[32],但這些文獻通常使用FC層而不是點積來計算注意力權重。我們認為這些超出了本次調研的范圍。此外,與Transformers并行的研究方向還采用SA或等效的內嵌高斯版本的非局部算子來處理計算機視覺任務。例如,圖注意力網絡,如[33]和[34],或關系網絡,如[35]和[36]。類似地,我們也發現它們被用于增強CNN主干,通過添加中間層[15]、[37]、[38]、[39],或者通過增強輸出表示[40]、[41]、[42]。我們很高興地看到,在這么多不同的研究方向都采用了非局部操作。不過,在本工作中,我們只關注Transformer體系結構,并將非本地操作集成到不同體系結構中的各種方式留給未來的工作進行比較。

視頻Transformers(vt)的通用框架。在(a)中,我們展示了一個普通的Transformer Encoder1;在(b)中,我們展示了不同的標記化和嵌入策略,具體見3.1節;在(c)中,我們展示了一種常見的分層Transformer設計,它分解了視頻片段的空間和時間交互。這些和其他視頻設計在第3.2節中有描述。

視頻Transformer

視頻數據的高維性以及上述《Transformers》的局限性需要進行多種調整,以構建成功的視頻《Transformers》。在這里,我們對VTs進行一個全面的概述:在3.1節中,我們探討了在將視頻輸入Transformer之前如何處理它們,并探討了降維和標記化替代方案的主干。然后,在第3.2節中,我們詳細介紹了高效Transformer設計的建議,比如在視頻中顯式地利用時間結構。接下來,我們在第3.3節分析了視頻如何與其他模態整合。最后,我們概述VT訓練策略和損失,特別是在第3.4節中的自監督方法。

付費5元查看完整內容

【導讀】預訓練模型是當下的研究熱點之一。本文對綜述了近年來與T-PTLMs相關的研究工作,涵蓋了基本概念、分類體系。

引言

基于Transformer的預訓練語言模型(T-PTLMs)在幾乎所有的自然語言處理任務中都取得了巨大的成功。這些模型的發展始于GPT和BERT。這些模型建立在Transformer、自監督學習和遷移學習的基礎上。基于轉換的PTLMs通過自監督學習從大量文本數據中學習通用語言表示,并將這些知識轉移到下游任務中。這些模型為下游任務提供了良好的背景知識,避免了對下游模型從頭開始的訓練。在這篇全面的綜述論文中,我們首先對自監督學習做一個簡要的概述。接下來,我們解釋了各種核心概念,如預訓練、預訓練方法、預訓練任務、嵌入和下游適應方法。接下來,我們介紹了 T-PTLMs的一個新分類,然后簡要概述了各種基準測試,包括內在和外在的。我們總結了與 T-PTLMs一起工作的各種有用的庫。最后,提出了進一步完善這些模型的研究方向。我們堅信,這篇全面的綜述論文將為了解 T-PTLMs的核心概念以及了解 T-PTLMs的最新動態提供很好的參考。

摘要

如GPT-1 [1], BERT [2], XLNet [3], RoBERTa [4], ELECTRA [5], T5 [6], ALBERT [7],BART[8]和PEGAUSUS [9]在NLP中取得了巨大的成功,因為它們能夠從大量未標記的文本數據中學習通用語言表征,然后將這些知識轉移到下游任務中。在早期,NLP系統大多是基于規則的,后來被機器學習模型所取代。機器學習模型需要特征工程,這需要領域專業知識,也是一個耗時的過程。gpu和Word2Vec[10]和Glove[11]等更好的計算機硬件的發展,增加了深度學習模型(如CNN[12]和RNN[13]、[14])用于構建NLP系統的使用。這些深度學習模型的主要缺點是需要從頭開始訓練模型,除了單詞嵌入。從頭開始訓練模型需要大量已標記的實例,生成這些實例的代價是昂貴的。然而,我們希望模型僅使用少數標記實例就能表現良好。遷移學習[15]允許在源任務中學習的知識重用,從而在目標任務中很好地執行。在這里,目標任務應該與源任務類似。基于遷移學習的思想,計算機視覺研究人員使用ImageNet[20],[21]等大規模標記數據集訓練了大型CNN模型[16]-[19]。這些模型學習在所有任務中都通用的圖像表示。預訓練的大型CNN模型通過包含少量特定任務層來適應下游任務,然后在目標數據集[22]上進行微調。由于預先訓練好的CNN模型為下游模型提供了良好的背景知識,他們在許多CV任務[18],[23]中獲得了巨大的成功。

像CNN和RNN這樣的深度學習模型在建模長期上下文和學習帶有局部偏差[24]的單詞表示方面存在困難。此外,由于RNN按順序處理輸入,即逐字處理,并行計算機硬件的利用率受到限制。為了克服現有深度學習模型的這些缺陷,Vaswani等人[25]提出了一種完全基于自注意的深度學習模型,稱為Transformer。與RNN相比,自注意允許更多的并行化,并且可以很容易地建模長期上下文,因為每個令牌都關注輸入序列[25]中的所有令牌。Transformer包含編碼器和解碼器層的堆棧。在編碼器和解碼器層的幫助下,Transformer可以學習復雜的語言信息。在NLP域中生成大量標記數據是一個非常昂貴和耗時的過程。但是,很容易獲得大量未標記的文本數據。NLP研究社區對基于CNN的計算機視覺預訓練模型的成功印象深刻,已經開發了結合Transformer和自監督學習的能力的T-PTLMs。自監督學習允許Transformer基于一個或多個預訓練任務提供的偽監督進行學習。

GPT和BERT分別是第一個基于transformer 解碼器和編碼器層開發的T-PTLMs。在GPT和BERT的基礎上,提出了XLNet、RoBERTa、ELECTRA、ALBERT、T5、BART和PEGAUSUS等模型。這里XLNet, RoBERTa, ELECTRA和ALBERT是對BERT模型的改進,而T5, BART和PEGAUSUS是基于編碼器-解碼器的模型。Kaplan等人[26]表明,T-PTLMs的表現可以通過增加模型的大小來提高。這一觀察觸發了大規模T-PTLMs的發展,如GPT-3 (175B)[27]、PANGU- (200B)[28]、GShard (600B)[29]和switch - transformer (1.6T)[30]等包含數十億個參數的T-PTLMs。繼T-PTLMs在通用英語領域的成功之后,T-PTLMs也被開發用于其他領域,如金融[31],法律[32],[33],新聞[34],編程[35]-[39],對話[40],網絡[41],學術[42]-[44]和生物醫學[45]-[48]。TPTLMs還支持遷移學習,因為這些模型可以通過對目標數據集進行微調或即時調整來適應下游任務。本文綜述了近年來與T-PTLMs相關的研究工作。我們將綜述總結為

  • 我們將簡要介紹SSL,它是開發T-PTLMs的支柱(第2節)。

  • 我們解釋了與T-PTLMs相關的各種核心概念,如預訓練、預訓練方法、預訓練任務、嵌入和下游適應方法(第3節)。

  • 我們提出了一個新的分類方法來分類各種T-PTLMs。這種分類法基于四個視角,即預訓練語料庫、體系結構、SSL類型和擴展(第4節)。

  • 我們提出了一種新的分類法來對各種下游適應方法進行分類,并對每一種方法進行詳細解釋(第5節)。

  • 我們簡要概述了評估T-PTLMs進展的各種基準,包括內在的和外在的(第6節)。

  • 我們簡要概述了各種庫,從Huggingface transformer到Transformer-interpret,這些庫對tptlm的工作很有用(第7節)。

  • 我們簡要討論了一些未來的研究方向,這些方向將推動研究團體進一步改進模型(第8節)。

付費5元查看完整內容

一旦抽象數學計算被用于數字計算機上的計算,這些計算中數值的有效表示、操作和通信的問題就出現了。與數字表示問題密切相關的是量化問題:一組連續的實數應該以何種方式分布在一組固定的離散數上,以最小化所需的位數,并使伴隨的計算的準確性最大化?當內存和/或計算資源受到嚴重限制時,量化這個長期存在的問題就顯得尤為重要。由于神經網絡模型在計算機視覺、自然語言處理和相關領域的出色表現,這一問題近年來已經成為一個前沿問題。從浮點表示方式移動到以4位或更少表示的低精度固定整數值可以將內存占用和延遲減少16倍;事實上,4倍到8倍的縮小在這些應用中經常被實現。因此,量化最近作為神經網絡計算的有效實現的一個重要和非常活躍的研究子領域出現就不足為奇了。在這篇文章中,我們調研了在深度神經網絡計算中量化數值問題的方法,包括當前方法的優點/缺點。通過這個調研和它的組織,我們希望已經提出了一個有用的量化神經網絡研究綜述,以方便在這一領域的未來研究的拓展。

//www.zhuanzhi.ai/paper/c451f4f98fbca30e3edee0a9751a0b93

引言

在過去的十年中,我們已經觀察到神經網絡(NNs)在精度上的顯著改進,用于解決廣泛的問題,通常是通過高度過參數化的模型實現的。雖然這些過度參數化(因此非常大)的神經網絡模型的精度顯著提高了,但這些模型的純粹規模?相等的貢獻。這意味著不可能為許多資源受限的應用程序部署它們。這給在資源受限的環境下實現普適深度學習帶來了問題,普適深度學習需要實時推理,具有低能耗和高精度。這種普遍深度學習預計將對實時智能醫療保健監控、自動駕駛、音頻分析和語音識別等廣泛應用產生重大影響。

要實現高效、實時的、具有最優精度的神經網絡,需要重新思考神經網絡模型的設計、訓練和部署[71]。有大量的文獻專注于通過使NN模型更有效(在延遲、內存占用和能量消耗等方面)來解決這些問題,同時仍然提供最佳的準確性/泛化權衡。這些努力可以大致分為以下幾類。

a) 設計高效的NN模型架構: 一些工作都集中在優化神經網絡模型結構的微架構(101,111,127,167,168,212,253,280](例如,內核類型深度方面卷積或低秩分解等)以及它macro-architecture(100、101、104、110、214、233](如模塊類型,例如殘差,或inception)。這里的經典技術大多使用手動搜索找到新的體系結構模塊,這是不可擴展的。因此,一個新的工作是設計自動機器學習(AutoML)和神經結構搜索(NAS)方法。這些方法的目的是在給定模型尺寸、深度和/或寬度的約束下,自動找到正確的NN架構[161,194,232,245,252,291]。我們向有興趣的讀者推薦[54]來了解NAS方法的最新調查。

b) 協同設計網絡架構和硬件: 最近的另一項工作是為特定的目標硬件平臺調整(并協同設計)網絡架構。這是因為NN組件的開銷(在延遲和能量方面)是依賴于硬件的。例如,具有專用緩存層次結構的硬件可以比沒有專用緩存層次結構的硬件更有效地執行受帶寬限制的操作。與神經網絡體系結構設計類似,體系結構-硬件協同設計的最初方法是手動的,即由專家調整/更改神經網絡體系結構[70],然后使用自動化的AutoML和/或NAS技術[22,23,100,252]。

c) 剪枝: 另一種減少網絡的內存占用和計算成本的方法是運用剪枝。在剪枝過程中,去掉敏感性小的神經元,得到稀疏計算圖。這里,具有小顯著性的神經元是指那些去除后對模型輸出/損失函數影響最小的神經元。剪枝方法可以大致分為非結構剪枝[49,86,139,143,191,257]和結構剪枝[91,106,156,166,274,275,279]。在非結構化剪枝中,我們可以去除那些不太顯著的神經元,無論它們在哪里出現。該方法可以進行主動剪枝,去除大部分神經網絡參數,對模型的泛化性能影響很小。然而,這種方法導致了稀疏矩陣操作,這是眾所周知的難以加速,并且通常是內存受限的[21,66]。另一方面,使用結構化剪枝,一組參數(例如,整個卷積濾波器)被刪除。這可以改變層和權重矩陣的輸入和輸出形狀,從而仍然允許密集的矩陣操作。然而,積極的結構修剪往往導致顯著的精度退化。具有高水平修剪/稀疏性的訓練和推理,同時保持最先進的性能,仍然是一個開放問題[16]。有興趣的讀者請參閱[66,96,134],了解修剪/稀疏性相關工作的詳細情況。

d) 知識蒸餾: 模型蒸餾[3,95,150,177,195,207,269,270]涉及訓練一個大模型,然后作為教師使用它來訓練一個更緊湊的模型。在對學生模型的訓練中,不是使用“硬”的類別標簽,模型蒸餾的關鍵思想是利用老師產生的“軟”概率,因為這些概率可以包含更多關于輸入的信息。盡管在蒸餾方面做了大量的工作,但這里的一個主要挑戰是僅用蒸餾就能獲得高壓縮比。與量化和剪枝相比,在壓縮≥4×的情況下(具有INT8和較低的精度),知識蒸餾方法在壓縮強度大的情況下具有不可忽略的精度退化。然而,將知識精餾與之前的方法(即量化和剪枝)相結合已經取得了巨大的成功[195]。

e) 量化: 最后,量化方法在神經網絡模型的訓練和推理方面都表現出了巨大和一致的成功。雖然數字表示和量化的問題和數字計算一樣古老,但神經網絡提供了獨特的改進機會。雖然對量化的研究主要集中在推理方面,但我們應該強調量化在神經網絡訓練方面取得了重要的成功[10,35,57,130,247]。特別是,半精度和混合精度訓練的突破[41,72,79,175]是人工智能加速器實現一個數量級更高吞吐量的主要驅動因素。然而,事實證明,如果沒有顯著的調整,很難達到半精度以下,而且最近的大多數量化研究都集中在推理上。這種用于推理的量化是本文的重點。

f) 量化和神經科學: 神經網絡量化是神經科學領域的一項工作,表明人類大腦以離散/量化的形式存儲信息,而不是以連續的形式存儲信息[171,236,240]。這一觀點的一個普遍理由是,以連續形式存儲的信息不可避免地會被噪聲(噪聲總是存在于物理環境中,包括我們的大腦,它可以由熱噪聲、感覺噪聲、外部噪聲、突觸噪聲等引起)所損壞[27,58]。然而,離散信號表示對這種低水平噪聲更有魯棒性。其他原因,包括離散表示更高的泛化能力[128,138,242]和有限資源下更高的效率[241],也被提出。我們建議讀者參考[228]對神經科學文獻中相關工作的全面回顧。

付費5元查看完整內容

摘要

Transformers 在自然語言處理、計算機視覺和音頻處理等許多人工智能領域都取得了巨大的成功。因此,自然會引起學術界和工業界研究人員的極大興趣。到目前為止,各種各樣的Transformer變種(即X-formers)已經被提出,但是,關于這些Transformer器變種的系統和全面的文獻綜述仍然缺乏。在這項綜述中,我們提供了一個全面的Transformer綜述。我們首先簡單介紹了普通的Transformer,然后提出了一個x-former的新分類。接下來,我們將從三個方面介紹不同的x -former架構修改,預訓練和應用。最后,展望了未來的研究方向。

//www.zhuanzhi.ai/paper/f03a47eb6ddb5d23c07f51662f3220a0

引言

Transformer[136]是一種出色的深度學習模型,被廣泛應用于自然語言處理(NLP)、計算機視覺(CV)和語音處理等各個領域。Transformer最初是作為一種用于機器翻譯的序列到序列模型提出的[129]。后來的工作表明,基于Transformer的預訓練模型(PTMs)[100]可以在各種任務上實現最先進的性能。因此,Transformer已經成為NLP的首選架構,特別是對于PTMs。除了語言相關的應用,Transformer也被應用于CV[13, 33, 94],音頻處理[15,31,41],甚至其他學科,如化學[113]和生命科學[109]。

由于成功,各種各樣的Transformer 變種(即x -former)在過去幾年里被提出。這些X-formers從不同的角度改進了vanilla Transformer。

(1) 模型的效率。應用Transformer的一個關鍵挑戰是它在處理長序列時效率低下,這主要是由于自注意力模塊的計算和存儲復雜性。改進方法包括輕量級注意力(例如稀疏注意變體)和分治法(例如循環和分層機制)。

(2) 模型泛化。由于Transformer是一種靈活的體系結構,并且很少對輸入數據的結構偏差進行假設,因此很難對小規模數據進行訓練。改進方法包括引入結構偏差或正則化、對大規模無標記數據進行預處理等。

(3) 模型的適應。該工作旨在使Transformer適應特定的下游任務和應用程序。

在這個綜述中,我們的目的是提供一個Transformer及其變體的全面綜述。雖然我們可以根據上面提到的觀點來組織x-former,但許多現有的x前輩可能會解決一個或幾個問題。例如,稀疏注意變量不僅降低了計算復雜度,而且在輸入數據上引入了結構先驗,緩解了小數據集上的過擬合問題。因此,將現有的各種X-formers進行分類,并根據它們改進Transformer的方式提出新的分類方法會更有條理: 架構修改、預訓練和應用。考慮到本次綜述的受眾可能來自不同的領域,我們主要關注于一般的架構變體,而只是簡單地討論了預訓練和應用的具體變體。

到目前為止,基于普通Transformer的各種模型已經從三個角度被提出:架構修改的類型、預訓練的方法和應用。圖2給出了Transformer變種的分類說明。

盡管“x-formers”已經證明了他們在各種任務上的能力,但挑戰仍然存在。除了目前關注的問題(如效率和泛化),Transformer的進一步改進可能在以下幾個方向:

(1) 理論分析。Transformer的體系結構已被證明能夠支持具有足夠參數的大規模訓練數據集。許多工作表明,Transformer比CNN和RNN有更大的容量,因此有能力處理大量的訓練數據。當Transformer在足夠的數據上進行訓練時,它通常比CNN或RNN有更好的性能。一個直觀的解釋是,Transformer對數據結構沒有什么預先假設,因此比CNN和RNN更靈活。然而,理論原因尚不明確,我們需要對Transformer能力進行一些理論分析。

(2) 注意力機制之外的全局交互機制更加完善。Transformer的一個主要優點是使用注意力機制來建模輸入數據中節點之間的全局依賴關系。然而,許多研究表明,對大多數節點來說,完全注意力是不必要的。在某種程度上,不可區分地計算所有節點的注意力是低效的。因此,在有效地建模全局交互方面仍有很大的改進空間。一方面,自注意力模塊可以看作是一個具有動態連接權的全連接神經網絡,通過動態路由聚合非局部信息; 因此,其他動態路由機制是值得探索的替代方法。另一方面,全局交互也可以通過其他類型的神經網絡來建模,比如記憶增強模型。

(3) 多模態數據統一框架。在許多應用場景中,集成多模態數據對于提高任務性能是非常有用和必要的。此外,一般的人工智能還需要能夠捕獲跨不同模式的語義關系。由于Transformer在文本、圖像、視頻和音頻方面取得了巨大的成功,我們有機會建立一個統一的框架,更好地捕捉多模態數據之間的內在聯系。但是,在設計中對模式內和模式間的注意還有待改進。

付費5元查看完整內容

近年來,隨著深度學習的飛速發展,深度神經網絡受到了越來越多的關注,在許多應用領域取得了顯著效果。通常,在較高的計算量下,深度神經網絡的學習能力隨著網絡層深度的增加而不斷提高,因此深度神經網絡在大型數據集上的表現非常卓越。然而,由于其計算量大、存儲成本高、模型復雜等特性,使得深度學習無法有效地應用于輕量級移動便攜設備。因此,壓縮、優化深度學習模型成為目前研究的熱點,當前主要的模型壓縮方法有模型裁剪、輕量級網絡設計、知識蒸餾、量化、體系結構搜索等。通過對以上方法的性能、優缺點和最新研究成果進行分析總結,對未來研究方向進行了展望。

付費5元查看完整內容
北京阿比特科技有限公司