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

【導讀】深度學習優化是構建深度學習模型中的一個關鍵問題。來自NUS的研究人員發布了《大規模深度學習優化》綜述論文,DL優化目標是雙重的: 模型準確性和模型效率。至于模型的準確性,研究了最常用的優化算法,從梯度下降變量到(大批量)自適應方法,從一階方法到二階方法。此外,還闡述了在大批量訓練中出現的泛化差距這一有爭議的問題。

深度學習在人工智能的廣泛應用中取得了可喜的成果。更大的數據集和模型總是產生更好的性能。然而,我們通常花更長的訓練時間在更多的計算和通信上。在這項綜述中,我們的目標是提供一個清晰的草圖,關于優化大規模深度學習的模型準確性和模型效率。我們研究最常用于優化的算法,闡述大批量訓練中出現的泛化缺口這一有爭議的話題,并回顧SOTA解決通信開銷和減少內存占用的策略。

//www.zhuanzhi.ai/paper/9f75513e868ff294b34ab94275cab043

引言

目前,深度學習(DL)已經在廣泛的人工智能應用領域取得了可喜的結果,包括計算機視覺(如圖像分類[42,47,66],目標檢測和分割[35,41,65,85]),自然語言處理(如語言建模[28,117]和機器翻譯[108,114]),信息檢索(例如,推薦系統[43])和許多其他。規模是DL上升的主要推動力[28,42,55,56,94,104]。更大的數據集和神經網絡在所有通常需要更多計算和更長的訓練時間的任務中總是產生更好的性能。

因此,近年來,學術界和工業界對在具有更高計算能力和內存限制的TPU和GPU等設備的大集群上擴展DL和分布式訓練的興趣激增。數據并行已經成為分布式訓練的主要實踐。它將一個大的批處理分布到多個設備,其中每個設備持有一個相同的模型副本,計算局部批處理的梯度,最后在每次迭代收集梯度來同步參數更新。通過最新的優化技術,它現在能夠在成千上萬的GPU設備上訓練非常大的批量。然而,這種規模的訓練需要克服算法和系統相關的挑戰。其中一個主要的挑戰是模型精度在超過某一點(例如32k)時的大批量下降。單純地增加批處理大小通常會導致泛化性能下降,并降低計算效益。此外,我們不能總是通過使用更多的處理器來提高訓練速度,因為通信成本是不可忽略的開銷。多處理器協同訓練一個任務可以減少整體訓練時間,但相應的處理器間通信成本很高,限制了模型的可擴展性。更糟糕的是,擁有數百億到數萬億參數的模型顯然無法裝入單個設備的內存中,簡單地增加更多設備也無助于擴大訓練規模。這種限制阻止DL研究人員探索更高級的模型體系結構。現有的工作研究和開發了克服這些問題的優化技術,以加速大規模深度神經網絡(DNN)的訓練。我們將這些工作分為兩類,一種努力在大規模設置下保持/提高模型的準確性,另一種強調模型的效率,設計不太需要通信和內存的算法。重要的是,它們不是相互排斥的,而是可以協同使用,以進一步加快訓練。

該綜述的總體結構如圖1所示。第2節介紹了一個典型的有監督學習神經網絡優化問題的公式。我們將大規模DL優化大致分為模型精度和模型效率兩部分。第3節介紹了梯度下降優化系列,包括梯度下降變種、動量SGD和自適應梯度算法。隨著具有數據并行性的大批訓練在DL中日益普及,同時也帶來了挑戰,第4節討論了在這一設置中存在的問題,并回顧了主要的SOTA優化策略來改善這種情況。第5部分深入探討了泛化差距——批量訓練中的一個辯論話題。第6節介紹了二階優化。然后我們將注意力轉向模型效率。第7節調研了通信瓶頸,第8節重點討論了高效存儲技術。最后,第9節對本文進行總結。

梯度下降優化算法

訓練DNN是一個優化過程,即在網絡中找到使損失函數最小的參數。梯度下降及其變體算法是最常用的神經網絡優化算法[87]。為了控制梯度下降法的振動,引入了動量控制的思想。此外,將學習率與前一階段的梯度相適應,有利于避免波動。在本節中,我們簡要梳理了目前主流的優化算法,包括梯度下降變分算法(3.1節)、動量算法(3.2節)和自適應梯度算法(3.3節)。

大批量訓練

大型DNN和大型數據集推動了深度學習的發展[28,42,55,56,94,104]。然而,在海量數據集上訓練大型模型是計算密集型的。例如,BERT和ResNet-50等SOTA DL模型在16個TPUv3芯片上訓練3天,在8個Tesla P100 GPU上訓練29個小時[28,42]。一種直觀的加速訓練的方法是增加更多的計算能力(例如,更多的GPU節點)并使用數據并行(見圖1)。考慮到通信(即在每次迭代時同步更新)是一個問題,必須盡可能多地利用每個GPU來分攤通信成本。因此,需要使用大批量來將更多的數據分配到每個GPU上。批量大小的非平凡增長常常導致測試性能下降,如[45,52,54,61]中觀察到的。我們在4.1節中描述了大批量引入的訓練難點,在4.2節中描述了大批量訓練的配方(即帶熱身策略的線性LR縮放),在4.3節中描述了其他補充策略,如自適應分層學習和4.4節中描述了自適應批量大小。最后在第4.5節中討論我們可以擴大批量的程度。

泛化差距

優化通常是一項極其困難的任務,尤其是在訓練神經網絡時。對于非凸高維函數,有可能存在許多局部極小點和鞍點。優化方法,如SGD,一般收斂于參數空間的不同區域,高度依賴于網絡架構的設計、優化器的選擇、變量初始化等多種考慮[92]。泛化這個術語指的是一個假設如何很好地適用于訓練集中沒有看到的新例子。如4.1節所述,我們可以看到,盡管訓練函數的值相似,但用大批量方法訓練的模型在測試數據上的表現要比小批量方法差[45,52,70,92]。這種泛化性能的持續下降被稱為泛化差距。弄清這一差距的根源并找到消除這一差距的方法具有重大的現實意義,但仍是一個懸而未決的問題。本節的結構如下。第5.1節介紹了sharp and flat (wide) minima的概念;5.2節討論了局部最小值的銳度/平整度與其泛化能力之間的關系;第5.3節解釋了所謂的泛化差距,第5.4節提供了一個有點相反的解釋。

二階優化

DL中的優化,無論是理論上還是經驗上,目前都由一階梯度方法主導[2,3,15,21,26,116]。二階優化方法,包括二階導數和/或數據的二階統計,是遠遠不普遍的,盡管強大的理論性質,由于其令人望而卻步的計算,內存和通信成本。在本節中,我們將在6.1節中建立二階優化基礎知識,從6.2節中的經典牛頓方法開始,并轉向一些最新的算法,如Hessian-Free方法(在6.3節中)、K-FAC(在6.4節中)和Shampoo40

通信

大規模分布式訓練提高了訓練更深、更大模型的效率,其中采用了數據并行,充分利用了多個workers的計算能力。SGD計算效率高,并且得到了DL工具包TensorFlow[1]、PyTorch[77]和DeepSpeed[83]的良好支持,因此通常被選擇為優化方法。在數據并行的SGD中,每個worker處理其訓練數據的隨機小批,然后通過一個All-Reduce步驟或通過一個集中的參數服務器來同步本地更新,該服務器聚集了來自所有worker的隨機梯度,并采取Broadcast步驟,將更新后的參數向量傳送回所有workers。重復梯度同步的過程,直到滿足適當的收斂準則。

內存

更大的模型通常需要更多的計算和內存資源來訓練。訓練這些模型所需的內存數量可能比單個GPU上可用的內存數量大幾個數量級。在本節中,我們將看到一些流行的技術如何成功地在不影響模型性能的情況下降低訓練神經網絡的內存需求。第8.1節介紹了混合精度訓練[72]如何使用更少的位來保留訓練期間的權值和梯度,從而降低內存負擔。第8.2節介紹了兩種有效內存的自適應優化器,Adafactor[93]和SM3[10]。與上述方法正交,ZeRO[81]不改變模型優化方法,也不影響模型收斂,而是通過消除數據并行中的冗余來降低內存成本(章節8.3)。

結論

鑒于更大的數據集和更大的模型持續產生的準確性的顯著提高,大規模的深度學習已成為一個不可避免的趨勢。隨著數據集大小和DNN復雜度的增加,深度學習的計算強度、通信成本和內存需求均成比例增加。為了提高訓練速度已經付出了相當大的努力。在本文中,我們給出了大規模深度學習優化的概述。一般來說,目標是雙重的: 模型準確性和模型效率。至于模型的準確性,我們研究了最常用的優化算法,從梯度下降變量到(大批量)自適應方法,從一階方法到二階方法。此外,我們還闡述了在大批量訓練中出現的泛化差距這一有爭議的問題。至于模型的效率,我們總結了SOTA技術在解決通信開銷和內存占用方面的昂貴成本。我們希望這篇文章可以為那些有興趣進行大規模訓練的人提供一個清晰的草圖。

付費5元查看完整內容

相關內容

來自東北大學最新《大規模圖神經網絡系統》綜述論文

圖神經網絡(GNN)是一類基于深度學習的處理圖域信息的方法, 它通過將圖廣播操作和深度學習算法結合, 可以讓圖的結構信息和頂點屬性信息都參與到學習中, 在頂點分類、圖分類、鏈接預測等應用中表現出良好的效果和可解釋性, 已成為一種廣泛應用的圖分析方法. 然而現有主流的深度學習框架(如TensorFlow、PyTorch等)沒有為圖神經網絡計算提供高效的存儲支持和圖上的消息傳遞支持, 這限制了圖神經網絡算法在大規模圖數據上的應用. 目前已有諸多工作針對圖結構的數據特點和圖神經網絡的計算特點, 探索了大規模圖神經網絡系統的設計和實現方案. 首先對圖神經網絡的發展進行簡要概述, 總結了設計圖神經網絡系統需要面對的挑戰; 隨后對目前圖神經網絡系統的工作進行介紹, 從系統架構、編程模型、消息傳遞優化、圖分區策略、通信優化等多個方面對系統進行分析; 最后使用部分已開源的圖神經網絡系統進行實驗評估, 從精確度、性能、擴展性等多個方面驗證這些系統的有效性.

圖神經網絡概述

深度學習在對象檢測[1,2]、機器翻譯[3,4]、語音識別[5]、物理系統[6,7]等領域取得了革命性的成功, 推動了對模 式識別和數據挖掘的研究. 現有的深度學習方法能夠處理歐式空間表示下的規則數據, 例如圖像數據可以表示為 歐幾里得空間中的規則網絡, 而現實中的很多應用的數據以圖的形式來表示. 比如在社交網絡[8]中, 可以通過圖來 表示對象之間的關聯關系, 從而能夠進行社區發現、聚類[9]等算法. 在生物領域[10] , 可以通過圖來表示蛋白質分子 之間的關系, 從而能夠對蛋白質進行分類. 在引文網絡[11]領域, 可以用圖來表示論文之間的引用關系, 從而能夠對論文按領域進行分組. 在電子商務領域, 可以用圖來表示用戶和商品之間的交互關系, 從而能夠對用戶進行商品的 推薦. 由于圖數據的不規則性和稀疏性, 每個頂點可能具有不同數量的鄰居, 并且圖數據之間具有依賴性, 圖中每個頂點的計算依賴于其他的頂點, 所以導致很多深度學習方法無法直接應用在圖數據中. 例如, 卷積只能對圖像或文本這樣的歐幾里德數據進行操作, 無法直接應用于圖數據, 限制了深度學習方法在圖領域的發展.

隨著圖領域深度學習方法逐漸受到廣泛關注, 近些年出現了很多圖神經網絡算法, 這些方法通過在傳統深度 學習模型中添加圖操作, 應用圖的結構信息和屬性信息, 來處理圖數據的復雜性, 成為解決圖學習問題的有效方 法. 比較典型的工作有 Structure2Vec[12]、GCN[13]、FastGCN[14]、AS-GCN[15]、GraphSAGE[16]等.

圖神經網絡算法將傳統深度學習的方法, 如卷積, 擴展到了圖數據領域, 并結合數據傳播的思想形成了在圖上的深度學習算法, 其 在社交網絡、推薦系統[17]、知識圖譜[18]、鏈接預測[19]等領域都取得了良好的效果. 圖神經網絡受到廣泛關注的原因如下: 首先, 現有標準神經網絡無法正確處理圖數據的輸入, 因為其按照特定 順序處理節點特征, 而圖中的頂點沒有自然順序. 圖神經網絡算法采用在頂點上傳播信息的計算方式, 忽略頂點的 輸入順序解決了這個問題. 第二, 在標準神經網絡中, 圖中頂點的依賴關系僅能作為頂點特征輸入, 而圖神經網絡 算法根據圖中頂點的依賴關系進行信息傳播, 保留了圖結構的信息, 為下游深度學習任務提供了更加完整的信息. 第三, 推理是高級人工智能的一個重要研究課題, 圖神經網絡強大的表示能力, 為進一步生成強大的神經模型提供 了基礎.

現有的深度學習框架如 TensorFlow[20]、PyTorch[21]、MXNet[22]以及 CNTK[23] , 和圖處理框架 PowerLyra[24]、 PowerGraph[25]、Garaph[26]、Pregel[27]、TuX2[28]都不能很好地支持圖神經網絡的計算, 這阻礙了圖神經網絡的進一 步發展, 也限制了圖神經網絡在大規模數據中的應用. 因此突破現有框架限制, 開發專用于圖神經網絡訓練的系 統, 對于充分發揮圖神經網絡的潛力十分重要.

本文首先分析圖神經網絡算法的計算模式, 提出大規模圖神經系統訓練存在的挑戰, 并對現有系統進行介紹. 然后從系統架構、通信優化等多個維度對這些系統進行詳細的分析和對比, 對圖神經網絡系統的不同優化技術進 行總結和分析, 并對目前已經開源的圖神經網絡系統設計實驗, 從多個方面測評系統的性能, 驗證系統有效性.

大規模圖神經網絡訓練的挑戰

隨著圖神經網絡在不同領域的應用越來越廣, 對訓練圖神經網絡系統的性能要求也越來越高. 結合對圖嵌入[42-44]以及圖神經網絡[45, 46]的分析, 本文對設計開發神經網絡訓練系統存在的挑戰進行如下總結.

(1) 現有深度學習系統不能很好地抽象圖傳播過程. 現有的深度學習系統處理的是規則數據, 規則數據中每個樣本的計算圖是獨立的, 與其他樣本無關, 而圖神經網絡是將深度神經網絡和迭代圖傳播結合起來進行計算的, 圖數據的每個樣本(即圖頂點)之間具有依賴性, 所以現有系統不能自然地表達和有效地支持圖傳播模型. 如何突破現有框架的局限, 設計一種適用于圖神經網絡的系統架構是發展圖神經網絡的重要問題;

(2) 訓練大規模圖神經網絡的計算、存儲復雜度高. 真實世界中的尺寸都非常大, 而且由于頂點之間具有復雜的依賴性, 隨著圖神經網絡層數的增加, 計算成本和內存空間需求呈指數級增長. 例如Facebook的社交網絡圖包含超過20億個頂點和1萬億條邊, 這種規模的圖在訓練時可能會產生100 TB的數據. 所以針對大圖的訓練, 如何設計計算和存儲策略以利用有限的資源來使系統達到理想的性能也是發展圖神經網絡系統的一大挑戰;

(3) 圖計算局部性差導致系統開銷問題. 真實世界圖的稀疏性會導致非常差的空間局部性, 在單機系統中這會導致Cache命中率降低. 而在分布式系統中, 這會導致頻繁的跨節點訪問, 進而產生大量的消息傳遞開銷. 所以如何針對圖的特殊性質減少系統開銷是提高系統性能的一大挑戰;

(4) 圖的冪律分布導致分布式計算負載均衡問題. 對于具有數億個頂點的大型圖, 通常需要對圖進行分布式處理, 圖神經網絡算法不同于傳統的圖算法, 平衡的圖分區不僅依賴于分區內的頂點數量, 還依賴于分區內頂點鄰居的數量, 多層圖神經網絡模型中不同頂點多階鄰居的數量可能相差極大, 并且這些分區之間需要頻繁的數據交換, 如何對圖數據進行合理的分區來保證分布式訓練的性能是對于分布式系統的重大挑戰;

(5) 異構計算架構中的任務劃分和負載調度的合理性問題. GPU的廣泛應用為訓練深度學習模型帶來了很多機會和挑戰. 在利用GPU加速神經網絡的訓練時, 通常將數據存儲在主機內存中, 在計算時需要將數據傳輸到GPU, 由于圖神經網絡算法在反向傳播階段的復雜性, 需要頻繁的在主機和GPU之間進行數據傳輸, 如何設計合理的調度方案來最大程度地減少數據傳輸成本也是提高系統性能的一大挑戰.

為了應對這些挑戰, 出現了很多針對圖神經網絡的訓練框架, 其中單機系統如PyTorch Geomertic、DGL、NeuGraph. 圖神經網絡通常處理非常大且不規則的圖, 這些大圖無法存儲在單個設備中, 因此必須以分布式方式進行分區和處理, 其中分布式圖神經網絡框架如Euler、AliGraph、Roc、AGL. 接下來本文將介紹若干典型的單機圖神經網絡系統以及分布式圖神經網絡系統.

圖神經網絡系統介紹

圖神經網絡算法將深度神經網絡的運算(如卷積、梯度計算)與迭代圖傳播結合在一起: 每個頂點的特征都是由其鄰居頂點的特征結合一組深度神經網絡來計算. 但是, 現有的深度學習框架不能擴展和執行圖傳播模型, 因此缺乏高效訓練圖神經網絡的能力, 并且現有框架一般采用數據/模型并行來分布式訓練深度神經網絡, 這種并行計算方法難以直接應用于圖神經網絡, 因此限制了訓練大規模圖神經網絡的能力. 而現有的圖處理系統雖然能夠表示迭代圖傳播模型, 并能有效支持大規模圖的迭代計算, 但是缺乏支持神經網絡計算的關鍵能力, 如張量抽象、自動微分等. 因此, 為了支持圖神經網絡在大規模圖上的應用, 以及對更復雜圖神經網絡結構的探索, 開發針對圖神經網絡的訓練系統是十分有必要的.

目前具有代表性的圖神經網絡框架: DGL[47]、PyTorch Geometric[48]、NeuGraph[49]、EnGN[50]、Euler[51]、PSGraph[52]、AliGraph[53]、Roc[54]、AGL[55]、PGL[56]. DGL[47]是易于使用, 高性能且可擴展的Python庫, 用于圖結構的深度學習, 能夠與主流的深度學習框架集成, 例如Tensorflow[20]、PyTorch[21]、MXNet[22]. PyTorch Geometric[48]是基于PyTorch構建的深度學習庫, 用于處理非結構化數據的深度學習. NeuGraph[49]是一種將數據流系統和圖處理系統結合起來訓練圖神經網絡的框架, 它構建在現有的數據流引擎之上, 使用Python和C++作為開發語言. EnGN[50]是一種以邊為中心, 專門用于大規模圖神經網絡訓練的加速器. Euler[51]與PSGraph[52]是一個與深度學習工具集成的大規模分布式圖學習框架, 支持用戶在數十億點數百億邊的圖上進行模型訓練. AliGraph[53]是由阿里巴巴團隊開發的采樣建模訓練一體化的圖神經網絡平臺. Roc[54]是一種用于快速圖神經網絡訓練的分布式多GPU框架. AGL[55]是用于工業用途圖學習的集成系統, 利用傳統基礎架構(MapReduce、參數服務器[57])實現了容錯性和一致性. PGL (paddle graph learning)[56]是由百度開發的基于PaddlePaddle的高效靈活的圖學習框架.

圖神經網絡系統總結和分析

本節從系統架構、處理模型、圖分區策略、通信優化策略、以及社區活躍度與系統易用性方面, 對現有圖神經網絡系統進行分析和對比, 并從多個維度對系統的特點進行總結, 以表格的形式清晰的展示系統的共性與不同, 來為研究人員提供有效參考.

(1) 系統架構. DGL和PyTorch Geometric都是結合現有的深度學習框架來實現的, 并且針對圖神經網絡的特點做了多種優化, 達到了很好的性能. 結合現有深度學習框架來實現的系統, 更加方便用戶使用, 能夠幫助其更快地實現圖神經網絡模型. 但結合現有深度學習框架來實現的系統, 在針對圖操作的優化上有很多局限性. NeuGraph采用了一種新的架構, 將圖模型和數據流模型結合起來, 以支持高效的圖神經網絡訓練, 這種架構既彌補了現有數據流引擎不能有效地支持圖計算的缺點, 又彌補了圖引擎不能支持數據流編程模型的缺點. EnGN在統一的處理模型基礎上, 開發了一個定制的EnGN加速器, 它集成了一個神經圖處理單元(NGPU), 可以在統一的體系結構中執行特征提取, 聚合和更新操作. EnGN的專用加速器突破了硬件結構的限制, 相比于其他系統配備的多個CPU或GPU, 大大降低了成本和能源開銷. AliGraph、Euler和PGL的架構類似, 都采用分層架構, 構建于現有數據流框架之上, 并且都構建在CPU平臺上. Roc將圖神經網絡的計算分布在多個計算節點上, 每個計算節點可以包含多個GPU, 每個計算節點在子圖上執行圖神經網絡的訓練, 并與CPU通信來獲得輸入張量并保存中間結果. Roc采用分布式多GPU的架構不僅解決了單節點系統對于大規模圖的限制, 并且比基于CPU的系統更高效. AGL、PSGraph都是利用現有大數據處理系統和參數服務器的并行體系結構來組建的基于CPU的分布式圖神經網絡訓練框架, 這些系統具有良好的容錯性和可伸縮性.

(2) 處理模型. DGL和PyTorch Geometric通過使用面向圖的消息傳遞接口包裝深度學習系統, 來支持針對圖神經網絡的編程. 這種消息傳遞模型很好地表示了圖上的數據流動, 整個模型分為兩步. 第1步: “消息”生成操作, 這個操作定義在每個邊上, 通過將邊的特征與兩端頂點特征組合為每一條邊生成一條“消息”. 第2步: 更新操作, 定義在每個頂點上, 通過匯總頂點入邊傳入的消息來更新頂點特征. 通過系統提供的消息傳遞接口, 用戶可以快速實現圖神經網絡的原型制作. PGL也采用消息傳遞范式構建圖神經網絡的接口, 并提供多種聚合方法, 提高了并行處理效率. NeuGraph提出了一種新的處理模型SAGA-NN, 提高了在頂點和邊上執行批量操作的靈活性, 提供了在圖計算和數據流調度中實現優化的機會, 提高了系統性能. EnGN提供一種以邊為中心的處理模型, 將圖神經網絡的計算抽象為特征提取, 聚合和更新3個階段. EnGN與其他3個系統不同, 在處理模型基礎上定制了針對圖神經網絡的加速器, 不依賴于現有的深度學習系統, 并擁有獨特的數據流處理方法. EnGN優化了頂點數據和邊數據移動的內存訪問模式. 對于大圖中的源頂點數據訪問, 采用圖切片技術, 并確保對源節點的訪問僅引起對連續內存地址的訪問. 對于聚合和更新階段中的隨機目標頂點訪問, EnGN利用哈希邊數據布局和多級緩存方法來避免寫沖突并提高片上緩沖器中的數據命中率.

(3) 圖分區策略. 平衡的圖分區是實現分布式圖神經網絡系統的關鍵之一. Euler采用簡單的哈希方法將圖的頂點進行分片, 這種分片方式使各個節點擁有目標頂點的數量基本一致, 但是在每個頂點的子圖中擁有的鄰居數量是不同的, 所以每個節點的計算負載并不均衡. AliGraph則提供了多種內置的圖分區算法供用戶選擇, 比如適合處理稀疏圖的METIS方法, 適合稠密圖的點割和邊割方法, 這種方法雖然為用戶提供了多種選擇, 但需要用戶自己去判斷使用哪種分區方式, 給用戶造成很大不便. Roc采用一種在線線性回歸模型來優化圖分區. 這種基于線性回歸的圖分區方法在圖神經網絡系統中能夠達到比傳統分區更好的性能.

(4) 通信優化策略. 針對通信開銷影響分布式系統性能的問題, Euler采用的是緩存對應頂點k階內的鄰居頂點信息, 這種方式雖然直接避免了計算節點之間的通信, 但是造成了很嚴重的內存浪費, 并且在冪律分布的圖中還會使各個計算節點之間負載不均衡. AGL采用的策略和Euler相同, 但是AGL提出了重新索引的策略來均衡負載. AliGraph提出了一種緩存重要頂點的鄰居的方法來降低通信開銷, 同時提出了一種對頂點重要性的度量標準, 既能有效減低通信開銷, 又防止產生巨大的存儲成本, 避免資源浪費. ROC引入了代價模型, 可以最大程度地減少CPU和GPU之間的數據傳輸. 這種動態的方法突破了手動優化的局限, 將影響通信的多種因素綜合考慮, 從而更好的降低通信成本, 提高系統性能. PGL的分布式參數服務器提供了一種高效的參數更新策略: GeoSSD, 在全異步的條件下進行參數更新, 并重疊模型訓練與節點通信, 在保證模型效果的前提下提升了訓練效率.

(5)社區活躍度與系統易用性. PyTorch Geometric、DGL、AliGraph、Euler、PSGraph、PGL為開源系統, 這里的社區活躍度以GitHub上討論區的數量為標準, 這其中最活躍的社區為PyTorch Geometric. 在系統易用性方面, 從配置文件的完整度、對其他系統的依賴度、用戶使用的方便度多個角度綜合考量, 這其中DGL和PyTorch Geometric的易用性排在前列, 而Euler與PSGraph雖然給出了配置文件, 但在配置系統時, 需要配置其他多個依賴包, 并且數據處理過程繁瑣, 不易用戶使用. 本文為系統的社區活躍度和易用性給出星級評價, 星級越高, 系統在這兩方面表現越好, 其中空白符號表示系統未開源.

本文對目前的圖神經網絡系統從多個維度進行了綜合分析, 對這些系統的共同特性進行提取, 并總結歸納, 見表1.

總結

本文首先簡要介紹了圖神經網絡的發展, 并對典型的圖神經網絡算法的計算模式進行了介紹, 并簡要分析了圖神經網絡訓練的難點. 然后本文對現有圖神經網絡系統做了詳細描述, 并對這些系統從系統架構、處理模型以及優化策略和系統易用性等多個角度進行分析和總結, 總結了針對圖神經網絡系統的多種優化技術, 最后使用目前可用的開源系統驗證了現有分布式圖神經網絡系統的有效性. 經過論文分析與總結, 發現現有圖神經網絡系統仍存在以下問題, 同時也是未來的研究方向: 首先, 目前系統所采用的架構仍依賴于現有數據流框架, 現有數據流框架針對深度神經網絡的運算做了一系列優化, 但缺少針對圖操作的優化尤其是高效分布式圖操作, 與這些框架結合起來搭建系統, 制約了分布式圖神經網絡系統的進一步發展. 第二, 目前系統所采用的小批量并行計算方式, 并不適用于基于譜方法的圖卷積網絡, 本文通過實驗發現, 采用這種并行計算方式會對基于譜方法圖卷積網絡的訓練精度產生影響. 第三, 圖的分區操作和通信管理是影響系統性能的關鍵因素, 盡管目前的系統已經在這兩方面提出多種優化, 減少了內存消耗和通信開銷, 但這兩者仍存在非常大的優化空間.

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

深度學習模型的分散訓練是實現網絡上數據隱私和設備上學習的關鍵要素。在現實的學習場景中,不同客戶端局部數據集之間存在異構,這對優化提出了挑戰,并可能嚴重影響泛化性能。在本文中,我們研究并識別了幾種分散優化算法在不同程度的數據異構下的局限性。我們提出了一種新的基于動量的方法來緩解這種分散訓練的困難。我們通過對各種CV/NLP數據集(CIFAR-10、ImageNet和AG News)和幾種網絡拓撲(Ring和Social network)的大量經驗實驗表明,與其他現有方法相比,我們的方法對客戶數據的異構性更穩健,測試性能顯著提高(1% - 20%)。我們的代碼是公開的。

//www.zhuanzhi.ai/paper/f22917494a3416d21630f426b07e5622

付費5元查看完整內容

神經網絡在諸多應用領域展現了巨大的潛力,成為當前最熱門的研究方向之一。神經網絡的訓練主要通過求解一個優化問題來完成,但這是一個困難的非線性優化問題,傳統的優化理論難以直接應用。在神經網絡和優化的交叉領域,長期以來研究人員積累了大量的理論研究知識,不過這些研究或過于理論而不被大部分實踐者所了解,或過于偏工程而不被理論學者所理解和欣賞。本文的目的是總結目前對于神經網絡優化基本理論和算法的現狀,架起理論和實踐、優化和機器學習界之間的橋梁。

對苦于調參常感到困惑的工程師而言,本文可以提供一些已有的理論理解以供參考,并提供一些思考的方式。對理論學者而言,本文力圖解釋其作為數學問題的困難之所在以及目前的理論進展,以期吸引更多研究者投身神經網絡優化理論和算法研究。

本文概述了神經網絡的算法和優化理論。首先,我們討論梯度爆炸/消失問題和更一般的譜控制問題,然后討論實際中常用的解決方案,包括初始化方法和歸一化方法。其次,我們回顧用于訓練神經網絡的一般優化方法,如SGD、自適應梯度方法和大規模分布式訓練方法,以及這些算法的現有理論結果。第三,我們回顧了最近關于神經網絡訓練的全局問題的研究,包括局部極值、模式連接、彩票假設和無限寬度分析等方面的結果。

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

自然語言處理(NLP)幫助智能機器更好地理解人類語言,實現基于語言的人機交流。計算能力的最新發展和大量語言數據的出現,增加了使用數據驅動方法自動進行語義分析的需求。由于深度學習方法在計算機視覺、自動語音識別,特別是NLP等領域的應用取得了顯著的進步,數據驅動策略的應用已經非常普遍。本調查對得益于深度學習的NLP的不同方面和應用進行了分類和討論。它涵蓋了核心的NLP任務和應用,并描述了深度學習方法和模型如何推進這些領域。我們進一步分析和比較不同的方法和最先進的模型。

付費5元查看完整內容

深度學習(DL)在我們的生活中扮演著越來越重要的角色。它已經在癌癥診斷、精準醫療、自動駕駛汽車、預測預測和語音識別等領域產生了巨大的影響。在傳統的學習、分類和模式識別系統中使用的人工制作的特征提取器對于大型數據集是不可擴展的。在許多情況下,根據問題的復雜性,DL還可以克服早期淺層網絡的限制,這些限制阻礙了有效的訓練和多維培訓數據分層表示的抽象。深度神經網絡(DNN)使用多個(深度)單元層,具有高度優化的算法和體系結構。來自美國AJAY SHRESTHA等學者撰寫了深度學習算法與架構回顧綜述論文,包括深度學習算法類型與訓練方法,深入研究了最近深度網絡中使用的訓練算法背后的數學原理。本文還介紹了深度卷積網絡、深度殘差網絡、遞歸神經網絡、增強學習、變分自編碼器等不同類型的深度結構。

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