鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
arXiv:1907.02189v2 [stat.ML] 8 Oct 2019
Abstract
聯邦學習使得大量的邊緣計算設備在不共享數據的情況下共同學習模型。聯邦平均法(FedAvg)是該算法中的一種主要算法,它在所有設備的一小部分上並行運行隨機梯度下降(SGD),並每隔一段時間對序列進行平均。盡管它很簡單,但在現實環境下卻缺乏理論上的保障。本文分析了FedAvg在非iid數據上的收斂性,建立了強凸光滑問題的收斂速度O(1/T),其中T是SGDs的迭代次數。重要的是,我們的界證明了通信效率和收斂速度之間的權衡。由於用戶設備可能與服務器斷開連接,我們將設備完全參與的假設放寬到部分設備參與,並研究了不同的平均方案;在不嚴重降低學習速度的情況下,可以實現低設備參與率。我們的結果表明,數據的異質性減緩了收斂速度,這與經驗觀測相符。此外,我們還為FedAvg在非iid數據上的收斂性提供了一個必要條件:即使使用全梯度,學習率也必須下降;否則,解將偏離最優解。
1 Introduction
聯邦學習(FL),也被稱為聯邦優化,它允許多方在不共享數據的情況下協同訓練模型[10,29,20,9,26,48]。類似於中心化並行優化[7,14,15,28,42,22,24,25,31,46,30],FL允許用戶設備(也稱為工作節點)執行大部分計算,中心參數服務器使用用戶設備返回的下降方向更新模型參數。然而,FL有三個特征,使其區別於標准的並行優化[16]。
首先,訓練數據大量分布在大量設備上,中央服務器和設備之間的連接速度很慢。一個直接的結果是緩慢的通信,這激發了通信高效的FL算法[20,32,26,27]。聯邦平均(FedAvg)是第一個,也許是最廣泛使用的FL算法。它在一小部分采樣的設備上並行運行E步SGD,然后每隔一段時間通過一個中央服務器對生成的模型更新進行平均。與SGD及其變體相比,FedAvg執行更多的本地計算和更少的通信。
其次,與傳統的分布式學習系統不同,FL系統不能控制用戶的設備。例如,當手機關閉或WiFi訪問不可用時,中央服務器將失去與此設備的連接。當這種情況在訓練過程中發生時,這種無響應/非活躍的設備(稱為“掉隊者”)看起來比其他設備慢得多。不幸的是,由於它無法控制設備,系統只能等待或忽略掉隊者。等待所有設備響應顯然是不可行的;因此要求所有設備都處於活躍狀態是不切實際的。
再次,訓練數據是非iid的,也就是說,設備的本地數據不能看作是從總體分布中提取的樣本。本地可用的數據無法表示總體分布。這不僅給算法設計帶來了挑戰,也使得理論分析更加困難。雖然FedAvg在數據為非iid時確實有效[20],但即使在凸優化設置中,非iid數據上的FedAvg也缺乏理論保證。
在假設(1) 數據是iid和(2) 所有設備都是活躍的基礎上,為FL算法的收斂性保證做了大量的工作。Khaled等人[8],Yu等人[40],Wang等人[36]做了后一種假設,而Zhou和Cong[47]、Stich[33]、Wang和Joshi[35]、Woodworth等人[38]做了兩個假設。這兩個假設顯然違背了FL的第二和第三個特征。