本文研究了輸入圖的結構與圖處理算法GPU (Graphical Processing Unit)并行化策略性能之間的關系。加速器,特別是圖形處理器(gpu),已經成為高性能計算(HPC)系統的主要組成部分。因此,分析、理解和預測GPU代碼性能的能力對于有效使用這些HPC系統至關重要。
//dare.uva.nl/search?identifier=8f5c7fda-858f-4fb6-855f-36520da0b62d
圖算法廣泛應用于許多科學領域,但如何將圖處理算法映射到gpu上卻鮮為人知。本文證明了輸入圖的結構對不同并行化策略的性能有顯著影響。用分析模型來預測圖的最佳并行化策略是不可行的。本文提出一個使用PageRank和廣度優先搜索(BFS)的案例研究,表明可以通過使用二叉決策樹(BDT)模型來預測給定圖的適當并行化策略來加快它們的性能。此外,我們制作了一個軟件流水線和測量數據集,其他人可以使用這些數據來重現或擴展我們的工作。
我們可以使用圖形處理單元(GPU)來提高圖處理的性能嗎?這個看似簡單的問題,正是本文工作的出發點。然而,在我們考慮這個問題之前,讓我們首先考慮一下其中的假設。為什么我們關心圖并處理它們?我們為什么關心GPU?為什么要把它們結合起來呢?圖是用于描述離散對象之間關系的靈活抽象,使其非常適合建模復雜的結構和/或關系。因此,圖被廣泛應用于不同的領域,如語言學、物理學、化學、生物學、生物信息學和社會科學。它們的實用性使圖成為科學和商業中許多計算問題的核心。隨著我們將更多流程和數據數字化,人們想要處理的圖形的數量和大小將繼續增長。Graph5001排名的增長和活躍就說明了這一點。在可預見的未來,對圖處理的需求可能會繼續增長。
圖處理在這方面并不是唯一的;每個領域對計算能力的需求都在增長。對處理能力不斷增長的需求帶來了GPU,在過去的15年里,它每美元提供的計算量最多。現代商用GPU的設計-具有大規模、細粒度的并行性和高帶寬內存-使它們非常適合作為加速器。現代GPU提供了比大多數傳統中央處理器(CPU)和通用多核(GPMCs)架構更好的計算吞吐量(按美元和/或瓦特計算)。對于增加的計算需求,無論是購買價格還是每瓦的計算量,它們都是最具成本效益的解決方案。TOP5002的排名清楚地表明了這一點,其中大多數超級計算機都具有GPU加速器。簡而言之,圖處理很重要,因為許多實際計算問題都依賴于它。GPU很重要,因為它們是滿足日益增長的計算能力需求的最具成本效益的方法,特別是對于大規模并行計算任務。理論上,圖處理應該從GPU加速中獲益良多,因為圖處理算法的特點是可以并行化的大量獨立操作和高內存強度[61]。然而,正如本杰明·布魯斯特所說:“理論上,理論和實踐沒有區別,而實踐卻有區別。”“[88]。
第2章概述了圖形、GPGPU編程和gpu上的圖形處理。為本文的后續討論提供必要的背景資料。最重要的是,本文更詳細地概述了現代GPU中存在的設計權衡,以及這些權衡如何限制我們對圖處理的實現選擇。第3章在第17頁討論了經驗計算機科學的再現性困難,重點是圖處理中的困難。本文介紹了發表在[89]中的軟件工具鏈,我們構建了該工具鏈,用于收集圖算法的性能數據,對這些結果進行數據分析,并根據經驗數據評估模型。在第4章中,我們將討論相鄰迭代可能的并行化策略,以及如何使用相鄰迭代來實現PageRank和BFS算法。我們使用第17頁第3章中的工具鏈來量化不同并行化策略對PageRank(發表在[92,93])和BFS(發表在[94])性能的影響。第5章第67頁介紹了我們基于進化計算的圖生成器,發表在[95]。我們構建這個生成器作為概念驗證,以為我們的實驗生成輸入圖。然而,由于工程時間的實際限制,我們最終放棄了這種方法,而選擇使用真實的數據集。第6章介紹了發表在[94]中的分析工作量模型,用于描述第41頁第4章中的并行化策略。這些分析模型不足以準確預測這些算法在GPU上的并行性能。在第7章中,我們展示了如何使用第3章中的工具鏈來創建二叉決策樹(BDT)模型,該模型可以讓我們預測給定輸入圖的算法的最佳實現,發表在[92,93]。此外,還證明了可以通過在遍歷期間使用BDT模型動態切換實現來加快BFS遍歷。第111頁的第8章分析了我們的BDT模型跨數據集和GPU架構的可移植性,發表在[90]中。分析表明,所提出實現的性能特征在GPU架構和數據集上基本穩定。
將數據表示為圖在生物化學、社交網絡、交通網絡、自動駕駛和天氣預測等諸多領域中越來越普遍。圖的流行源于其靈活的表達方式和模擬交互的內在能力。然而,這種豐富的表示方式在對數據建模時提出了獨特的挑戰,需要在盡可能多地獲取圖的信息與保持計算可行性之間找到平衡。經過幾十年的嵌入方法和圖核方法等多種方法的探索后,現在的焦點已轉向可以在圖上操作的深度學習方法的發展。這些方法,被稱為圖神經網絡(GNNs),通過鄰域聚合更新每個節點的表示。盡管GNNs在實證上取得了強大的成功,但最近的工作發現了它們的一些局限性,例如無法在圖中長距離傳輸信息,以及在區分非同構圖方面的限制。這些局限性直接與圖神經網絡的設計范例相關,該范例通過鄰域聚合模型圖中的局部結構信息。雖然這種范式編碼了相關和關鍵的信息,但如何最好地抵消由此產生的局限性仍然是一個開放的問題。
本論文探討了全局信息在生成有意義的圖表示中的作用,這些圖表示不受鄰域聚合問題的影響。我們并不尋求取代現今強大的鄰域聚合方法,而是研究全局信息如何補充或提供圖中局部信息的替代視角。 本論文的第一個貢獻是介紹一種將圖表示為高維曲線的新穎方式,我們稱之為過濾曲線。過濾曲線是一種通過在多個尺度上捕捉信息來生成圖的全局表示的有效方法,可以完全無參數。基于曲線的表示還帶來了其他好處,比如直接創建圖的向量表示的方法,使其可以與標準的機器學習算法一起使用。除了其效率和易用性之外,我們發現我們最簡單的過濾曲線形式已經達到了與更復雜、高度參數化的最新競爭方法競爭的實證性能,這證明了全局圖表示的價值。
第二個貢獻是研究如何結合全局和位置信息來改善圖表示。我們引入了一種結構感知的Transformer,它結合了來自消息傳遞GNNs的局部結構信息和來自Transformer架構的全局信息,這是第一個將Transformer和任意GNN集成到一個單一模塊的圖Transformer。我們通過引入一種新的結構感知自注意力計算來實現這一點,該計算基于子圖在感興趣的節點處的相似性過濾節點,使得基于結構和屬性相似性的比較更加穩健。此外,我們抽象這個公式,并提供一個可以定制到感興趣的領域的通用框架。我們的圖Transformer在幾個基準數據集上達到了最先進的性能,并且優于架構的僅全局和僅局部等效項,突顯了結合這兩種圖視角的潛力。 最后,第三個貢獻是對當前評估圖生成模型的過程的實證分析,該過程依賴于全局圖摘要統計和最大平均差異(MMD)。我們發現了社區采用的當前程序中的一些問題,這在最壞的情況下會導致偽結果,因此我們提出了一個修改后的工作流程來避免這些情況。
我們通過為將全局和局部信息結合在圖表示中的未來工作提供展望來結束這篇論文。隨著越來越多的新領域開始將它們的數據表示為圖,如何學習圖的有意義表示的范式可能會發生變化或需要新的方法。從這個角度來看,我們預期將全局信息融入圖表示的提出的方法將在圖學習的當前和未來應用中證明其實用性。
我們在實踐中部署高性能神經網絡時面臨許多挑戰。這些挑戰主要是由于神經網絡的規模,既適用于訓練也適用于推理。因此,壓縮神經網絡以使其訓練和運行更高效至關重要,并自神經網絡發展初期以來一直是研究的平行方向。深度學習中的兩種主要壓縮技術是剪枝和量化,它們是本論文的重點。本論文探討了如何利用高階梯度(元梯度)的信息來改進深度學習壓縮。我們首先發現剪枝公式中的一個根本性限制:盡管許多方法(如基于顯著性的剪枝)在剪枝后進行訓練或微調階段,但參數顯著性只關注參數的一個快照,而沒有考慮到參數的可訓練性。我們展示了如何使用元梯度作為更具信息量的信號,在初始化時找到更好的可訓練子網絡。接下來,我們研究量化神經網絡,并展示了如何在正則化方案中使用元梯度來學習具有對訓練后量化固有魯棒性的模型。最后,我們研究雙重壓縮問題,即使用神經網絡壓縮數據源。我們從圖像開始,提出了一種簡單的無自編碼器架構,其中我們存儲神經網絡的權重而非圖像像素的RGB值。然后,我們使用元梯度來元學習一個基礎網絡,以攤銷每個輸入訓練一個網絡的成本。我們學習壓縮的一個顯著優勢是它變得對數據類型不可知,并且我們展示了在2D圖像之外的各種數據類型上的結果。重要的是,我們評估了標準DNN壓縮技術(如量化)在這種新型神經網絡中的實用性。
1. 引言
近年來,深度學習的成功是由于幾個幾乎同時發生的突破和范式轉變而成為可能:訓練中采用反向傳播,卷積神經網絡的進步,大規模數據集的可用性,至關重要的是,由于GPU演變為通用、高度并行、多線程的計算平臺,計算能力的大幅提高。隨著算法和計算能力的不斷進步,訓練可以利用大量數據并在廣泛應用中做出非常有價值的預測的大型神經網絡現在已經是我們力所能及的事情。
然而,隨著我們進入一個希望在生活中越來越多的方面使用高性能神經網絡的時代,在實踐中部署它們面臨許多挑戰。這些挑戰主要是由于神經網絡的規模。現在,神經網絡很容易擁有數百萬或數十億個參數,并且沒有跡象表明我們的速度正在放緩,特別是在一些應用程序,如自然語言處理,我們還沒有看到縮放定律的結束。這可以在圖1.1中看到,它顯示了在兩個特定的視覺和自然語言處理任務中模型大小和性能的趨勢。 神經網絡的規模帶來的挑戰適用于訓練和推理。在推理方面,人們越來越希望在設備上私下運行模型。一些示例應用程序是語音到文本識別和自動字幕,其中模型必須在設備上實時運行。需要運行此類應用程序的設備通常是手機、嵌入式系統和物聯網設備,這些正是在內存、計算、延遲和能耗方面具有最嚴格要求的平臺類型。 除了推理之外,訓練也會受到神經網絡和數據集規模較大的阻礙。首先,與推理相比,訓練需要更多的內存。這是因為在訓練過程中,我們需要保留網絡生成的中間值,以便完成反向傳播。這也使得并行化變得困難,因為我們無法進行新的前向傳遞,直到梯度找到它們自己的路回到第一層。其次,訓練大型神經網絡比較小的模型更脆弱和不穩定。Zhang et al.(2022)最近發布了一個1750億參數的語言模型,除了模型參數,他們還包括訓練日志,這表明訓練如此大的模型涉及大量的工程。我們將在后續章節中看到,這對需要重新培訓或針對特定平臺的高效方法具有深遠影響。
因此,壓縮神經網絡以使其更有效地訓練和運行是至關重要的,自神經網絡發展早期以來一直是一個平行的研究方向(LeCun等人,1990a;Hassibi等人,1993b)。在介紹各種用于提高神經網絡效率的方法之前,有必要快速回顧一下在這個過程中我們關心的主要指標(Reagen等人,2017;Sze等人,2020):
準確性或模型性能。這個指標決定了我們在不影響模型性能的情況下提高模型效率的成功程度。準確率對于類平衡分類任務來說是一個合適的度量指標,本文中的大多數實驗都是這樣的,在其他任務中,準確率可以用其他指標來代替,以提高模型的性能。
能耗和動力。能耗指的是每單位能量可以處理的數據量,在使用電池供電的設備上運行時,能耗變得至關重要。它是決定裝置形狀因素的一個主要因素。另一方面,功率消耗是單位時間內消耗的能量,它決定了設備的冷卻要求。它與移動設備和服務器安裝都相關。
存儲和內存。需要更多的存儲和內存是神經網絡規模帶來的第一個挑戰。它是決定模型所需硅芯片面積的一個主要因素。
吞吐量和延遲;除了存儲權重和中間值之外,我們還需要足夠快地移動數據。延遲衡量的是這個要求,定義為從輸入數據到達模型到輸出結果的時間。它決定了模型是否可以實時運行,這在許多應用中至關重要,如機器人,自動駕駛和游戲。
要使神經網絡對這些指標有效,需要在每個堆棧級別進行優化。棧的一端是用于訓練和運行模型的硬件平臺。半導體制造工藝的不斷進步導致了更密集的晶體管,從而產生了更強大和更節能的芯片,但深度學習工作負載尤其影響了CPU和GPU的硬件設計,并產生了專門針對神經網絡的定制加速器。
本文的主要貢獻是研究了元梯度在各種壓縮任務中的應用。本文主要關注視覺應用中的神經網絡,并解決以下中心問題: 高階梯度的信息可以通過量化和修剪來改進深度神經網絡的壓縮嗎? 除了研究神經網絡的壓縮外,我們還研究了對偶壓縮問題,即用神經網絡壓縮數據,并解決以下問題:神經網絡的參數可以用于存儲和壓縮數據嗎?如果是,量化和剪枝技術是否仍然適用于此設置?
除了提供必要背景材料的第2章和總結工作的第6章外,本文的主要材料分為三章(如圖1.2所示),每一章都專注于一個壓縮任務。
在許多任務中,神經網絡和深度學習的預測能力目前都很出色。因此,這項技術被應用于各種各樣的應用中,在我們的日常生活中發揮著重要作用。因此,這項技術的潛在改進已經成為一個更加重要的話題。**在本文中,我們致力于改進深度學習模型的兩個重要方面;表示預測的不確定性以及對大量計算和資源的內在需求的能力。我們通過介紹和陳述本文要回答的兩個主要研究問題來開始這項工作。我們進一步為本文將使用的主要技術提供必要的背景知識。本文描述了神經網絡和貝葉斯神經網絡,即其參數(又稱權重和偏差)是隨機的,并由概率分布控制的神經網絡,而不是固定的,以及(變分)貝葉斯推理,一種根據觀測數據更新參數概率分布的方法。**通過剪枝(pruning)和量化(quantization)簡要介紹了神經網絡壓縮和量化(quantization),前者通過顯式設置為零來刪除不相關的參數和網絡的部分內容,后者以硬件友好的格式(如定點)表示網絡的權重和中間表示的數值。
**本文的第一部分描述了提高神經網絡不確定性估計能力的三個貢獻。前兩者圍繞著在我們觀察數據時,通過更好地逼近其參數的概率分布來提高變分貝葉斯神經網絡的不確定性質量。**本文提出一種簡單的方法,通過矩陣變量高斯分布在神經網絡權重之間引入線性依賴;它們是隨機矩陣上的分布,可以很容易地對每層中的輸入和輸出神經元之間的相關性進行建模,這種能力會導致性能的提高,正如我們實驗表明的那樣。提出了乘歸一化流,這是一個通用框架,引入了網絡參數之間的非線性依賴關系。這是通過結合輔助隨機變量和參數化雙射來實現的,以一種允許每層權重之間靈活的相關性,同時仍然是計算可處理的。實驗表明,與之前工作的簡單高斯變分近似相比,不確定性質量得到了提高。這部分的最后一個貢獻對應于功能神經過程,一個采用不同視角的模型;它不是假設概率分布并對神經網絡權值進行(變分)推理,而是采用隨機過程的建模框架,從而假設概率分布并對神經網絡的函數空間進行推理。這有一個額外的好處,即更容易的推理和更直觀的建模任務,因為它允許我們推理數據集中點之間的關系,通過引入一個“參考”點集,而不是不可解釋的神經網絡參數來實現。實驗表明,這種模型提供了更好的不確定性質量,同時保持了可比的預測性能。
**第二部分介紹了三種新的壓縮技術,它們可以讓我們學習更小、更快的神經網絡,從而減少所需的計算量和資源。**第一個貢獻對應于貝葉斯壓縮,這是一種變分貝葉斯推理過程,通過對網絡參數進行精心選擇的概率分布,可以通過聯合修剪和量化來揭示高性能和計算高效的架構。雖然這種方法可能導致高度壓縮的架構,但它缺乏對特定任務或問題進行修剪或量化的細粒度自適應。因此,其他兩項貢獻旨在分別處理剪枝和量化。第二個貢獻對應于一種新的L0范數優化方法,L0范數是神經網絡稀疏性的黃金標準。本文提出一種通用技術,通過適當數量的噪聲,可以對不可微L0范數進行基于梯度的優化。實驗表明,這種方法可以產生準確和高度稀疏的模型,同時它可以通過條件計算和適當的軟件進行稀疏訓練,這也可以促進更快的訓練。最后,為了最后的貢獻,我們采用類似的思想并引入松弛量化;基于梯度的優化過程,允許學習神經網絡,其中參數和激活位于(自適應)量化網格上。經驗表明,這允許在大規模任務中訓練準確的神經網絡,同時每權重和激活只需4位。最后,對研究問題進行了回答,同時討論了所提出方法的缺陷和缺點,并指出了有希望的研究方向。
**深度神經網絡(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%。
在過去的十年中,我們目睹了人們對機器學習(ML)的興趣急劇上升。深度神經網絡已經在從圖像分類到游戲玩的各種任務上實現或超過了人類水平。在這些應用中,我們通常觀察到模型的輸入具有某種形式的規則結構:例如,圖像是一個2D網格。最近,人們有興趣將ML革命的成功擴展到沒有統一結構的數據,如圖。圖由一組節點和一組定義節點之間關系的邊組成,為建模提供了極大的靈活性。這些模型應用于從代碼分析到推薦系統再到藥物發現的各種問題,實現了最先進的性能并為ML打開了新的應用。
由于圖神經網絡(gnn)已被證明的潛力和可能應用的巨大空間,當我們打算將這些模型部署到研究背景之外時,自然會將注意力轉向出現的實際問題。一個主要的問題是效率:我們如何設計消耗更少資源(如時間和內存)的GNN,以將我們的訓練擴展到更大的模型和數據集,并將我們的模型部署到更資源受限的設備?此外,一旦我們將這些模型發布到野外,我們如何確保它們能夠抵御來自潛在對手的攻擊?這些是激勵本文工作的問題:哪些新技術是必要的,以解決這些效率和安全問題? 本文中反復出現的一個主題是,正則結構的丟失給GNNs帶來了幾個獨特的挑戰:適用于其他常見神經網絡架構的技術不一定適用于GNNs。本文首先嚴格評估了在其他神經網絡架構中流行的兩種軟硬件協同設計技術:量化,在推理時使用低精度的算法,以及剪枝,從網絡中刪除權重。研究了高效的架構設計,首先是通用gnn的架構設計,其次是專門為處理點云數據而設計的模型。最后,本文描述了與這些模型相關的一種新型安全漏洞,并討論了可能的緩解措施。
盡管數據規模在增長,但我們希望將學習算法的許多應用都受到數據數量和質量的限制。生成模型提出了一個框架,可以自然地將先驗信念與現實世界的數據結合起來。生成式方法的核心是概率推理的挑戰,或估計給定觀測的潛變量。這一挑戰催生了涵蓋多種統計技術的豐富研究領域。最近,深度學習方法被用來解決推理查詢,被恰當地命名為深度推理。在我的論文中,我將探索深度推理的擴展,以應對現實世界的稀疏性和效率的挑戰。我將介紹實際應用的案例研究,其中深度推理在以前的工作上取得了相當大的改進。
本文主要圍繞三個部分展開。我們介紹了生成模型和深度推理的背景,重點是現代變分方法。第一部分將提出新的泛化推理算法,以對不同的稀疏性概念(如多模態數據、缺失數據或計算約束)具有魯棒性。其次,我們研究了元平攤推理,或“推斷如何推斷”。一種雙平攤推理算法將能夠廉價地解決一個新的生成模型的推理查詢。我們將展示一種新的算法來重新利用掩碼語言建模來實現這一點。
第三,我們提出了深度推理在教育中的兩個現實應用:(a)在項目反應理論和相關心理測量模型下估計學生的能力,(b)為學生學習解決編程問題推理教育反饋。總之,這些貢獻展示了深度推理在教育中的豐富性和實用性,以及在現實世界中更廣泛的應用。
摘要
神經網絡(NNs)的準確性已經在廣泛的問題中得到了顯著的提高,通常是通過高度過參數化的模型實現的。盡管這些最先進的模型具有準確性,但它們的龐大規模使其無法部署到許多資源受限的應用程序中,如實時智能醫療保健監測、自動駕駛、音頻分析和語音識別。這就給實現普適深度學習帶來了一個問題,它需要低能耗、高精度的實時推理和有限的計算資源。
要實現能實現實時約束和最佳精度的高效NN,需要1)NN架構設計、2)模型壓縮方法和3)硬件引擎設計的協同優化。以前追求高效深度學習的工作更多地關注于優化代理指標,如內存大小和FLOPs,而硬件規格實際上在決定整體性能方面起著重要作用。此外,由于設計空間非常大,在以往的文獻中,上述三個方面往往是單獨的、經驗的優化,使整個設計過程耗時且次優。
本文首先系統地研究了一種廣泛應用的標準模型壓縮技術——量化方法。我們沒有使用啟發式設計或昂貴的搜索,而是利用Hessian信息來解決混合精度量化問題,我們提出的Hessian- aware量化(HAWQ)方法在不同的網絡和數據集上實現了最先進的性能。我們進一步使整個管道全自動(HAWQV2),并探索了不同任務(QBERT)上量化(ZeroQ)的不同方面。
基于我們的系統量化方法,我們將硬件規格和部署納入設計空間(HAWQV3)。該神經結構被納入協同設計(CoDeNet),并被自動搜索(HAO)。最后,通過引入基于教師的分段蒸餾餾(ETA),提高了HW-SW自動化協同設計管道的整體效率。總之,我們在本文中的工作展示了從傳統的神經網絡設計到硬件感知的高效深度學習的進化步驟。我們相信,這將進一步加速在資源有限的設備和現實應用中部署先進的神經網絡。
引言
隨著最先進的深度學習模型的參數大小和計算量急劇增長,在不同的硬件平臺上高效部署這些模型變得越來越重要。在特定的硬件資源和約束條件下,1) 模型壓縮,2) 神經結構設計/搜索,3) 硬件優化是獲得可行解的主流方法。模型壓縮包括量化、修剪、知識蒸餾和因式分解等方法,其目的是對預先訓練好的模型進行壓縮,包括模型大小和計算量。隨著當前硬件對低精度計算的支持,量化已經成為解決這些挑戰的流行過程。從另一個角度來看,NAS算法試圖尋找一個有效的神經結構,然后從零開始訓練它。相比之下,硬件優化總是在神經結構和模型壓縮方法固定之后進行。盡管有這些優點,但為了充分利用該系統,實現硬件感知的高效深度學習,在本文中我們試圖解決的問題有三個。
首先,我們要注意的是,實現高效深度學習的三個組成部分并不相互正交。如圖1.1所示,特定神經體系結構的性能實際上與模型壓縮方法和硬件規格高度相關。例如,在具有適當配置的FPGA板上,具有4位量化的ResNet50可以比具有8位量化的ResNet50運行得更快。但是在只支持8位整數的GPU上,8位量化ResNet50可以達到與4位ResNet50相同的速度,同時能夠獲得更高的精度。在本文中,我們的目標是實現硬件感知的高效深度學習,我們綜合考慮了這三個方面,并試圖在它們之間的權衡中獲得最佳點。
其次,之前的工作試圖優化代理指標,如模型大小和神經網絡模型的FLOPs,假設這些理論指標與實際有效指標(如延遲、吞吐量和能耗)高度相關。然而,有人指出,代理指標在特定情況下可能具有誤導性。為了避免次優解的出現,本文利用已開發的硬件引擎或模擬器直接優化實際指標。
最后,綜合考慮神經網絡架構、模型壓縮和硬件設計,可以形成一個非常大的搜索空間。以關節空間的一小部分為例,混合精度量化允許神經網絡的每一層選擇特定的量化位寬,這導致位寬配置的搜索空間呈指數級大。考慮到搜索空間的大小,以前的方法通常是啟發式的,這需要領域知識和人工努力,或者是耗時的,這需要強大的計算資源來執行搜索過程。
在本文中,我們通過應用Hessian分析和整數優化等優化方法,以及基于學習的技術,如延遲和精度模擬器,以及塊知識蒸餾,使我們的方法自動化和高效。本文提出的方法能夠在解決上述問題的同時取得良好的性能。例如,通過我們的混合精度量化,我們在各種模型上實現了10倍的壓縮比,只有大約1%的精度下降(請參閱第6章和第7章)。此外,作為我們使用HW-SW聯合設計的一個例子,我們的4位/8位混合精度模型在Pascal VOC上得到67.1 AP50,只有2.9 MB大小,比Tiny-YOLO小21倍,但精度更高10%(如第12章)。
在本文中,我們首先介紹了在第二章中我們用來定義硬件感知的高效深度學習的指標。在第三章中,我們展示了應用硬件感知的高效深度學習的動機。然后我們將我們的工作分為兩行,第一行展示了我們在系統量化方面的進展,第二行描述了我們在圖1.1中自動和共同探索三個設計空間的技術。具體來說,第四章介紹了量化的概念和相關工作,第五章到第八章介紹了我們的工作HAWQ, HAWQV2, Q-BERT, ZeroQ,第九章給出了結論。第十章介紹了軟硬件協同設計的研究方向和已有的研究成果。我們在第11章到第14章展示了我們的作品HAWQV3, CoDeNet, HAO和ETA,并以第15章作為結論。最后,在第16章中,我們回顧了我們工作的重要性,并討論了未來可能的方向。
工業人工智能 (AI) 是人工智能在工業中的應用,是第四次工業革命中價值創造的主要貢獻者。人工智能正被嵌入到廣泛的應用程序中,幫助組織獲得顯著的利益,并使他們能夠改變向市場提供價值的方式。
? 本文檔為支持人工智能的工業物聯網系統的開發、培訓、文檔編制、通信、集成、部署和操作提供指導和幫助。它面向來自 IT 和運營技術 (OT)、來自多個學科的業務和技術的決策者,包括業務決策者、產品經理、系統工程師、用例設計師、系統架構師、組件架構師、開發人員、集成商和系統操作員。
該文檔圍繞 IIC 工業互聯網參考架構中的架構觀點構建,即業務、使用、功能和實施觀點。該文件討論了推動人工智能采用的商業和價值創造考慮因素。它還詳細闡述了人工智能的使用、工業用例以及與之相關的道德、隱私、偏見、安全、勞工影響和社會問題。在技術方面,該文檔描述了與 AI 相關的架構、功能和數據注意事項,并討論了各種實施注意事項,例如性能、可靠性、數據屬性和安全性?。
人工智能的采用將在行業中加速。鑒于計算能力的快速增長、可用于訓練的數據的更廣泛可用性以及算法的日益復雜,人工智能技術將繼續發展。當前的 IT 標準和最佳實踐必須不斷發展,以解決 AI 本身的獨特特征以及與 IIoT 系統的安全性、可靠性和彈性相關的具體考慮因素。此外,人工智能技術的日益成熟將幫助人們認識到它的好處遠遠超過它的風險。 AI 標準生態系統也將繼續發展,例如 ISO/IEC JTC 1/SC42 正在進行的標準工作,為 JTC 1、IEC 和 ISO 委員會制定 AI 標準提供指導。
基于這些趨勢,毫無疑問,人工智能將繼續推動技術和功能上的可能性,因此預期合理的事情將同樣發展。對技術的態度和對其使用的商業期望也將繼續發展。
未來,我們可以期待使用人工智能技術成為常態,而不是例外,考慮到這項技術的社會效益,“不使用人工智能”最終可能會成為不負責任的做法。
在本文中,我們研究了生成模型的幾個重要標準,并引入評價指標來解決每個問題,同時討論了生成模型評價中的上述問題。特別是,我們研究了測量生成輸出的感知現實主義的挑戰,并引入了一個人在循環中的評估系統,利用心理物理學理論,以人類知覺文獻和眾包技術為基礎,構建一個高效、可靠、并采用一致的方法比較不同的模型。除此之外,我們還分析了解纏性(Disentanglement),這是評估已學習表示的一個日益重要的特性,通過使用持久同調測量生成模型數據流形的內在特性。