鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
arXiv:1812.06127v3 [cs.LG] 11 Jul 2019
3 Federated Optimization: Algorithms
3.1 Federated Averaging (FedAvg)
3.2 Proposed Framework: FedProx
4 FedProx: Convergence Analysis
5.2 Effect of Statistical Heterogeneity
5.3 Properties of FedProx Framework
5.4 Dissimilarity Measurement and Divergence
聯邦學習涉及在大規模分布式網絡中訓練機器學習模型。雖然聯邦平均(FedAvg)是在該設置中訓練非凸模型的主要優化方法,但在實際的聯邦設置中,當跨統計異質設備(即每個設備以不同的方式收集數據)學習時,它的表現並沒有得到很好的理解。在這項工作中,我們引入了一個處理統計異質性的框架FedProx,它將FedAvg作為一個特例。我們通過設備差異性假設為FedProx提供了收斂保證,該假設允許我們描述網絡中的異構性。最后,我們對一組聯邦數據集進行了詳細的實證評估,驗證了我們的理論分析,並證明了相對於FedAvg,廣義FedProx框架在異質網絡中學習更具有穩健性和穩定性。
由電話、車輛和可穿戴傳感器等遠程設備組成的大型網絡每天都會產生大量數據。由於用戶隱私問題和系統約束(例如,通信成本、設備級計算約束和設備之間的低可用性),聯邦學習已經成為一種有吸引力的范例,可以將此類網絡中的模型訓練推向邊緣[19]。
允許局部更新和低參與度的優化方法已經成為聯邦學習的實際解決方案[19,25]。這些方法在設備子集上執行可變數量的本地更新,以實現靈活和高效的通信,例如,與傳統的分布式梯度下降或隨機梯度下降(SGD)相比較。在當前的聯邦優化方法中,FedAvg[19]已經成為非凸聯邦學習的最新技術。FedAvg的工作原理很簡單,就是在每個通信回合中,在總設備N的子集K « N上運行一定數量的SGD的epoch,E,然后通過中央服務器對結果模型更新進行平均。
然而,FedAvg並不是為解決聯邦設置中固有的統計異質性而設計的;也就是說,數據可能在設備之間分布不一致。在實際的統計異質性背景下,FedAvg被證明在經驗上存在分歧[例如,19,Sec 3],而且它也缺乏理論上的收斂性保證。事實上,最近研究收斂保證的工作僅限於不切實際的場景,例如(1)數據在設備之間共享或以IID(獨立且相同分布)的方式分布,或(2)所有設備在每一輪中都參與通信[27,29,30,31,34,38]。雖然這些假設簡化了分析,但也違背了實際聯邦網絡的關鍵特性。
貢獻:在這項工作中,我們提出了以下兩個問題:(1)我們能否在實際的、統計異質的聯邦環境中對FedAvg有一個原則性的理解?(2)我們能否從理論和經驗上設計出一種改進的聯邦優化算法?為此,我們提出了一個異質網絡的聯邦優化框架FedProx,它包含FedAvg。為了將FedProx的收斂行為描述為統計異質性的函數,我們在網絡中引入了一個設備差異性假設。在這個假設下,我們為FedProx在實際的異質數據聯邦設置中提供了第一個收斂保證。此外,通過對大量實際聯邦數據集的一組實驗,我們證明了我們的理論假設反映了經驗性能,並且與FedAvg相比,FedProx可以在數據跨設備異質時提高收斂的穩健性和穩定性。
大規模機器學習,特別是在數據中心環境中,在過去十年中推動了許多分布式優化方法的發展[見,例如,3,6,7,16,21,22,24,26,35,36]。然而,隨着手機、傳感器和可穿戴設備等計算基元的功率和普及率的增長,直接通過分布式設備網絡學習統計模型,而不是將數據移動到數據中心,變得越來越有吸引力。這個問題被稱為聯邦學習,需要解決隱私、異質數據和設備以及大規模分布式計算網絡的新挑戰。
最近有人提出了針對聯邦環境中特殊挑戰的優化方法。與傳統的分布式方法如ADMM[3]或mini-batch方法[7]相比,這些方法已經顯示出顯著的改進,它們允許不精確的局部更新,以便在大型網絡中平衡通信與計算,並且允許在任何通信回合中激活一小部分設備[19,25]。例如,Smith等人[25]提出了一種通信效率高的原始-對偶優化方法,該方法通過多任務學習框架學習每個設備的獨立但相關的模型。盡管該方法具有理論上的保證和實際的有效性,但這種方法不能推廣到非凸問題,例如深度學習,在這種情況下不再保證強對偶性。在非凸的情況下,聯邦平均(FedAvg)是一種基於平均局部隨機梯度下降(SGD)更新的啟發式方法,它在實際中表現得很好[19]。
不幸的是,FedAvg由於其本地更新方案、每輪活躍的設備很少以及數據在網絡中經常以異構的形式分布的問題,使得它的分析具有相當大的挑戰性。特別是,當每個設備生成自己的本地數據時,統計異質性通常是指數據在設備之間的分布不一致。最近的工作已經朝着在更簡單的非聯邦設置中分析FedAvg邁出了一步。例如,在IID設置中研究了並行SGD和相關變體[18,21,24,27,29,31,35,38],它們使本地更新類似於FedAvg。然而,結果依賴於一個前提,即每個局部求解器是同一隨機過程的副本(由於IID假設)。這種推理方式不適用於異質環境。盡管一些工作[10,13,30,34]最近已經研究了異質環境下的收斂保證,但是他們提出了限制性假設,即所有設備都參與每一輪通信,這在現實的聯邦網絡中通常是不可行的[19]。此外,與本文中提出的求解器不可知框架相比,它們依賴於每個設備上使用的特殊的求解器(SGD或GD),並且將凸性[30]或一致有界梯度[34]的附加假設添加到它們的分析中。
也有一些啟發式方法旨在通過共享本地設備數據或一些服務器端代理數據來解決統計異質性問題[11,12,37]。然而,這些方法可能是不切實際的:除了在網絡帶寬上施加負擔之外,向服務器發送本地數據[12]違背了聯邦學習的密鑰隱私假設,並且向所有設備發送全局共享代理數據[11,37]需要努力仔細地生成或收集這樣的輔助數據。
在這項工作中,受FedAvg的啟發,我們探索了一個更廣泛的框架FedProx,它能夠處理異質聯邦數據,同時保持類似的隱私和計算優勢。我們分析了在局部函數不同假設下框架的收斂性。我們的假設受到求解線性方程組的Kaczmarz方法[14]的啟發,該方法的類似假設已被用於分析其他情況下的SGD變種[見,例如23,28,33]。我們提出的框架允許在異類聯邦網絡中提高收斂的穩健性和穩定性。
最后,我們注意到,我們所提出的工作的兩個方面——FedProx中的近端項和在我們的分析中所使用的有界相異假設在優化文獻中已經被研究過,盡管通常具有非常不同的動機和非聯邦的設置。為了完整起見,我們在附錄E中進一步討論了這項背景工作。
3 Federated Optimization: Algorithms
在這一節中,我們將介紹最近的聯邦學習方法背后的關鍵要素,包括FedAvg,然后概述我們提出的框架FedProx。聯邦學習方法(例如,19,25)設計用於處理收集數據的多個設備和協調整個網絡的全局學習目標的中央服務器。聯邦優化的目標是最小化:
為了減少通信和處理系統約束,聯邦優化方法中的一種常用技術是,在每個設備上,使用基於設備數據的局部目標函數作為全局目標函數的代理。在每次外部迭代中,選擇一個設備子集,並使用局部求解器優化每個選定設備上的局部目標函數。然后,這些設備將其局部模型更新傳遞給中央服務器,中央服務器聚合它們並相應地更新全局模型。在這種情況下,允許靈活的性能的關鍵是每個局部目標可以被精確地解決。這允許根據執行的局部迭代次數調整局部計算量與通信量。我們在下面正式介紹這個概念,因為它將在整個論文中使用。
為了充分的通用性,我們在分析(第4節)中使用γ-不精確性來測量每個局部求解器的局部計算量。然而,在我們的實驗(第5節)中,我們只是迭代運行局部求解器若干個局部epochs,類似FedAvg(算法1)。局部epochs的數目可以被視為γ-不精確性的一個代表,通過允許γ根據迭代和設備的不同而變化,我們能夠很簡單地將我們的分析加以擴展以直接覆蓋這種情況,類似於[25]中的分析。
3.1 Federated Averaging (FedAvg)
在聯邦平均(FedAvg)[19]中,設備k的全局目標函數的局部代理是Fk(·),而局部求解器是隨機梯度下降(SGD),各設備具有相同的學習率和局部epochs數。在每一輪中,選擇總設備中的子集K « N,並在局部運行E個epochs的SGD,然后對得到的模型更新進行平均。算法1總結了FedAvg的細節。
McMahan等人[19]實證表明,對FedAvg的優化超參數進行適當的調整是至關重要的。特別是,仔細調整局部epochs的數目對於FedAvg收斂是至關重要的,因為額外的局部epochs允許局部模型遠離初始全局模型,從而可能導致發散。在異質設定中,局部目標可能與全局目標相差甚遠,這一問題加劇惡化。通過一個更具原則性的工具來限制局部偏差量比通過啟發式地限制某些迭代求解器的局部epochs的數目更有利。這一觀察為下文介紹的FedProx提供了靈感。
3.2 Proposed Framework: FedProx
我們提出的框架FedProx(算法2),與FedAvg類似,它在每一輪中選擇一個設備子集,執行局部更新,然后對這些更新進行平均以形成全局更新。然而,不是僅僅最小化局部函數Fk(·),設備k使用它的局部求解器來近似地最小化以下替代目標hk:
上述表達式中的近端項有效限制了局部更新的影響(通過限制它們使其接近初始模型),而不需要如FedAvg一樣手動調整局部epochs數目。我們注意到,如以上所述的近端項是在整個優化文獻中流行使用的工具;為了完整性,我們在附錄E中對此進行了更詳細的討論。提出使用的一個重要區別是我們提出,探索,為了解決聯邦網絡中的統計異質性,分析這個項。我們的分析(第4節)在考慮到分布式環境中解決這樣一個目標時是獨特的:(1)非IID划分的數據,(2)使用任何局部求解器,(3)每個設備上的不精確更新,以及(4)在每輪中處於活躍狀態的設備子集。這些假設對於在實際的聯邦場景中提供這樣一個框架的特性至關重要。
在我們的實驗(第5.2節)中,我們看到FedProx中修改的局部子問題比原始的FedAvg對於異質數據集的收斂性更強、更穩定。在第4節中,我們還看到,近端項的使用使得FedProx更適合於理論分析(即局部目標的表現可能更好)。特別是,如果相應地選擇μ,hk的海森矩陣可能是半正定的。因此,當Fk為非凸時,hk為凸;當Fk為凸時,hk為μ-強凸。請注意,FedAvg是FedProx的一個特例,其μ值為0,其中局部求解器被指定為SGD。FedProx在這方面更為通用,因為任何局部(可能是非迭代的)求解器都可以在各個設備上使用。
4 FedProx: Convergence Analysis
FedAvg和FedProx本質上是隨機算法:在每一輪中,只有一小部分設備被采樣來執行更新,並且在每個設備上執行的更新可能不精確。眾所周知,為了使隨機方法收斂到一個平穩點,需要減小步長。這與非隨機方法(例如梯度下降法)不同,后者可以通過采用恆定步長來求出平穩點。為了分析常步長方法的收斂性,需要量化局部目標函數之間的差異程度。這可以通過假設數據是IID來實現,即跨設備的同質性。不幸的是,在現實的聯邦網絡中,這種假設是不切實際的。因此,我們提出了一個度量標准,專門測量局部函數之間的差異性(第4.1節),並在此假設下分析FedProx(第4.2節)。
在這里,我們引入一個度量聯邦網絡中設備之間差異性的方法,這足以證明收斂性。這也可以通過更簡單的梯度有界方差假設(推論8)來滿足,我們在第5節的實驗中對此進行了探索。
使用定義2,我們現在陳述我們在收斂性分析中使用的差異性假設。這僅要求定義2中定義的差異是有界的。
對於大多數實際的機器學習問題,不需要求解任意精確的穩定解,即ε通常不是很小。事實上,眾所周知,解決超過某個閾值的問題甚至可能由於過擬合而損害泛化性能[32]。盡管在實際的聯邦學習問題中,樣本不是IID的,但它們仍然是從並非完全無關的分布中采樣的(如果分布完全無關,那么跨設備擬合一個全局模型w是不明智的)。因此,可以合理地假設,在整個訓練過程中,局部函數之間的差異仍然是有界的。在第5.4節中,我們對幾個真實數據集的差異性概念進行了經驗測量。
利用有界差異性假設(假設1),我們現在分析執行一步FedProx時目標的預期減少量。
我們現在給出FedProx的實驗結果。在第5.2節中,我們研究了統計異質性對FedAvg和FedProx收斂性的影響。第5.3節探討了FedProx框架的性質(μ和局部epochs E的影響)。最后,在第5.4節中,我們展示了經驗收斂與有界差異性假設(假設1,推論8)之間的關系。我們在第5.1節和附錄D中提供了實驗設置的詳細信息。所有代碼、數據和實驗都可以在github.com/litian96/FedProx上公開獲取。
我們在不同的任務、模型和真實的聯邦數據集上評估FedProx。為了刻畫統計異質性並研究其對收斂性的影響,我們還對一組人工數據進行了評估,從而可以更精確地處理異質性。
真實的數據:我們還研究了五個真實數據集;統計數據匯總在附錄D.1的表1中。這些數據集是從先前聯邦學習的研究[4,19]中收集的。我們研究了划分MNIST[15]、Federated Extended MNIST[4,5](FEMNIST)和FMNIST*上的兩個凸模型。我們研究了兩個非凸模型:Sentiment140[9](Sent140)和莎士比亞全集[19](Shakespeare)。數據集、模型和工作負載的詳細信息見附錄D.1。
設置:對於每個實驗,我們在FedAvg上調整學習率和每輪活躍設備的比率。對於每個比較,我們在所有運行中固定選擇的設備和小批量順序。我們根據全局目標f(w)記錄所有指標。我們在Tensorflow[1]中實現了算法1和2;詳細信息見附錄D.2。注意,當局部epochs的數目E相同時,FedAvg(μ=0)和FedProx(μ≥0)在每輪執行相同的工作量——因此,我們記錄的結果是以輪次的形式,而不是FLOPs(每秒浮點運算次數)或掛鍾時間。
5.2 Effect of Statistical Heterogeneity
在圖1中,我們使用四個人工數據集來研究統計異質性如何影響收斂(固定E為20)。從左到右,隨着數據越異質,μ=0的FedProx(即FedAvg)的收斂性越差。雖然它可能會減慢IID數據的收斂速度,但我們看到設置μ>0在異質設置中特別有用。這表明,FedProx中引入的修改后的子問題在不同的統計異質性下都有利於實際的聯邦設置。對於在實踐中很少出現的完美的IID數據,一些啟發式方法,例如如果損失繼續減少,則減少μ可能有助於避免收斂減速(見附錄D.4中的圖7)。在接下來的章節中,我們在非人工實驗中看到了類似的結果。
5.3 Properties of FedProx Framework
FedProx影響性能的關鍵參數是局部epochs的數目E和由µ控制縮放的近端項。直觀地說,大E可能導致局部模型偏離初始點太遠,從而導致潛在的發散。或者,大μ可以通過約束迭代更接近全局模型的迭代來限制迭代的軌跡,因此可能減慢收斂速度。我們使用附錄D.1表1中描述的聯邦數據集,在不同E和μ值下研究FedProx。
對E的依賴:我們在圖2中探索E的影響。對於每個數據集,我們將E設置為1、20和50,同時保持µ=0(在這種情況下,FedProx降為FedAvg),並根據訓練損失來顯示收斂性。我們看到大E導致MNIST和Shakespeare的發散或不穩定。然而,在FEMNIST和Sent140上,較大的E加速了收斂。根據從圖1得出的結論,我們假設這是由於FEMNIST和Sent140數據集的分布缺乏顯著的異質性。我們通過觀察FEMNIST*的不穩定性來驗證這一假設,FEMNIST*是FEMNIST數據集的一個變體。接下來,我們將展示使用FEMNIST*代替FEMNIST的影響。
我們注意到,一個潛在的方法來處理大的局部epochs數目下FedAvg的發散或不穩定,就是保持小E。然而,這排除了精確求解局部子問題的可能性。當通信費用昂貴(這在聯邦網絡中很常見)時,大的局部epochs數目E在實踐中也可能特別有用。事實上,在這種情況下,增加μ可以提高穩定性。在圖3中,我們表明,與E=1,μ=0(慢收斂)和E=50,μ=0(不穩定收斂)相比,具有大E(E=50)和適當μ(μ=0.2)的FedProx可得更快和更穩定的收斂。
對μ的依賴:我們在圖4中考慮了µ對收斂性的影響。對於每一個實驗,我們都比較了µ=0和最佳μ值之間的結果。對於所有的數據集,我們觀察到適當的μ可以增加不穩定方法的穩定性,並且可以迫使發散的方法收斂。在大多數情況下,它也提高了精確度(見附錄D.3中的圖8和圖10)。在實際應用中,可以根據模型的當前性能對μ進行自適應選擇。例如,一個簡單的啟發式方法是當看到損失增加時增加μ,當看到損失減少時減少μ。我們在附錄D.4中提供了額外的實驗來證明這種方法的有效性。未來的工作包括基於本文提供的理論基礎,為異質數據集開發自動調整此參數的方法。
5.4 Dissimilarity Measurement and Divergence
在這項工作中,我們提出了一個分布式優化框架FedProx,以解決在聯邦網絡中固有的統計異質性。我們通過一個設備相異性假設形式化定義了統計異質性,這使得我們能夠描述FedProx的收斂性。我們對一組聯邦數據集的實際評估驗證了我們的理論分析,並證明FedProx框架可以改善實際異質聯邦網絡中的收斂表現。