**深度神經網絡(DNN)在許多領域都提供了最先進的性能,但這一成功是以高計算和內存資源為代價的。**由于DNN推理在邊緣和云系統上都是一種流行的工作負載,因此迫切需要提高其能效。改進的效率使dnn能夠在更大范圍的目標市場中使用,并有助于提高性能,如果今天經常受到功率限制。本文采用軟硬件協同設計的方法,提高了不同硬件平臺上深度神經網絡推理的性能。我首先展示了一些降低DNN運行時成本的軟件優化技術。總的來說,我證明了模型大小可以減少34倍。不同風格的神經網絡壓縮技術的組合可以在縮小內存足跡方面提供成倍的收益。這些技術適用于在內存敏感的邊緣設備上運行DNN推理。利用運行時和依賴數據的特征信息,我開發了一種動態剪枝策略,其性能明顯優于現有的靜態剪枝方法。所提出的動態剪枝不僅減少了模型大小,而且減少了GPU的乘累加操作數量。我還介紹了一種新的量化機制,該機制被調整為適合模型參數的自然分布,這種方法減少了DNN推斷所需的位操作總數。然后,本文專注于使用自定義硬件加速DNN。構建了一個名為Tomato的框架,它在FPGA設備上生成多精度和多算法硬件加速器。軟硬件聯產流程從高層神經網絡描述中部署硬件加速器,利用FPGA器件的硬件可重構性支持靈活的每層量化策略。然后,我證明了自動生成的加速器在延遲和吞吐量方面比最接近的基于FPGA的競爭對手至少高出2到4倍。為ImageNet分類生成的加速器以每秒超過3000幀的速度運行,延遲僅為0.32ms,使其成為延遲關鍵、高吞吐量的云端推理的合適候選。最后,我展示了自動化機器學習技術如何通過硬件感知來改進,以為新興類型的神經網絡和新的學習問題設置產生高效的網絡架構。硬件感知的網絡架構搜索(NAS)能夠發現更節能的網絡架構,并在圖神經網絡等新興神經網絡類型上實現顯著的計算節省。在8個不同的圖數據集上與7個人工和NAS生成的基線相比,所提出的低精度圖網絡架構搜索提高了大小-精度的帕累托前沿。此外,我演示了硬件感知的NAS可以應用于多任務多設備少樣本學習場景。在具有各種硬件平臺和約束的流行的少樣本學習基準中,所提出的方法的性能明顯優于各種NAS和人工基準。在5路1樣本Mini-ImageNet分類任務上,所提方法在減少60%計算量的情況下,比最好的人工基線在準確率上提高了5.21%。
深度學習的發展導致了在各種應用領域的各種任務上的顯著性能提升,這些應用領域包括計算機視覺、自然語言處理、強化學習、生成模型,以及最近從圖結構數據中進行的關系學習。這一成功的主要原因是計算能力的提高,這允許深度和高度參數化的神經網絡架構,這些架構可以從原始數據中學習復雜的特征轉換。然而,深度神經網絡的高表示能力往往是以高模型復雜度為代價的,這指的是高參數化,以及與深度學習相關的內存和計算負擔。**在本文中,我依靠參數有效的神經算子,對數據的適當建模假設和網絡結構的歸納偏差,在幾個應用領域提出更簡單的神經網絡模型。**對于我工作的每個應用領域,我使用這些效率原則的組合來設計新穎的方法。首先,在醫學圖像處理的背景下,我觀察到空間對齊的神經圖像比自然圖像表現出更少的自由度,這證明使用低容量卷積算子是合理的。我通過應用參數高效的卷積變體來實現這一點。我展示了早期阿爾茨海默病預測的最先進結果,同時使用的參數減少了多達125倍,乘累加操作減少了17倍以上。對于設計用于識別受試者亞型的神經圖像的無監督方法也得出了類似的結論。其次,我著手緩解從零開始訓練參數高效的深度模型的挑戰。這可以減少在資源受限的"邊緣"設備上訓練深度模型的不可行性。所提方法基于一個簡化的網絡結構假設,即參數無關性,允許在組合多臂匪徒的背景下建模問題。該方法可以動態地,即在訓練期間,在遵循預定義的內存使用預算的同時,在超參數化模型中識別高性能緊湊的子網絡。這是通過將顯著性指標與每個神經元相關聯來實現的,然后用于驅動參數激活,類似于門控機制,同時學習參數。因此,深度神經網絡訓練和推理過程中的計算和內存負擔都顯著減少。最后,提出一種深度概率模型,用于學習動態圖中的無監督節點和社區嵌入。基于網絡固有的社團結構,引入了關于邊形成機制的結構歸納偏差。此外,我還假設節點和社區都是平滑的時間演化,其靈感來自于數據中缺乏破壞性事件。本文提出一種該方法的參數高效實現,在各種動態預測任務上優于最先進的圖卷積網絡。
在過去的十年中,我們目睹了人們對機器學習(ML)的興趣急劇上升。深度神經網絡已經在從圖像分類到游戲玩的各種任務上實現或超過了人類水平。在這些應用中,我們通常觀察到模型的輸入具有某種形式的規則結構:例如,圖像是一個2D網格。最近,人們有興趣將ML革命的成功擴展到沒有統一結構的數據,如圖。圖由一組節點和一組定義節點之間關系的邊組成,為建模提供了極大的靈活性。這些模型應用于從代碼分析到推薦系統再到藥物發現的各種問題,實現了最先進的性能并為ML打開了新的應用。
由于圖神經網絡(gnn)已被證明的潛力和可能應用的巨大空間,當我們打算將這些模型部署到研究背景之外時,自然會將注意力轉向出現的實際問題。一個主要的問題是效率:我們如何設計消耗更少資源(如時間和內存)的GNN,以將我們的訓練擴展到更大的模型和數據集,并將我們的模型部署到更資源受限的設備?此外,一旦我們將這些模型發布到野外,我們如何確保它們能夠抵御來自潛在對手的攻擊?這些是激勵本文工作的問題:哪些新技術是必要的,以解決這些效率和安全問題? 本文中反復出現的一個主題是,正則結構的丟失給GNNs帶來了幾個獨特的挑戰:適用于其他常見神經網絡架構的技術不一定適用于GNNs。本文首先嚴格評估了在其他神經網絡架構中流行的兩種軟硬件協同設計技術:量化,在推理時使用低精度的算法,以及剪枝,從網絡中刪除權重。研究了高效的架構設計,首先是通用gnn的架構設計,其次是專門為處理點云數據而設計的模型。最后,本文描述了與這些模型相關的一種新型安全漏洞,并討論了可能的緩解措施。
**深度神經網絡(dnn)在人工智能(AI)的廣泛應用中蓬勃發展。深度神經網絡的普遍采用可以歸因于其對不同任務的高度可定制性。**事實上,研究人員已經為不同的應用設計了DNNs的變種,例如,用于視覺識別的卷積神經網絡(CNNs)、用于圖像合成的生成對抗網絡(GANs)、用于時間序列處理的循環神經網絡(RNNs)等。所有這些變體都具有高度不同的網絡拓撲和訓練目標。
//dataspace.princeton.edu/handle/88435/dsp01zk51vm00t
盡管DNNs取得了成功,但人們越來越關注DNNs的效率。當前的DNN資源匱乏,為它們在資源有限的邊緣設備上部署設置了困難的障礙。然而,深度神經網絡應用的廣泛性增加了發現高效的不同變體深度神經網絡的難度。由于這種關鍵的多樣性,很難產生一種通用方法來獲得高效的DNN,并在不同的應用程序中具有令人滿意的性能。
本文通過一個簡單而直觀而有效的概念,解決了不同領域的深度神經網絡高效設計的挑戰:深度神經網絡本身是為不同的學習目標定制的,提高其效率的方法也應該是定制的。有了這個概念,本文提出設計高效CNN、GANs和RNN的方法。本文首先提出了一種CNN壓縮算法——類判別壓縮(CDC),與CNN的類判別訓練目標無縫契合,并在不損失精度的情況下為ImageNet上的ResNet50提供了1.8倍的加速。對CNN壓縮的通道剪枝進行了深入研究。在分類精度目標的驅動下,本文提出一種進化框架,以自動發現優于手動設計的可遷移剪枝函數。本文進一步研究了GAN圖像合成的另一種應用。GAN被訓練成合成真實的內容,從而提出了一種內容感知的GAN壓縮方法,將最先進的模型加速了11倍,而圖像質量損失可以忽略不計。最后,我們將研究擴展到系統設計領域,我們的目標是通過構建高效的RNN數據預取器來緩解內存墻。本文提出一種多架構協同設計策略,將最先進的神經預取器速度提高15倍,性能甚至更好。
**隨著大型模型的發展以及數據的爆炸性增長和可用性,深度學習在眾多現實應用中取得了巨大而廣泛的突破。**然而,深度學習模型通常具有過高的計算和內存成本,不適合在移動設備或邊緣設備上進行實際部署。此外,深度學習模型面臨著學習和快速適應的挑戰,從只有幾個例子來解決新的任務。因此,本文提出了學習計算效率高的模型架構的技術和提高少樣本學習能力的方法。**我們從子空間分析方法及其在特征選擇問題中的應用開始。然后將這些方法擴展到深度神經網絡結構學習(deep neural network structural learning, SL)中,目的是減少冗余參數,以獲得能夠保持甚至提高精度的最優降維模型。**還介紹了基于混合剪枝-再生長技術的更高效的SL方法和可以跨更多維度降低模型的更通用的SL方法。除了靜態模型設計之外,本文還提出了動態神經網絡方法,可以在推理過程中根據不同的輸入動態調整模型權重和結構,以控制計算效率并提高表示能力。除了模型效率外,還提出了訓練模型的技術,可以從幾個例子中快速泛化。本文提出一種少樣本架構自適應方法,通過元學習一個任務感知架構控制器,為不同的少樣本任務定制特定于任務的模型結構。與傳統的NAS方法需要對每個新任務進行單獨的搜索成本不同,所提出方法在一次性元訓練成本后,在幾分鐘內從GPU數據集中直接生成特定于任務的模型結構。最后,提出了一種基于語言輔助表示的掩碼圖像預訓練的跨模態自監督學習框架。由此產生的模型產生了高質量的可遷移表示,提高了許多計算機視覺任務的準確性,并對對抗性/分布外樣本表現出強大的魯棒性。所產生的模型適用于結構學習以獲得更大的計算效率,也適用于低資源任務適應以獲得更好的數據效率。
//dataspace.princeton.edu/handle/88435/dsp01p8418r442
來自中科院計算所的嚴明玉博士論文,入選2022年度“CCF優秀博士學位論文獎”初評名單! //www.ccf.org.cn/Focus/2022-12-08/781244.shtml 圖計算應用和圖神經網絡是處理圖數據的核心應用,被廣泛應用于各個領 域。圖數據處理應用特有的執行行為導致傳統的通用架構無法高效地執行上述 應用。隨著智能萬物互聯時代的來臨,上述應用急需高效的硬件平臺加速。加速 圖計算應用的主要挑戰是不規則的執行行為,而加速圖神經網絡面臨兩個主要 的挑戰是混合的執行行為和算法模型的快速演變。因此本文從分析圖計算應用 和圖神經網絡的執行特征出發,對專用圖處理加速架構進行了探索,設計了如下 三款加速架構分別應對上述三個挑戰。具體主要包括以下三方面的貢獻:
基于數據依賴感知的動態調度圖計算加速架構 (GraphDynS): 首先,對圖 計算應用因依賴圖數據的不規則執行行為進行了深入分析,并歸納出導致 不規則執行行為的三種不規則性。然后,基于解耦合的 Vertex-centric 編程 模型解耦合圖計算應用的硬件通路,以建立數據依賴可視化且易調度的硬 件通路。最后,在解耦合的硬件通路上基于數據依賴感知對不規則執行行 為進行動態調度,以消除不規則性對性能的影響。在 16nm 工藝下,得到 GraphDynS 的功率和面積分別為 3.38 W 和 12.08 mm2,并比最先進的圖計 算加速架構 (Graphicionado) 快 1.8 倍且少 45% 能耗。?
多模混合圖神經網絡加速架構 (HyGCN): 對混合的執行行為進行了定量分析并設計了世界第一款圖神經網絡加速架構。該架構包含了圖遍歷引擎 和神經網絡引擎,分別用于減少不規則執行行為對性能的影響和利用規則 執行行為提高執行效率。為了進一步提高整體性能,通過構建引擎間的數 據流減少了無效計算和訪存,并基于優先級的訪存調度策略高效地協調引 擎間的片外訪存。在 12nm 工藝下,得到 HyGCN 的功率和面積分別為 6.7 W 和 8.8 mm2,比運行在 NVIDIA GPU V100 的最先進圖神經網絡軟件框 架 (Pytorch Geometry) 快 6.5 倍且少 90% 能耗。?
可重配置圖神經網絡加速架構 (UFlowGCN): 雖然算法模型不停地演變, 但核心操作離不開鄰居節點屬性向量的聚合和節點屬性向量的神經網絡 變換,并且它們的計算圖和訪存分別可以用歸約圖和變長向量訪存統一表 示。因此,本文首先提取了兩者的統一微歸約計算圖,并設計了支持各種聚合操作和點乘的 8 輸入微歸約圖計算單元。接著提出了動態數據流調度 機制,以通過微歸約圖處理單元構建各種類型和規模的計算圖,實現了計 算資源的可重配置性。最后利用訪存共性設計了高效支持變長向量訪問的 存儲子系統,實現了片上存儲資源的可重配置性。在 12nm 工藝下,得到 UFlowGCN 的功率和面積分別為 18.6 W 和 14.5 mm2。UFlowGCN 在一定 程度上兼容未來的算法模型,并比 HyGCN 快 2.5 倍且少 29% 能耗。
神經架構搜索(NAS)是最近提出的一種自動設計網絡架構的方法。NAS不是手動設計網絡架構,而是以數據驅動的方式自動找到最佳架構。盡管NAS取得了令人印象深刻的進展,但在實踐中仍遠未被廣泛采用為架構設計的通用范式。本文旨在開發有原則的NAS方法,可以自動化神經網絡的設計,并盡可能減少人工在架構調優方面的工作。為了實現這一目標,我們專注于開發更好的搜索算法和搜索空間,這兩者對NAS的性能都很重要。
在搜索算法方面,首先提出了一種基于貝葉斯優化(BO)的高效NAS框架;本文提出一種方法來學習網絡體系結構域上的嵌入空間,使得為體系結構域定義一個核函數成為可能,這是將BO應用于NAS的必要組件。提出了一種鄰域感知的NAS公式,以提高NAS發現的體系結構的泛化性。所提出的公式具有足夠的通用性,適用于各種搜索算法,包括基于采樣的算法和基于梯度的算法。
對于搜索空間,本文首先將NAS擴展到發現卷積細胞以外的注意力細胞。本文提出一種時空注意力單元的搜索空間,以注意力操作為主要構建塊。所發現的注意力單元不僅優于人工設計的注意力單元,而且在不同模態、骨干或數據集上表現出很強的泛化能力。基于committee的模型(集合或級聯)是高效模型的一個被忽視的設計空間。從現成的預訓練模型中簡單地構建committee,可以匹配或超過最先進模型的精度,同時大大提高了效率。最后,通過對不同基于激光雷達的三維目標檢測算法的比較,指出了成本控制的重要性。其次,如果允許使用類似的延遲,一個通常被認為已經顯著超過的簡單基線在Waymo開放數據集上的性能幾乎可以與最先進方法的性能相匹配。
//www.ri.cmu.edu/publications/search-algorithms-and-search-spaces-for-neural-architecture-search/
深度神經網絡(DNNs)在許多不同的感知任務中都取得了成功,如計算機視覺、自然語言處理、強化學習等。高性能的dnn需要大量的資源消耗。例如,訓練DNN需要高動態內存、大規模數據集和大量計算(訓練時間很長); 即使使用DNN進行推理也需要大量的靜態存儲、計算(較長的推理時間)和能量。因此,最先進的DNN通常部署在擁有大量超級計算機、高帶寬通信總線、共享存儲基礎設施和高功率補充的云服務器上。最近,一些新興的智能應用,如AR/VR,移動助手,物聯網,要求我們在資源有限的邊緣設備上部署DNN。與云服務器相比,邊緣設備通常只有相當少的資源。為了在邊緣設備上部署DNN,我們需要減少DNN的大小,即我們的目標是在資源消耗和模型精度之間更好地權衡。在本文中,我們研究了四個邊緣智能場景,并開發了不同的方法來實現每個場景中的深度學習。由于當前的DNN經常被過度參數化,我們的目標是在每個場景中找到并減少DNN的冗余。我們將研究的四種場景總結如下:
//www.zhuanzhi.ai/paper/98b23292d07d9ad7e453f1551f23a23e
邊緣設備推理。首先,在邊緣設備上的固定資源約束條件下,我們實現了有效的DNN推理。與云推理相比,邊緣設備的推理避免了將數據傳輸到云服務器,可以實現更穩定、更快和更節能的推理。針對存儲大量權值和在推理過程中計算的主要資源約束,提出了一種多比特網絡的自適應損失感知量化(Adaptive Loss-aware quantiization, ALQ)算法。ALQ減少了量化位寬上的冗余。直接優化目標(即損耗)和學習到的自適應位寬分配允許ALQ獲得平均位寬低于1位的極低位網絡,同時產生比最先進的二進制網絡更高的精度。
適配邊緣設備。其次,當目標邊緣設備上的資源約束在運行時動態變化時(例如允許的執行時間和可分配的RAM),我們能夠有效地適應DNN。為了在設備上推斷過程中最大化模型的準確性,我們開發了一種新的綜合方法,動態實時稀疏子網(DRESS),它可以從骨干網中采樣并執行具有不同資源需求的子網絡。DRESS通過權值共享和體系結構共享,減少了多個子網絡之間的冗余,分別提高了存儲效率和重配置效率。生成的子網絡具有不同的稀疏性,因此可以利用稀疏張量計算在不同的資源約束下進行提取推斷。
在邊緣設備上學習。第三,當面對不可見的環境或邊緣設備上的用戶時,我們能夠有效地學習dnn。設備上學習既需要數據效率,也需要內存效率。因此,我們提出了一種新的元學習方法p-Meta,以實現僅使用少數不可見任務樣本的內存高效學習。p-Meta通過只識別和更新結構上的適應關鍵權值來減少更新冗余,這節省了更新權值所需的內存消耗。
邊緣服務器系統。最后,我們在邊緣服務器系統上實現了高效的推理和高效的更新。在邊緣服務器系統中,幾個資源受限的邊緣設備通過受限的通信總線連接到資源充足的服務器。由于事前相關訓練數據有限,預訓練的DNNs在初始部署后可能會得到顯著提升。在這樣的邊緣服務器系統上,設備上推理優于云推理,因為它可以實現快速和穩定的推理,能耗更低。然而,由于邊緣設備上的內存和計算能力有限,在云服務器上進行再訓練比在設備上進行再訓練(或聯邦學習)更受歡迎。我們提出了一種新的管道深度局部更新(DPU)來迭代更新已部署的推理模型。特別是,當從邊緣設備或其他來源收集的新數據樣本在服務器上可用時,服務器只智能地選擇關鍵權重的一個子集來更新并發送到每個邊緣設備。這種基于權重的部分更新通過重用預先訓練的權重減少了冗余更新,實現了與完整更新相似的精度,但通信成本顯著降低。
引言
深度學習是一種新的顛覆性技術,極大地推動了人工智能的發展。深度神經網絡(DNNs)在深度學習中得到了廣泛的應用,它可以根據給定的輸入進行預測。DNN由大量級聯的層組成,其中每一層通常包括(i)可訓練的權重,可以在該層的輸入到輸出提取的特征上執行矩陣乘法,(ii)可以帶來非線性行為的非線性函數。在計算機視覺、自然語言處理、數學、生物化學等許多領域,DNN通常可以取得比先前的計算模型甚至人類更優越的性能。
在圖像分類中,AlexNet [KSH12]通過使用GPU訓練深度卷積神經網絡自動學習特征,在ImageNet大規模視覺識別挑戰賽(ILSVRC)上的比賽結果表明,AlexNet大大超過了之前基于手工特征構建的分類器,如隨機森林和支持向量機,精度提高超過10%。AlphaGo Zero [SHM+16]增強-學習一個深度策略模型,通過與自己對弈來預測圍棋棋盤上的移動,被學習的模型甚至可以擊敗圍棋世界冠軍。BERT [DCLT19]對未標記文本的深度雙向表示進行預訓練,然后對預訓練的模型進行微調,該模型在SQuAD測試中表現出比人類更好的語言理解能力。近年來,圖卷積神經網絡[EAGT19]也被應用于許多生物和化學問題,如預測蛋白質功能,預測二值化基因表達等。因此,DNNs不僅可以在我們的日常生活中完成一些以前必須依靠繁瑣的人類努力才能完成的智能任務,還可能帶來在長期的人類歷史中很少被探索的新的科學啟示。
在本文中,我們將研究如何在不同的場景下在邊緣設備上實現深度學習。在邊緣設備上部署DNN總是在資源需求和模型精度之間進行權衡。由于DNN經常消耗大量的資源,我們假設DNN中存在冗余。我們的目標是根據不同場景中的主要資源約束來識別和減少冗余。本文分為四個獨立的場景。在每個場景中,我們將(i)分析其主要資源約束,(ii)回顧當前可用解決方案的缺點,(iii)提出我們的解決方案以減少DNN中的冗余;(iv)從實驗或理論上驗證我們的解決方案的有效性。
在這項工作中,我們探索了提高機器學習系統各方面效率的理論和算法。首先,我們研究了在ML中實現高效機器不學習的算法原理。我們提出了兩種無監督學習算法,它們在在線數據刪除方面實現了超過100倍的改進,同時產生了統計質量與標準k-means++基線相當的集群。
其次,我們探索混合維嵌入,這是一種嵌入層架構,其中特定嵌入向量的維數隨其查詢頻率的變化而變化。通過理論分析和系統實驗,我們證明了使用混合維可以大大減少內存使用,同時保持甚至提高預測性能。使用Criteo Kaggle數據集上一半的參數或使用16倍的參數進行點擊率預測,混合維層將精度提高0.1%。他們在GPU上的訓練速度也超過2倍。
最后,我們提出了一種用于ML部署監控的新方法MLDemon。MLDemon集成了未標記數據和少量按需標簽,從而對給定數據流上部署的模型當前的準確性進行實時估計。受預算限制,MLDemon決定何時獲得額外的、可能昂貴的、專家監督標簽來驗證模型。在基準測試中,MLDemon優于之前的方法。我們還提供了理論分析,表明MLDemon對于廣泛的一類分布漂移是極小極大速率最優的。
一些相互競爭的擔憂是,深度學習在“邊緣”設備上的計算機視覺應用緩慢。邊緣設備僅為設備上的算法提供有限的資源,從而限制了功耗、內存和存儲使用。例如,移動電話、自動駕駛汽車和虛擬現實耳機都需要高精度和低延遲,這兩個目標會爭奪資源。
為了解決這個西西弗式的任務,現代方法花費了大量的計算來設計解決方案,超過了數千個小時或數年的GPU計算來設計一個單一的神經網絡。更不用說,在單一的一組資源約束下,這些工作只最大化了一個性能指標——準確性。如果資源約束的集合改變了怎么辦?如果額外的性能指標出現在前面,比如可解釋性或泛化?設計高效神經網絡的現代方法由于目標過于單一和狹隘而需要過多的計算而受到限制。
本文直接解決了現代方法的瓶頸,通過高效設計高效的深度神經網絡實現了最先進的性能。這些改進不僅減少了計算量或提高了精度;相反,我們的方法提高了性能,減少了計算需求,盡管增加了搜索空間大小的數量級。我們還展示了被錯過的機會,表現指標超越了準確性,重新設計任務,使準確性、可解釋性和泛化共同提高,這是傳統智慧不可能實現的,這表明,可解釋性和準確性參與了零和游戲。
這篇的論文最終提出了一組模型,為生產就緒的模型設置了新的靈活性和性能標準:這些模型是最先進的,精確的,可解釋的,可概括的,并且可以在CPU時間內配置任何資源約束。