聯(lián)邦學(xué)習(xí): 統(tǒng)一數(shù)據(jù)協(xié)作和隱私保護(hù)的技術(shù)解決之道
聯(lián)邦學(xué)習(xí)的經(jīng)典落地案例,google輸入法的智能推薦應(yīng)用
傳統(tǒng)Gboard的推薦系統(tǒng):敲擊鍵盤的數(shù)據(jù)會被上傳到谷歌的服務(wù)器,通過直接收集大量數(shù)據(jù)來訓(xùn)練智能推薦模型。
基于聯(lián)邦學(xué)習(xí)的方案:用戶敲擊鍵盤的數(shù)據(jù)保留在本地。用戶的手機(jī)中有一個不斷更新的模型會根據(jù)這些數(shù)據(jù)進(jìn)行學(xué)習(xí)和更新,并將更新的權(quán)重加密上傳到服務(wù)器。服務(wù)器收到大量用戶的模型后,根據(jù)這些模型進(jìn)行綜合訓(xùn)練。
聯(lián)邦學(xué)習(xí)方案的突出優(yōu)點是能隱私保護(hù),即無需傳輸原始數(shù)據(jù),原始數(shù)據(jù)始終保持在設(shè)備本地。
傳統(tǒng)的模型跟新需要收集大量數(shù)據(jù),定時跟新發(fā)布模型;新的模式可以是的設(shè)備實時下載模型,并迭代,使得用戶行為最快的反應(yīng)在新的模型中,達(dá)到實時更新模型。
一般的聯(lián)邦學(xué)習(xí)方案可以分為三個步驟:
1. Selection:滿足條件的設(shè)備會向服務(wù)器提出請求,參加到訓(xùn)練中來,服務(wù)器接收到請求之后,根據(jù)參與設(shè)備數(shù)、超時時間這些因素,選擇一部分設(shè)備參與到本輪訓(xùn)練中來;
2. Configuration:服務(wù)器的配置主要是服務(wù)器選定模型整合的方式,同時服務(wù)器會將具體的FL task和當(dāng)前的FL checkpoint發(fā)給各個設(shè)備;
3. Reporting:服務(wù)器會等待各個設(shè)備將訓(xùn)練的結(jié)果返回,并采用聚合算法進(jìn)行聚合,然后通知設(shè)備下次請求的時間,判斷更新的成功和失敗。在整個過程中,存在著一個步速控制模塊,管理設(shè)備的連接情況。保證每輪訓(xùn)練有合適的設(shè)備參與。
綜上所訴,聯(lián)邦學(xué)習(xí)的保護(hù)了以下幾個重要優(yōu)點:隱私保護(hù)性:用戶個人數(shù)據(jù)無需上傳到云端,用戶的數(shù)據(jù)無需提供給服務(wù)提供商,從而提高用戶數(shù)據(jù)的隱私性;降低了延時:盡管5G時代即將到來,但并不是在任何情況下任何地點的網(wǎng)速都能得到保障。如果將用戶所有的數(shù)據(jù)都上傳到云端,且服務(wù)本身也是從云端進(jìn)行的反饋,那么在網(wǎng)速較慢的環(huán)境下,網(wǎng)絡(luò)延時將會極大降低用戶體驗。而聯(lián)邦學(xué)習(xí)加持下的服務(wù)則不會出現(xiàn)這種情況,因為服務(wù)本身就來自于本地。
聯(lián)邦學(xué)習(xí)帶來的挑戰(zhàn)
聯(lián)邦學(xué)雖然有諸多優(yōu)點,但在實際落地的過程中還是會遇到各種挑戰(zhàn)。
系統(tǒng)異質(zhì)性:由于客戶端設(shè)備硬件條件(CPU、內(nèi)存)、網(wǎng)絡(luò)連接的不同,聯(lián)邦學(xué)習(xí)網(wǎng)絡(luò)中每個設(shè)備的存儲、計算和通信能力都有可能不同。此外,不同設(shè)備還會出現(xiàn)斷網(wǎng),死機(jī)等情況。這種特征影響了聯(lián)邦學(xué)習(xí)整體的穩(wěn)定性。
數(shù)據(jù)異質(zhì)性:設(shè)備和用戶的不同,導(dǎo)致產(chǎn)生的數(shù)據(jù)類型也有差異?缭O(shè)備的特征等可能有很大的變化,導(dǎo)致數(shù)據(jù)的非獨立同分布。目前,主流機(jī)器學(xué)習(xí)算法主要是基于 IID 數(shù)據(jù)的假設(shè)前提推導(dǎo)建立的。因此,異質(zhì)性會給模型的收斂,精度帶來了很大挑戰(zhàn)。
通信代價:在聯(lián)邦學(xué)習(xí)過程中,原始數(shù)據(jù)保存在遠(yuǎn)程客戶端設(shè)備本地,必須與中央服務(wù)器不斷交互才能完成全局模型的構(gòu)建。
聯(lián)邦學(xué)習(xí)的拓展
早期的聯(lián)邦學(xué)習(xí)主要應(yīng)用在移動設(shè)備的模型更新,在這個過程中,不同設(shè)備具有類似的數(shù)據(jù)和特征空間,需要聚合不同的樣本,達(dá)到在不分享原始數(shù)據(jù)的前提下,建立高效的模型。有些前輩基于數(shù)據(jù)庫結(jié)構(gòu),叫他橫向聯(lián)邦,但是比較難以區(qū)分,我們這里暫時稱為樣本聯(lián)邦。
相對于樣本聯(lián)邦,它的另一面是特征聯(lián)邦,就是相同的樣本,但是不同的特征在不同機(jī)構(gòu)手里。這個也是非常常見的案例,例如我們開頭提到的社交網(wǎng)絡(luò)公司和電商公司對用戶數(shù)據(jù)收集的案例。
從樣本聯(lián)邦到特征聯(lián)邦
隨著聯(lián)邦學(xué)習(xí)的發(fā)展,聯(lián)邦學(xué)習(xí)的范疇從樣本聯(lián)邦到特征聯(lián)邦拓展。典型的案例,包括線性回歸,樹狀模型等等。
安全性補(bǔ)充
聯(lián)邦學(xué)習(xí)的顯著優(yōu)點是不分享原始數(shù)據(jù)的前提下建立聯(lián)合模型,但是它是真正的安全嗎?不存在任何風(fēng)險點了么?我下面?zhèn)儚穆?lián)邦學(xué)習(xí)的參與者角色和過程,探討聯(lián)邦學(xué)習(xí)的安全性。
安全性挑戰(zhàn)之一:中央服務(wù)器的存在。在訓(xùn)練過程中傳遞模型的更新信息仍然不斷向第三方或中央服務(wù)器報告,第三方可以不斷收集所有參與者不同輪的數(shù)據(jù),有機(jī)會進(jìn)行分析推導(dǎo),也是系統(tǒng)中的single point failure。
去除第三方中心,例如,使用多方安全計算實現(xiàn)梯度更新的聚合,將會使得系統(tǒng)的安全性得到提高。
安全性挑戰(zhàn)之二:數(shù)據(jù)傳輸?shù)膯栴}。在訓(xùn)練過程中傳遞模型的更新信息仍然不斷向第三方或中央服務(wù)器報告,雖然梯度不是原始信息,但是依然存在暴露敏感信息的風(fēng)險。依然有機(jī)會可以從梯度、模型參數(shù)更新中反推出用戶數(shù)據(jù),所以需要進(jìn)一步保護(hù),可加入差分隱私,加密保護(hù)等技術(shù)手段實現(xiàn)。
安全性挑戰(zhàn)之三:單方數(shù)據(jù)污染。由于每個worker都是獨立的,傳統(tǒng)的聯(lián)邦學(xué)習(xí)中,server并沒有高效的鑒別worker數(shù)據(jù)正常性的能力,導(dǎo)致worker的異常輸入并不一定能夠及時發(fā)現(xiàn)和處理。從而導(dǎo)致單方數(shù)據(jù)污染,嚴(yán)重影響模型訓(xùn)練過程,和最終的模型效果。甚至有目的的改變模型訓(xùn)練效果,數(shù)據(jù)源的質(zhì)量監(jiān)控,防止訓(xùn)練數(shù)據(jù)的惡意污染異常重要。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
圖片新聞