作為一種自適應步長隨機梯度優化器,自2014年提出以來,Adam 算法便以其卓越的性能風靡深度學習領域。為了提高應用于訓練大規模任務時的效率,該算法通常與同步隨機梯度(Synchronous Stochastic Gradient,SSG)技術相結合,采用數據并行(data parallel)的方式在多臺機器上執行。在本文中,我們稱這一方法為 Sync-Adam。
本質上來講,Sync-Adam 通過將一個 minibatch 內樣本的梯度計算分布到多臺機器上達到加速目的,因此通信十分頻繁,并且隨著并行機器數目增多,minibatch 內樣本的數量也成比例增加,這種情況下,通常會損害最終得到的模型的性能。為解決基于 SSG 的 Adam 算法可擴展性差的難題,我們把目光投向了逐區塊模型更新濾波(Blockwise Model-Update Filtering, BMUF)框架。
BMUF 是一種通信高效的通用分布式優化算法框架,于2016年由微軟亞洲研究院語音組的研究人員提出并發表。該算法在多個并行工作機之間周期性同步模型更新信息,并與歷史更新信息相結合提升全局模型性能。與基于 SSG 的算法相比,BMUF 具有通信頻率較低、訓練幾乎線性加速、模型性能基本無損的特點。這一算法已經在工業界廣泛用于大規模深度學習模型的訓練。
本文中,我們采用 BMUF 框架并行化 Adam 算法,并在微軟大規模 OCR 和語音產品數據集上進行了測試。實驗結果表明,在大規模 OCR 任務中,BMUF-Adam 在多達64機的并行訓練中幾乎實現了線性加速的同時,基本沒有模型性能損失,在32機大詞匯量連續語音識別任務中也獲得了類似效果。
接下來我們探討如何采用 BMUF 框架賦能 Adam 算法,在大規模深度學習任務上成就不凡。
在基于 BMUF 的訓練框架下,假設我們總共有 N 個并行工作機,一個工作機可以是一塊或多塊 GPU 卡,也可以是一個計算節點。給定一個包含 Nτ 個 minibatch 的訓練數據子集,首先我們將這些數據均勻分布到 N 個并行工作機,每臺工作機獲得 τ 個 minibatch。從一個共同的初始模型 θ_(t-τ)^((init)) 開始,N 個工作機獨立更新各自的局部模型 τ 步,得到 {θ_(t,1),θ_(t,2),…,θ_(t,N)},對局部模型取平均得到 θ ̅_t。這一過程稱之為數據塊內并行優化(Intra-Block Parallel Optimization, IBPO)。與直接將 θ ̅_t 作為全局模型不同,BMUF 技術將歷史更新信息與當前更新信息結合,得到全局模型:
資料獲取 | |
新聞資訊 | |
== 資訊 == | |
» 人形機器人未來3-5年能夠實現產業化的方 | |
» 導診服務機器人上崗門診大廳 助力醫院智慧 | |
» 山東省青島市政府辦公廳發布《數字青島20 | |
» 關于印發《青海省支持大數據產業發展政策措 | |
» 全屋無主燈智能化規范 | |
» 微波雷達傳感技術室內照明應用規范 | |
» 人工智能研發運營體系(ML0ps)實踐指 | |
» 四驅四轉移動機器人運動模型及應用分析 | |
» 國內細分賽道企業在 AIGC 各應用場景 | |
» 國內科技大廠布局生成式 AI,未來有望借 | |
» AIGC領域相關初創公司及業務場景梳理 | |
» ChatGPT 以 GPT+RLHF 模 | |
» AIGC提升文字 圖片滲透率,視頻 直播 | |
» AI商業化空間前景廣闊應用場景豐富 | |
» AI 內容創作成本大幅降低且耗時更短 優 | |
== 機器人推薦 == | |
服務機器人(迎賓、講解、導診...) |
|
智能消毒機器人 |
|
機器人底盤 |