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

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元查看完整內容

相關內容

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

知識薈萃

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

更多

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

最先進的神經網絡架構設計的最新進展正在向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元查看完整內容

選自arXiv機器之心編譯編輯:趙陽

如果硬件跟不上需求,我們可以盡可能提高算法效率。 訓練越來越大的深度學習模型已經成為過去十年的一個新興趨勢。如下圖所示,模型參數量的不斷增加讓神經網絡的性能越來越好,也產生了一些新的研究方向,但模型的問題也越來越多。

首先,這類模型往往有訪問限制,沒有開源,或者即使開源,仍然需要大量的計算資源來運行。第二,這些網絡模型的參數是不能通用的,因此需要大量的資源來進行訓練和推導。第三,模型不能無限擴大,因為參數的規模受到硬件的限制。為了解決這些問題,專注于提高效率的方法正在形成一種新的研究趨勢。 近日,來自希伯來大學、華盛頓大學等多所機構的十幾位研究者聯合撰寫了一篇綜述,歸納總結了自然語言處理(NLP)領域的高效方法。

論文地址://arxiv.org/pdf/2209.00099.pdf 效率通常是指輸入系統的資源與系統產出之間的關系,一個高效的系統能在不浪費資源的情況下產生產出。在 NLP 領域,我們認為效率是一個模型的成本與它產生的結果之間的關系。

方程(1)描述了一個人工智能模型產生某種結果(R)的訓練成本(Cost)與三個(不完備的)因素成正比:

(1)在單個樣本上執行模型的成本(E); (2)訓練數據集的大小(D); (3)模型選擇或參數調整所需的訓練運行次數(H)。

然后,可以從多個維度衡量成本 Cost(·) ,如計算、時間或環境成本中的每一個都可以通過多種方式進一步量化。例如,計算成本可以包括浮點運算(FLOPs)的總數或模型參數的數量。由于使用單一的成本指標可能會產生誤導,該研究收集和整理了關于高效 NLP 的多個方面的工作,并討論了哪些方面對哪些用例有益。

該研究旨在對提高 NLP 效率的廣泛方法做一個基本介紹,因此該研究按照典型的 NLP 模型 pipeline(下圖 2)來組織這次調查,介紹了使各個階段更高效的現有方法。

這項工作給 NLP 研究人員提供了一個實用的效率指南,主要面向兩類讀者:

(1)來自 NLP 各個領域的研究人員,幫助他們在資源有限的環境下工作:根據資源的瓶頸,讀者可以直接跳到 NLP pipeline 所涵蓋的某個方面。例如,如果主要的限制是推理時間,論文中第 6 章描述了相關的提高效率方法。 (2)對改善 NLP 方法效率現狀感興趣的研究人員。該論文可以作為一個切入點,為新的研究方向尋找機會。

下圖 3 概述了該研究歸納整理的高效 NLP 方法。

此外,雖然硬件的選擇對模型的效率有很大的影響,但大多數 NLP 研究者并不能直接控制關于硬件的決定,而且大多數硬件優化對于 NLP pipeline 中的所有階段都有用。因此,該研究將工作重點放在了算法上,但在第 7 章中提供了關于硬件優化的簡單介紹。最后,該論文進一步討論了如何量化效率,在評估過程中應該考慮哪些因素,以及如何決定最適合的模型。

付費5元查看完整內容

【導讀】關于《深度學習系統優化》綜述論文

深度學習(Deep Learning, DL)模型在視覺、語言、醫療、商業廣告、娛樂等許多應用領域都取得了優異的表現。隨著DL應用和底層服務硬件的快速發展,都顯示出了強大的擴展趨勢,即模型擴展和計算擴展,例如,最近的預訓練模型具有數千億參數,內存消耗約TB級,以及提供數百個TFLOPS的最新GPU加速器。隨著規模化趨勢的出現,DL推理服務系統出現了新的問題和挑戰,逐步向大規模深度學習服務系統發展。本綜述旨在總結和分類大規模深度學習服務系統出現的挑戰和優化機會。通過提供一種新穎的分類方法,總結計算范式,闡述最新的技術進展,我們希望本綜述能夠揭示新的優化視角,激發大規模深度學習系統優化的新工作。

//www.zhuanzhi.ai/paper/9ee7ca2cf6457080794f9b6608f09e7a

深度學習(DEEP Learning, DL)模型,如CNN[15,36,44],Transformers[2,7,10,29]和推薦模型[31,41]在許多認知任務,如視覺、語音和語言應用中取得了優異的表現,這在許多領域產生重要的應用,如醫學圖像分析[38],照片造型[34],機器翻譯[40],產品推薦[31]、定制廣告[13]、游戲[21]等。這種廣泛的DL應用帶來了巨大的市場價值,也帶來了大量的DL服務流量。例如,FB有18.2億的日活躍用戶[11]。廣告推薦查詢的數量可以達到每秒10M查詢。消費者生成數據的巨大增長和DL服務的使用也推動了對以人工智能為中心的數據中心(如亞馬遜AWS[27]和微軟Azure[6])的需求,以及對GPU等強大的DL加速器的日益采用。根據[35]的報告,2018年,GPU在全球數據中心加速器市場上以298300萬美元的份額占據了85%的主要份額。到2025年,該產品將達到298.19億美元。

隨著市場需求的不斷增長,DL應用和底層服務硬件在計算可擴展(例如,增加計算并行性、內存和存儲以服務于更大的模型)和模型擴展(例如,更高的結構復雜性、計算工作量、參數大小以獲得更好的精度),這大大復雜化了服務系統的管理和優化。一方面,如圖1 (a)所示,在計算擴展趨勢下,具有大規模計算并行性的GPU已成為近年來數據中心DL計算加速器的主要類型之一,并保持著持續的指數級性能縮放。最近的GPU如NVIDIA Tesla V100提供每秒130拉浮點運算(TFLOPS),和900 GB / s內存帶寬, 和這些數字進一步增加到312 TFLOPS和1.6 TB / s內存帶寬,可以提供數萬DL模型如ResNet50[15]同時提供更高的效率(性能/瓦特)。另一方面,如圖1 (b)所示,模型規模已經被證明是獲得更好的精度的最重要的因素之一,其有效性在實踐中一致顯示在所有領域的工業超大模型,如視覺模型BiT [22], NLP模型BERT [7],GPT3[2]和深度學習推薦模型DLRM[31]。例如,最近的超大型模型MT-NLG[29]已經實現了5300億參數。工業級商用DLRM[31]已達到~ TB模型大小,大大超過了單機存儲能力,需要多個設備才能進行協同計算。

在這樣的背景下,我們觀察到目前的DL系統社區對大規模深度學習系統(LDS)仍然缺乏足夠的認識和關注,忽視了出現的挑戰和機遇: 傳統的DL系統優化通常集中在單模型單機推理設置(即一對一映射)。然而,LDS具有更大的DL模型和更強大的硬件,能夠實現更靈活的推理計算,將多實例到單設備、一實例到多設備、甚至多實例到多設備映射變為現實。例如,計算縮放(如GPU、TPU)促使許多研究工作在單個設備上進行多模型推理,例如將一個GPU劃分為多個容器化vGPU或多實例GPU (MIG),以獲得更好的硬件利用率、更高的服務吞吐量和成本效率。考慮到實際的成本管理(例如,總擁有成本,TCO),服務大量推理查詢的數據中心也傾向于遷移到多租戶推理服務,例如,將多個推理查詢放置在同一設備上,從而產生新的優化目標(例如,每秒服務的總查詢,以及來自傳統單租戶推斷的約束(例如,服務水平協議、SLA)。類似地,模型擴展也提出了新的一對多推理場景的要求。目前的超大型模型(如DLRM)在推理過程中需要耗費大量的內存(~TB不量化),這需要新的協同計算范式,如異構計算或分布式推理。這種協作服務涉及遠程進程調用(RPC)和低帶寬通信,這帶來了與傳統的單設備推理截然不同的瓶頸。由于涉及到以上所有場景,現代數據中心面臨更復雜的多對多場景,需要專門的推理查詢調度,如服務路由器和計算設備管理,以獲得更好的服務性能,如延遲、吞吐量和成本等。

在本文中,我們提出了一種新的計算范式分類法,總結了新的優化目標,闡述了新的技術設計視角,并為未來的LDS優化提供了見解。

  • 多對多計算范式以DNN實例(I)和計算設備(D)之間的關系為特征,新興的LDS計算范式除了單實例單設備(SISD)外,還可以分為三個新的類別,即多實例單設備(MISD),單實例多設備(SIMD)和多實例多設備(MIMD),如圖2所示。與專注于單模型性能的SISD不同,LDS工作有不同的優化目標,包括推理延遲、服務吞吐量、成本、可擴展性、服務質量等。例如,多租戶推理(multi-tenant inference, MISD)的目標是提高服務吞吐量和電力效率,而超大規模模型推理服務的目標是以低成本提高硬件可伸縮性。

  • 大規模設計和技術由于推理服務的規模,LDS工作也在算法創新、運行時調度和資源管理方面面臨許多優化挑戰和機遇。例如,多租戶推理優化尋求細粒度的硬件資源分區和作業調度,例如空間/時間共享,以提供QoS保證。由于延遲通信瓶頸,分布式推理需要專門的模型-硬件協同優化,例如高效的模型分片和平衡協作等。

通過對現有工作的總結,我們旨在對出現的挑戰、機遇和創新提供一個全面的調研,從而推動LDS運營和優化的新創新。調研的其余部分組織如下:第2節介紹了研究的初步內容,包括我們對LDS的分類,并說明了本次調研的范圍。第3節總結了在多實例單設備(MISD)優化方面面臨的挑戰和最近的工作;第4節總結了單實例多設備(SIMD)優化方面的研究工作;第5節總結了這項工作。

付費5元查看完整內容

聯邦學習旨在在不犧牲本地數據隱私的情況下,從多個分散的邊緣設備(例如移動設備)或服務器中學習機器學習模型。最近的自然語言處理技術依賴于深度學習和大型預訓練語言模型。然而,大型深度神經模型和語言模型都是用大量數據訓練的,這些數據通常位于服務器端。由于文本數據廣泛來自最終用戶,在這項工作中,我們研究了最近使用聯邦學習作為學習框架的 NLP 模型和技術。我們的綜述討論了聯邦自然語言處理的主要挑戰,包括算法挑戰、系統挑戰以及隱私問題。我們還對現有的聯邦 NLP 評估方法和工具進行了嚴格審查。最后,我們強調了當前的研究差距和未來的方向。

//www.zhuanzhi.ai/paper/a7798d2845ab5942e6e095b0be202d08

付費5元查看完整內容

深度學習已經在計算機視覺、自然語言理解、語音識別、信息檢索等領域掀起了一場革命。然而,隨著深度學習模型的不斷改進,其參數數量、延遲時間、訓練所需資源等都有了顯著增加。因此,關注模型的度量也變得很重要,而不僅僅是它的質量。我們提出深度學習中的效率問題,隨后對模型效率的五個核心領域(包括建模技術、基礎設施和硬件)以及其中的開創性工作進行了全面調研。我們還提供了一個基于實驗的指南和代碼,供從業者優化他們的模型訓練和部署。我們相信,這是在高效深度學習領域的第一次全面綜述,涵蓋了從建模技術到硬件支持的模型效率景觀。我們的希望是,這個綜述將為讀者提供心理模型和必要的理解,應用通用的效率技術,立即獲得顯著的改進,并促使他們的想法,進一步的研究和實驗,以實現額外的收益。

//www.zhuanzhi.ai/paper/0f8f07193a10367d2246a95c3c7785bb

引言

在過去的十年里,利用神經網絡進行深度學習一直是訓練新的機器學習模型的主要方法。它的崛起通常歸功于2012年的ImageNet競賽[45]。那一年,多倫多大學的一個團隊提交了一個深度卷積網絡(AlexNet[92],以首席開發人員Alex Krizhevsky的名字命名),其表現比排名第二的好41%。這一開創性工作的結果是,人們競相創造具有越來越多參數和復雜性的更深度網絡。一些模型架構,如VGGNet [141], Inception [146], ResNet[73]等,在隨后幾年的ImageNet競賽中連續打破了先前的記錄,同時它們的占用空間(模型大小,延遲等)也在增加。

這種效應在自然語言理解(NLU)中也得到了關注,其中主要基于注意力層的Transformer[154]體系結構刺激了通用語言編碼器(如BERT[47]、GPT-3[26]等)的開發。BERT在發布時擊敗了11個NLU基準測試。GPT-3還通過其API在行業的多個地方得到了應用。這些域之間的共同方面是模型占用空間的快速增長(參見圖1),以及與訓練和部署它們相關的成本。

深度學習研究一直專注于提高現有SOTA性能,圖像分類、文本分類等基準的逐步改進與網絡復雜度、參數數量、訓練網絡所需的訓練資源數量、預測延遲等的增加有關。例如,GPT-3包含1750億個參數,僅訓練一次迭代([26])就要花費數百萬美元。這排除了試驗/嘗試不同超參數組合的成本,這在計算上也是昂貴的。

雖然這些模型可以很好地執行它們所接受的任務,但它們可能不足以在現實世界中進行直接部署。在培訓或部署模型時,深度學習從業者可能面臨以下挑戰。

可持續的服務器端擴展: 訓練和部署大型深度學習模型的成本很高。雖然訓練可能是一次性成本(或者如果使用的是預先訓練的模型,則可能是免費的),但是部署并讓推理運行很長一段時間,在服務器端RAM、CPU等方面的消耗仍然是昂貴的。對于谷歌、Facebook、亞馬遜等機構來說,數據中心的碳足跡也是一個非常現實的問題,這些機構每年在數據中心的資本支出上都要花費數十億美元。

終端設備上部署: 某些深度學習應用程序需要在物聯網和智能設備上實時運行(模型推斷直接發生在設備上),原因有很多(隱私、連通性、響應性)。因此,必須為目標設備優化模型。

隱私和數據敏感性: 當用戶數據可能很敏感時,能夠使用盡可能少的數據進行訓練是至關重要的。因此,使用一小部分數據高效地訓練模型意味著所需的數據收集較少。

新的應用: 某些新的應用提供了新的約束(關于模型質量或足跡),現有的現成模型可能無法解決。

模型爆炸: 雖然一個單一的模型可能工作得很好,但為不同的應用在相同的基礎設施(托管)上訓練和/或部署多個模型可能會耗盡可用資源。

高效深度學習

圍繞上述挑戰的共同主題是效率。我們可以進一步細分如下:

推理效率: 這主要處理部署推理模型(計算給定輸入的模型輸出)的人會問的問題。型號小嗎?它快嗎,等等?更具體地說,模型有多少參數、磁盤大小、推斷期間的RAM消耗、推斷延遲等。

訓練效率: 這涉及到訓練模型的人會問的問題,比如模型需要多長時間來訓練?有多少設備?模型能適應內存嗎?等。它可能還包括這樣的問題,模型需要多少數據才能在給定的任務上實現期望的性能?

在本節中,我們將介紹mental模型來思考與高效深度學習相關的算法、技術和工具的集合。我們提出在五個主要領域構建它們,前四個集中在建模上,最后一個圍繞基礎設施和工具。

(1) 壓縮技術: 這些是用于優化模型架構的通用技術和算法,通常是通過壓縮層數。一個經典的例子是量化[82],它試圖壓縮一層的權矩陣,通過降低其精度(例如。(從32位浮點值到8位無符號整數),質量損失最小。

(2) 學習技術: 這些算法專注于不同的訓練模型(做出更少的預測錯誤,需要更少的數據,收斂更快等)。如果需要的話,通過削減參數的數量,可以將改進的質量轉換為更小的內存占用/更高效的模型。學習技術的一個例子是蒸餾[75],它通過學習模仿較大的模型來提高較小模型的準確性。

(3) 自動化: 這些是使用自動化改進給定模型的核心度量的工具。一個例子是超參數優化(HPO)[61],優化超參數有助于提高精度,然后可以用較少參數的模型進行交換。類似地,體系結構搜索[167]也屬于這一類,其中體系結構本身進行了調優,搜索有助于找到一個模型,該模型既優化了損耗/準確性,又優化了一些其他指標,如模型延遲、模型大小等。

(4) 高效架構: 這些是從頭開始設計的基本塊(卷積層、注意力等),是對之前使用的基線方法(分別是完全連接層和RNN)的重大飛躍。例如,卷積層引入了參數共享用于圖像分類,避免了為每個輸入像素學習單獨的權值,也使其對過擬合具有魯棒性。同樣,注意力層[21]解決了Seq2Seq模型中的信息瓶頸問題。這些架構可以直接用于提高效率。

(5) 基礎設施: 最后,我們還需要基礎設施和工具來幫助我們構建和利用有效的模型。這包括模型訓練框架,如Tensorflow[1]、PyTorch[119]等(以及部署高效模型所需的工具,如Tensorflow Lite (TFLite)、PyTorch Mobile等)。我們依賴于基礎設施和工具來利用高效模型的收益。例如,要獲得量化模型的規模和延遲改進,我們需要推理平臺支持量化模式下的常見神經網絡層。

付費5元查看完整內容

目標檢測是對圖像或視頻中的物體進行分類和定位的任務。近年來,由于其廣泛的應用而倍受關注。本文概述了基于深度學習的目標檢測器的最新發展。還提供了用于檢測的基準數據集和評估指標的簡要概述,以及用于識別任務的一些著名的主干架構。它還涵蓋了邊緣設備上使用的當代輕量級分類模型。最后,我們在多個指標上比較了這些體系結構的性能。

付費5元查看完整內容

【導讀】知識蒸餾是一種典型的模型壓縮和加速方法,在很多應用場景對此有需求。來自悉尼大學的學者發布了《知識蒸餾》的綜述論文,值的關注。

//arxiv.org/abs/2006.05525

近年來,深度神經網絡在工業和學術界取得了巨大的成功,特別是在視覺識別和神經語言處理方面的應用。深度學習的巨大成功,主要歸功于其巨大的可擴展性,既有大規模的數據樣本,也有數十億的模型參數。然而,在資源有限的設備如移動電話和嵌入式設備上部署這些笨重的深模型也帶來了巨大的挑戰,不僅因為計算量大,而且存儲空間大。為此,開發了各種模型壓縮和加速技術,如剪枝、量化和神經結構搜索。知識蒸餾是一種典型的模型壓縮和加速方法,旨在從大教師模型中學習小學生模型,越來越受到社會的關注。本文從知識分類、訓練方案、知識提取算法以及應用等方面對知識提取進行了綜述。此外,我們簡要回顧了知識提煉的挑戰,并對未來的研究課題提供了一些見解。

概述

在過去的幾年里,深度學習在人工智能領域取得了巨大的成功,包括計算機視覺(Krizhevsky et al., 2012)、強化學習(Silver et al., 2016)和神經語言處理(Devlin et al., 2018)的各種應用。借助最近許多技術,包括殘差連接(He et al., 2016)和批處理歸一化(Ioffe and Szegedy, 2015),我們可以輕松地在強大的GPU或TPU集群上訓練具有數千層的深度模型。例如,只需不到10分鐘就可以在數百萬張圖像的數據集上訓練ResNet模型(Deng et al. , 2009 ; Sun et al. , 2019); 訓練一個強大的BERT模型進行語言理解只需要不到一個半小時 (Devlin et al., 2018; You et al., 2019).。雖然大規模的深度模型帶來了令人難以置信的性能,但其龐大的計算復雜度和海量的存儲需求給實時應用的部署帶來了巨大的挑戰,特別是對于那些資源有限的設備,比如嵌入式人臉識別系統和自動駕駛汽車。

為了開發高效的深度模型,最近的工作通常集中在1)基于深度可分離卷積的高效基本塊,如MobileNets (Howard et al. , 2017 ; Sandler et al. , 2018) 和ShuffleNets (Zhang et al. , 2018a ; Ma et al. , 2018); (2)模型壓縮和加速技術,主要包括以下類別(Cheng et al., 2018)。

  • 參數修剪和共享: 這些方法主要是去除深層神經網絡中不重要的參數,去除的參數對性能影響不大。該類別又分為模型量化(Wu et al., 2016)和二值化(Courbariaux et al., 2015)、參數共享(Han et al., 2015)和結構矩陣(Sindhwani et al., 2015)。

  • 低秩分解: 這些方法通過矩陣/張量分解來探索深度神經網絡參數的冗余性(Denton et al., 2014)。

  • 傳輸/壓縮卷積濾波器: 這些方法通過傳輸/壓縮卷積濾波器來減少不必要的參數(Zhai et al., 2016)。

  • 知識蒸餾(KD): 這些方法通常將知識從一個較大的深度神經網絡提取到一個較小的網絡中(Hinton et al., 2015)。

對模型壓縮和加速的全面回顧超出了本文涵蓋的范圍,而我們關注的是知識蒸餾,這已經得到越來越多的研究社區關注。在實踐中,大型深度模型往往會取得非常好的性能,因為過參數化提高了泛化性能 (Brutzkus and Globerson, 2019; Allen-Zhu et al., 2019; Arora et al., 2018)。知識蒸餾通過在大教師模型的監督下學習小學生模型,從而探究深度模型中參數的冗余性,用于推理(Bucilua et al., 2006; Ba and Caruana, 2014; Hinton et al., 2015; Urban et al., 2016),而知識蒸餾的關鍵問題是如何將知識從大教師模型轉移到小學生模型。一般情況下,知識蒸餾的師生框架如圖1所示。雖然在實踐中取得了巨大的成功,但在理論或經驗上理解知識提煉方法的工作并不多(Cheng et al., 2020; Phuong and Lampert, 2019; Cho and Hariharan, 2019)。具體來說,為了理解知識蒸餾的工作機制,Phuong和Lampert在深度線性分類器的情況下,從理論上證明了學習精餾學生網絡快速收斂的泛化邊界(Phuong和Lampert, 2019)。這一解釋理論上回答了學生學習的內容和速度,并揭示了決定蒸餾成功的因素。蒸餾的成功依賴于數據幾何、蒸餾目標的優化偏差和學生分類器的強單調性。Cheng等人量化了來自深度神經網絡中間層的視覺概念知識,以解釋知識蒸餾(Cheng et al., 2020)。Cho和Hariharan對知識蒸餾的有效性進行了詳細的實證分析(Cho和Hariharan, 2019)。實證分析發現,由于模型容量的差距,較大的模型不一定是更好的老師(Mirzadeh et al., 2019),而精餾會對學生的學習產生不利影響。據我們所知,(Cho and Hariharan, 2019)忽略了對教師和學生之間不同知識、不同蒸餾和相互感情的經驗評價。此外,通過實證分析,從標簽平滑、教師和先驗對最優輸出層幾何形狀的預測置信度等角度探討了對知識蒸餾的理解(Tang et al., 2020)。

模型壓縮的知識蒸餾思想與人類的學習方案非常相似。為此,近年來的知識蒸餾方法不僅擴展到了師生學習(Hinton et al., 2015),還擴展到了相互學習(Zhang et al., 2018b)、自學(Yuan et al., 2019)、輔助教學(Mirzadeh et al., 2019)和終身學習(Zhai et al., 2019)。知識蒸餾的大部分擴展集中于壓縮深度神經網絡,因此輕量級的學生網絡可以很容易地部署在諸如視覺識別、語音識別和自然語言處理(NLP)等應用程序中。此外,知識蒸餾中從一個模型到另一個模型的知識轉移符號也可以擴展到其他任務,如對抗攻擊(Papernot et al., 2016b)、數據增強(Lee et al., 2019a;Gordon和Duh, 2019),數據隱私和安全(Wang等,2019a)。

本文對知識蒸餾的研究進行了綜述。本綜述的主要目的是1) 全面概述知識蒸餾,包括動機的背景,基本符號和公式,以及幾種典型知識,蒸餾和算法; 2) 全面回顧知識蒸餾的最新進展,包括理論、應用和在不同現實場景下的擴展; 3) 從知識遷移的不同角度,包括不同類型的知識、訓練方案、知識提煉算法/結構和應用,闡述知識蒸餾的一些挑戰和見解。本文組織概況如圖2所示。具體地說,本文的其余部分結構如下。第二節給出了知識蒸餾的重要概念和常規模型。知識和蒸餾的種類分別在第3節和第4節中進行了總結。現有的關于知識提煉中的師生結構的研究在第5部分進行了說明。第6節對許多最新的知識蒸餾方法進行了全面的總結和介紹。知識蒸餾的廣泛應用將在第7節的不同方面加以說明。第8節討論了知識蒸餾中具有挑戰性的問題和未來的方向。最后,在第9節給出結論。

付費5元查看完整內容

深度神經網絡最近展示了其解決復雜任務的驚人能力。如今的模型使用功能強大的GPU卡在數百萬個示例上進行訓練,能夠可靠地對圖像進行注釋、翻譯文本、理解口語或玩國際象棋或圍棋等戰略性游戲。此外,深度學習也將成為未來許多技術的組成部分,例如自動駕駛、物聯網(IoT)或5G網絡。特別是隨著物聯網的出現,智能設備的數量在過去幾年里迅速增長。這些設備中有許多都配備了傳感器,使它們能夠以前所未有的規模收集和處理數據。這為深度學習方法提供了獨特的機會。

然而,這些新的應用程序帶有許多附加的約束和要求,這些約束和要求限制了當前模型的開箱即用。

1. 嵌入式設備、物聯網設備和智能手機的內存和存儲容量有限,能源資源有限. 像VGG-16這樣的深度神經網絡需要超過500 MB的內存來存儲參數,執行單次向前傳遞需要15 gb的操作。很明顯,這些模型的當前(未壓縮的)形式不能在設備上使用。

2. 訓練數據通常分布在設備上,由于隱私問題或有限的資源(帶寬),無法簡單地在中央服務器上收集. 由于只有少量數據點的模型的局部訓練通常不太有希望,因此需要新的協作訓練方案來將深度學習的能力引入這些分布式應用程序。

本教程將討論最近提出的解決這兩個問題的技術。我們將首先簡要介紹深度學習,它的當前使用和今天的模型在計算和內存復雜性、能源效率和分布式環境方面的局限性。我們將強調解決這些問題的實際需要,并討論實現這一目標的最新進展,包括ITU ML5G和MPEG AHG CNNMCD正在開展的標準化活動。

然后我們將進入神經網絡壓縮的話題。我們將首先簡要介紹源編碼和信息論的基本概念,包括速率失真理論、量化、熵編碼和最小描述長度原則。這些概念需要形式化的神經網絡壓縮問題。然后我們將繼續討論壓縮DNNs的具體技術。為此,我們將區分壓縮過程的不同步驟,即剪枝和稀疏化、量化和熵編碼。前兩步是有損的,而最后一步是無損的。由于縮小尺寸并不是神經網絡壓縮的唯一目標(例如,快速推理、能源效率是其他目標),我們還將討論有效推理的方法,包括最近提出的神經網絡格式。最后,我們將介紹一個用例,即設備上的語音識別,演示如何在實際應用中使用壓縮方法。

最后我們將介紹分布式學習的最新發展。我們提出了不同的分布式訓練場景,并根據它們的通信特性進行了比較。接下來,我們將重點討論聯邦學習。我們列舉了聯邦學習中存在的挑戰——通信效率、數據異構性、隱私、個性化、健壯性——并提出了解決這些挑戰的方法。我們特別關注為減少分布式學習中的通信開銷而提出的技術,并討論集群化FL,這是一種與模型無關的分布式多任務優化的新方法。這里我們將強調本教程第一部分中介紹的概念的相似性,即稀疏化、量化和編碼。

目錄:

  1. 介紹
  • 目前使用的深度學習
  • 現有模型和新應用的實際局限性
  • 研究、工業和標準化方面的最新發展
  1. 神經網絡壓縮
  • 背景:資料編碼、信息論
  • 修剪和稀疏化方法
  • 量化和定點推理
  • 神經網絡格式
  • 用例研究:設備上的語音識別

3.問題 4. 休息時間 5. 分布式學習

  • 背景:SGD,學習理論
  • 聯邦和分布式學習的基本概念
  • 減少通信開銷和連接到NN壓縮
  • 聯邦學習和差異隱私
  • 集群聯合學習
  1. 問題
付費5元查看完整內容

A Survey of Model Compression and Acceleration for Deep Neural Networks 深度卷積神經網絡(CNNs)最近在許多視覺識別任務中取得了巨大的成功。然而,現有的深度神經網絡模型在計算上是昂貴的和內存密集型的,這阻礙了它們在低內存資源的設備或有嚴格時間延遲要求的應用程序中的部署。因此,在不顯著降低模型性能的情況下,在深度網絡中進行模型壓縮和加速是一種自然的思路。在過去幾年中,這方面取得了巨大的進展。本文綜述了近年來發展起來的壓縮和加速CNNs模型的先進技術。這些技術大致分為四種方案: 參數剪枝和共享、低秩因子分解、傳輸/緊湊卷積過濾器和知識蒸餾。首先介紹參數修剪和共享的方法,然后介紹其他技術。對于每種方案,我們都提供了關于性能、相關應用程序、優點和缺點等方面的詳細分析。然后我們將討論一些最近比較成功的方法,例如,動態容量網絡和隨機深度網絡。然后,我們調查評估矩陣、用于評估模型性能的主要數據集和最近的基準測試工作。最后,對全文進行總結,并對今后的研究方向進行了展望。

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