CMU 機器人研究所張昊(Hao Zhang)博士論文新鮮出爐,主要圍繞著機器學習并行化的自適應、可組合與自動化問題展開。
隨著近年來,機器學習領域的創新不斷加速,SysML 的研究者已經創建了在多個設備或計算節點上并行機器學習訓練的算法和系統。機器學習模型在結構上變得越來越復雜,許多系統都試圖提供全面的性能。尤其是,機器學習擴展通常會低估從一個適當的分布策略映射到模型所需要的知識與時間。此外,將并行訓練系統應用于復雜模型更是增加了非常規的開發成本,且性能通常低于預期。 近日,CMU 機器人研究所博士張昊公布了自己的博士學位論文《機器學習并行化的自適應、可組合與自動化》,旨在找出并解決并行 ML 技術和系統實現在可用性和性能方面的研究挑戰。 具體而言,該論文從可編程性、并行化表示、性能優化、系統架構和自動并行化技術等幾方面對分布式并行 ML 展開了研究,并認為分布式并行機器學習可以同時實現簡潔性和高效性。此外,該論文表明,并行 ML 的性能可以通過生成自適應 ML 模型結構和集群資源范式的策略實現大幅度提升,同時通過將「如何并行化」這一核心問題形式化為端到端優化目標以及構建可組合分布式 ML 系統來自動優化這類自適應、自定義策略,進而可以解決可用性挑戰。
論文鏈接:https://www.cs.cmu.edu/~hzhang2/files/hao_zhang_doctoral_dissertation.pdf 機器之心對該論文的核心內容進行了簡要介紹,感興趣的讀者可以閱讀原論文。 論文內容介紹 這篇論文主要由三部分組成,如下圖所示,第 1 部分(第三章 - 第五章):在單個機器學習并行化層面,使用自適應并行化理解和優化并行機器學習性能;第 2 部分(第六章 - 第七章):為機器學習并行開發統一的表示和可組合系統;第 3 部分(第八章):機器學習并行化的自動化。
論文結構概覽 論文第一部分提出了一個簡單的設計原則自適應并行(adaptive parallelism),根據模型構建要素(比如層)的特定 ML 屬性,將合適的并行化技術應用于模型組成要素中。作者以 BERT 為例,總結出了實現這種自適應的基本原理和三個核心概念,分別是子模型策略組合、多個并行化方面的系統優化和資源感知。此外,作者推導出了一系列優化和實現方法,從不同層面去提升 ML 并行化。研究結果表明其顯著提高了 ML 訓練在集群上的效率和可擴展性。 第二部分對這種方法進行了概述,并且面向機器學習并行化任務的兩個常見范式:單節點動態批處理和分布式機器學習并行,作者將機器學習的并行化表述為端到端的優化問題,并尋找其自動化的解決方法。作者提出了原則表征來表示兩類機器學習并行,以及可組合的系統架構 Cavs 與 AutoDist。它們能夠快速組合不可見模型的并行化策略,提升并行化表現,并簡化并行機器學習程序。
Facebook AI 提出的 DETR 的架構圖 在此基礎上,論文第三部分提出一個自動并行化框架 AutoSync,用于自動優化數據并行分布訓練中的同步策略。它實現了「開箱即用」的高性能,可以通過提出的表征進行空間導航,并自動識別同步策略,這些策略比現有的手工優化系統的速度提高了 1.2-1.6 倍,降低了分布式 ML 的技術障礙,并幫助更大范圍的用戶訪問它。總結來說,這篇論文提出的相關技術和系統驗證了分布式環境下面向大規模機器學習訓練的端到端編譯系統的概念與原型實現。
AutoSync 策略的自動優化流程算法
AutoSync 中的策略空間包含了現有系統中的很多高級策略 語言模型的分布式預訓練示例 預訓練語言表征已成為 NLP 系統中最普遍、最關鍵的部分。使用與任務無關的語言模型框架,可以對從 web 抓取的未標記文本進行無監督的訓練,只需預測下一個單詞或句子。預訓練表征可以靈活地應用于下游任務,針對特定任務的損失和數據集進行微調,或是通過少量上下文學習。 近年來,人們在開發更強大的任務無關 LM 架構方面取得了巨大進展,從單層詞向量表征到遞歸神經網絡的多層表征和上下文狀態,以及最新的基于遞歸 transformer 的架構。 下圖展示了一個著名的例子——雙深度 Transformer(BERT)——屬于第三類。不管網絡架構如何,語言模型通常包含許多參數,而這些參數是在大規模文本語料庫上訓練出來的,這是因為它們的建模能力隨其大小以及文本掃描量成正比。
假設我們對訓練 BERT 感興趣,在基于 AWS 的 GPU 集群上使用 TensorFlow 等框架實現。我們可以使用最先進的開源訓練系統——Horovod,開始數據并行訓練。 應用 Horovod 轉換單機 BERT 訓練代碼,涉及將原始的框架內置優化器與 Horovod 修補的優化器包裝在一起。然后 Horovod 會在集群節點上使用 collective allreduce 或 allgather 來平均和應用梯度。
這些 TensorFlow+Horovod 代碼片段展示了 Horovod 如何給優化器打補丁,以及如何為分布式訓練進行非常小的代碼改變。 雖然可能會在目標集群上部署訓練,但獲得的擴展不太可能隨著添加更多資源而成比例增長(理想情況下,線性擴展與加速器的數量成比例增長):所有的語言模型都有嵌入層,這些層擁有很多模型參數,但在每個設備上的每次訓練迭代中訪問很少,減少或聚集其梯度都會導致不必要的網絡運作;BERT 中的 transformer 是矩陣參數化、計算密集型的,與 Horovod 中的常規做法一樣,將梯度分組在一個縮減環(reduction ring)中,很容易使以太網帶寬或異構集群 (如 AWS) 的設備 Flops 飽和。 在這兩種情況下,設置都容易出現通信或計算混亂的情況,即訓練時間的縮短無法令人滿意,花費在訓練上的計算資源成本在經濟上也不能接受。這表明,并行化的常規目標并沒有實現。 所以,本文提出的這種自適應并行策略,能夠為并行化性能進行適當的優化。 作者介紹 張昊在今年 9 月 2 日完成了博士學位的論文答辯,導師為 CMU 教授、Petuum 創始人邢波(Eric Xing)。獲得 CMU 機器人研究所的博士學位后,他將以博士后身份進入 UC 伯克利的 RISE 實驗室,與計算機科學系教授 Ion Stoica 共同工作。
他的研究興趣包括可擴展的機器學習、深度學習以及計算機視覺和自然語言處理領域的大規模機器學習應用。他還協同設計了一系列模型、算法和系統,在更大規模數據、問題、應用中進行機器學習擴展,以簡化復雜機器學習模型和算法的原型開發,使機器學習程序分布自動化。
責任編輯:lq
-
計算機視覺
+關注
關注
8文章
1698瀏覽量
46022 -
機器學習
+關注
關注
66文章
8422瀏覽量
132736 -
自然語言處理
+關注
關注
1文章
618瀏覽量
13573
原文標題:229頁,CMU博士張昊畢業論文公布,探索機器學習并行化的奧秘
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論