前端做網(wǎng)站是什么流程代運(yùn)營公司
文章目錄
- Introduction
- Methodology
- Convergence analysis
- Experiments
Introduction
聯(lián)邦學(xué)習(xí)有三個(gè)關(guān)鍵屬性:
- 不頻繁的任務(wù)激活。對于弱邊緣設(shè)備,學(xué)習(xí)任務(wù)只在設(shè)備空閑、充電、連接非計(jì)量網(wǎng)絡(luò)時(shí)執(zhí)行.
- 溝通不頻繁。邊緣設(shè)備和遠(yuǎn)程服務(wù)器之間的連接可能經(jīng)常不可用、緩慢或昂貴(就通信成本或電池電量使用而言)。
- 非iid訓(xùn)練數(shù)據(jù)。對于聯(lián)邦學(xué)習(xí),不同設(shè)備上的數(shù)據(jù)是不相交的,因此可能代表來自總體的非相同分布的樣本。
存在的問題:
- 聯(lián)邦學(xué)習(xí)通常是使用同步方法實(shí)現(xiàn)的,由于離散者的存在,同步方法可能會(huì)很慢。當(dāng)處理大量邊緣設(shè)備時(shí),可能會(huì)有大量的掉隊(duì)者。由于不同設(shè)備的可用性和完成時(shí)間不同,由于計(jì)算能力和電池時(shí)間的限制,全局同步是困難的,特別是在聯(lián)邦學(xué)習(xí)場景中。
解決方案:
- 異步訓(xùn)練[9,14,15]被廣泛應(yīng)用于傳統(tǒng)的分布式隨機(jī)梯度下降(SGD)算法中,以解決離散者和異構(gòu)延遲問題[9,14,15]。在本文中,我們利用異步訓(xùn)練的優(yōu)勢,并將其與聯(lián)邦優(yōu)化相結(jié)合。提出了一種新的異步聯(lián)邦優(yōu)化算法。關(guān)鍵思想是:
- 解決正則化的局部問題以保證收斂性;
- 然后使用加權(quán)平均來更新全局模型,其中混合權(quán)值作為過時(shí)性的函數(shù)自適應(yīng)設(shè)置。
本文貢獻(xiàn):
- 提出了一種新的異步聯(lián)邦優(yōu)化算法和原型系統(tǒng)設(shè)計(jì)。
- 我們證明了該方法對于一類受限的非凸問題的收斂性。
- 我們提出了控制由異步引起的錯(cuò)誤的策略。為此,我們引入了一個(gè)混合超參數(shù),該參數(shù)可以自適應(yīng)地控制收斂速度和方差減少之間的權(quán)衡。
- 我們的經(jīng)驗(yàn)表明,所提出的算法收斂速度快,并且在實(shí)際設(shè)置中通常優(yōu)于同步聯(lián)邦優(yōu)化。
Methodology
服務(wù)器和工作器異步地進(jìn)行更新,也就是說,服務(wù)器在接收到本地模型時(shí)立即更新全局模型。服務(wù)器和工作線程之間的通信是非阻塞的。因此,服務(wù)器和工作人員可以隨時(shí)更新模型而不需要同步,這對于設(shè)備具有異構(gòu)條件時(shí)是有利的。
- 在服務(wù)器端,調(diào)度器和更新程序異步并行運(yùn)行。調(diào)度程序周期性地觸發(fā)訓(xùn)練任務(wù),并控制訓(xùn)練任務(wù)的延遲(更新t-T)
- 更新器從worker接收模型并更新全局模型。我們的架構(gòu)允許在全局模型上使用讀寫鎖的多個(gè)更新線程,這提高了吞吐量。
- 更新全局模型時(shí),更大的過時(shí)性會(huì)導(dǎo)致更大的錯(cuò)誤。
- 對于陳舊度較大(t?τ)的局部模型,我們可以減小α來減輕陳舊度帶來的誤差。
- 如算法1所示,我們可以選擇使用函數(shù)s(t?τ)來確定α的值。一般來說,當(dāng)t = τ時(shí),s(t?τ)應(yīng)為1,當(dāng)(t?τ)增大時(shí),s(t?τ)單調(diào)減小。
Convergence analysis
收斂性證明,有心情的時(shí)候再看
Experiments
數(shù)據(jù)集:CIFAR-10和WikiText-2。訓(xùn)練集被劃分為n=100個(gè)設(shè)備。小批量大小分別為50和20。
基線算法是引入的FedAvg,它實(shí)現(xiàn)了同步聯(lián)邦優(yōu)化。對于fedag,在每個(gè)epoch中,隨機(jī)選擇k = 10個(gè)設(shè)備啟動(dòng)本地更新。我們還將單線程SGD作為基準(zhǔn)。對于FedAsync,我們通過從均勻分布中隨機(jī)采樣陳舊度(t?τ)來模擬異步。
我們用不同的學(xué)習(xí)率γ、正則化權(quán)值ρ、混合超參數(shù)α和過時(shí)性來測試FedAsync