聯(lián)邦遷移學(xué)習(xí)最新進(jìn)展:計算和傳輸如何“限制”模型性能?
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請至雷鋒網(wǎng)官網(wǎng)申請授權(quán)。
人工智能系統(tǒng)需要依賴大量數(shù)據(jù),然而數(shù)據(jù)的流轉(zhuǎn)過程以及人工智能模型本身都有可能泄漏敏感隱私數(shù)據(jù)。
例如,在數(shù)據(jù)流轉(zhuǎn)的任意階段,惡意攻擊者可以對匿名數(shù)據(jù)集發(fā)起攻擊,從而竊取數(shù)據(jù);
例如,在數(shù)據(jù)發(fā)布階段,惡意攻擊者可以使用身份重識別對匿名數(shù)據(jù)集發(fā)起攻擊,從而竊取隱私信息......
學(xué)界針對上述隱私泄露問題提出了多種針對性的保護方法,基于差分隱私和同態(tài)加密的聯(lián)邦學(xué)習(xí)是一種常見的隱私保護方法。
聯(lián)邦學(xué)習(xí)在 2015 年提出,其能在不暴露用戶數(shù)據(jù)的條件下進(jìn)行多方機器學(xué)習(xí)模型的訓(xùn)練,以期保護隱私信息。
但由谷歌所提出的聯(lián)邦學(xué)習(xí),不僅必須保證數(shù)據(jù)集特征空間一致,且引入噪聲對模型精確度造成影響,此外,還存在部分敏感信息傳遞等問題,這些不足限制了聯(lián)邦學(xué)習(xí)在實際生產(chǎn)中的應(yīng)用前景。
2018年,聯(lián)邦遷移學(xué)習(xí)理論被提出。該理論中,訓(xùn)練所使用的多個數(shù)據(jù)集,無需保證特征空間的一致。另外,該理論使用同態(tài)加密替代差分隱私對隱私數(shù)據(jù)進(jìn)行保護。這些改進(jìn)為聯(lián)邦學(xué)習(xí)在金融、醫(yī)療等場景中的應(yīng)用帶來了極大的便利。但是聯(lián)邦遷移學(xué)習(xí)在實際使用中暴露出了嚴(yán)重的性能缺陷。
針對這個問題,來自于香港科技大學(xué)、星云Clustar以及鵬城實驗室的研究人員聯(lián)合發(fā)表了《量化評估聯(lián)邦遷移學(xué)習(xí)(Quantifying the Performance of Federated Transfer Learning)》。該論文通過對聯(lián)邦遷移學(xué)習(xí)框架進(jìn)行研究,提出了聯(lián)邦學(xué)習(xí)在實際應(yīng)用中所面臨的性能方面的挑戰(zhàn),并給出了相應(yīng)優(yōu)化方案。
論文作者:敬清賀,王偉儼,張駿雪,田晗,陳凱
編譯: 程孝典(星云Clustar軟件工程師)
論文:https://arxiv.org/abs/1912.12795
性能方面的挑戰(zhàn)主要包括:
1、聯(lián)邦遷移學(xué)習(xí)的性能瓶頸主要來自于計算和傳輸;
2、跨進(jìn)程通信和內(nèi)存拷貝是當(dāng)前聯(lián)邦遷移學(xué)習(xí)實現(xiàn)的主要性能瓶頸;
3、不同的參與方往往位于相距較遠(yuǎn)的兩個站點中,只能通過高延遲的廣域網(wǎng)傳輸數(shù)據(jù),因此耗時也遠(yuǎn)高于分布式機器學(xué)習(xí)。
一、聯(lián)邦遷移學(xué)習(xí)簡介
聯(lián)邦學(xué)習(xí)理論基于查分隱私對數(shù)據(jù)進(jìn)行保護,若干數(shù)據(jù)持有者可以在原始數(shù)據(jù)不離開本地的前提下實現(xiàn)聯(lián)合模型訓(xùn)練。但是最初的聯(lián)邦學(xué)習(xí)體系中,參與者之間必須保證數(shù)據(jù)的特征空間完全相同。舉例說明,如果A公司持有的數(shù)據(jù)包含用戶性別、年齡、年收入等信息,則B公司的數(shù)據(jù)也必須包含這些信息,才能和A公司進(jìn)行聯(lián)邦學(xué)習(xí)。除此之外,該體系還存在噪聲對模型精確度造成影響、仍存在部分敏感信息傳遞等問題,這就限制了聯(lián)邦學(xué)習(xí)在實際生產(chǎn)中的應(yīng)用前景。
為了擺脫這一系列限制,聯(lián)邦遷移學(xué)習(xí)(Federated Transfer Learning)于2018年被提出。在該理論中,訓(xùn)練所使用的多個數(shù)據(jù)集,無需保證特征空間的一致。另外,該理論使用同態(tài)加密替代差分隱私對隱私數(shù)據(jù)進(jìn)行保護。這些改進(jìn)為聯(lián)邦學(xué)習(xí)對金融、醫(yī)療等場景中的應(yīng)用帶來了極大的便利。但是聯(lián)邦遷移學(xué)習(xí)在實際使用中遭遇了嚴(yán)重的性能不足問題。
聯(lián)邦遷移學(xué)習(xí)的典型工作流程如圖一所示,其中需要三個不同的參與者:Guest、Host和Arbiter。其中Guest和Host是數(shù)據(jù)持有者,同時也負(fù)責(zé)主要的數(shù)值計算和加密工作;Arbiter在計算開始前生成密鑰,并發(fā)送至Host和Guest,此外,Arbiter負(fù)責(zé)訓(xùn)練過程中的梯度聚合以及收斂檢查。如果Host和Guest所持有的數(shù)據(jù)中樣本不同而特征相同,這種聯(lián)邦遷移學(xué)習(xí)被稱為同構(gòu)的或橫向的(homogeneous);如果雙方數(shù)據(jù)集樣本相同而特征不同,則稱聯(lián)邦遷移學(xué)習(xí)為異構(gòu)的或縱向的(heterogeneous)。
在訓(xùn)練過程中,Host和Guest首先使用本地數(shù)據(jù)進(jìn)行初步計算,并對計算結(jié)果進(jìn)行加密,這些中間結(jié)果可以被用于梯度和損失的計算。接下來,雙方將加密結(jié)果發(fā)送至Arbiter進(jìn)行聚合,Arbiter對密文進(jìn)行解密后,返回給Host和Guest,雙方使用接收的數(shù)值更新本地模型。聯(lián)邦遷移學(xué)習(xí)需要重復(fù)此訓(xùn)練過程,直至模型收斂。
圖一:聯(lián)邦遷移學(xué)習(xí)工作流程
二、聯(lián)邦遷移學(xué)習(xí)性能分析
從聯(lián)邦遷移學(xué)習(xí)的工作流程中,可以發(fā)現(xiàn)它和分布式機器學(xué)習(xí)在一些方面上十分相似,二者均包含多個持有不同數(shù)據(jù)的工作節(jié)點,且均根據(jù)聚合的結(jié)果更新模型。但是,兩種體系之間存在相當(dāng)明顯的區(qū)別:在分布式機器學(xué)習(xí)中,參數(shù)服務(wù)器(parameter server)是中心調(diào)度節(jié)點,負(fù)責(zé)將數(shù)據(jù)和計算分配到不同的工作節(jié)點中從而優(yōu)化訓(xùn)練性能;在聯(lián)邦遷移學(xué)習(xí)中,不同的數(shù)據(jù)持有者對本方工作節(jié)點和數(shù)據(jù)都有著完全獨立的管理,除此之外,聯(lián)邦遷移學(xué)習(xí)中所使用的同態(tài)加密,將極大地增加計算和數(shù)據(jù)傳輸時間。
因此,和分布式機器學(xué)習(xí)相比,聯(lián)邦遷移學(xué)習(xí)是一種復(fù)雜度更高的系統(tǒng),也可以認(rèn)為分布式機器學(xué)習(xí)性能是衡量聯(lián)邦遷移學(xué)習(xí)性能的合適指標(biāo)。近年來,有關(guān)分布式機器學(xué)習(xí)的方案設(shè)計以及性能優(yōu)化的研究十分火熱,而聯(lián)邦遷移學(xué)習(xí)則鮮有人踏足。量化分布式機器學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)的性能差距,對聯(lián)邦遷移學(xué)習(xí)的性能優(yōu)化,具有啟發(fā)性的借鑒和參考價值。
圖二為分布式機器學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)在使用相同數(shù)據(jù)集訓(xùn)練相同模型的性能對比圖。圖(a)代表模型訓(xùn)練端到端性能對比,根據(jù)測試結(jié)果,兩種系統(tǒng)的運行時間差距在18倍以上。根據(jù)分布式機器學(xué)習(xí)中的經(jīng)驗,計算和數(shù)據(jù)傳輸往往是系統(tǒng)運行中時間占比最高的兩個部分,因此圖(b)和圖(c)又分別展示了兩種系統(tǒng)在計算和數(shù)據(jù)傳輸中的耗時對比,結(jié)果顯示,聯(lián)邦遷移學(xué)習(xí)的這兩段耗時,均在分布式機器學(xué)習(xí)的20倍左右,這也證實了聯(lián)邦遷移學(xué)習(xí)的性能瓶頸主要來自于計算和傳輸。因此,接下來,我們將分別從這兩個方面對聯(lián)邦遷移學(xué)習(xí)的時間開銷進(jìn)行分析。
圖二:分布式機器學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)(包括橫向和縱向)的性能對比
三、計算開銷分析
1、性能分析
為了進(jìn)行深入的分析,我們將計算時間劃分為兩個部分:模型訓(xùn)練(數(shù)值計算)和額外操作(包括跨進(jìn)程通信和內(nèi)存拷貝等),如圖三所示。我們從測試中發(fā)現(xiàn),訓(xùn)練任務(wù)的端到端時間開銷中,僅有18%左右的時間用于數(shù)值計算,而絕大部分的時間都花費在了內(nèi)存拷貝等額外工作中。
具體說明額外操作,聯(lián)邦遷移學(xué)習(xí)的底層實現(xiàn)中需要使用不同編語言以實現(xiàn)不同的功能,而跨語言環(huán)境的數(shù)據(jù)交換和內(nèi)存拷貝耗時較長,如Python和Java虛擬機(JVM)之間的數(shù)據(jù)傳遞。此外,聯(lián)邦遷移學(xué)習(xí)底層需要開啟多個進(jìn)程,分別管理任務(wù)創(chuàng)建、數(shù)據(jù)傳遞等工作,而跨進(jìn)程通信同樣開銷巨大。總的來說,跨進(jìn)程通信和內(nèi)存拷貝是當(dāng)前聯(lián)邦遷移學(xué)習(xí)實現(xiàn)的主要性能瓶頸。
圖三:模型訓(xùn)練時間和額外時間開銷對比
圖四:加密運算對模型訓(xùn)練時間的影響
而在模型訓(xùn)練時間中,一個較為明顯的時間開銷就是同態(tài)加密。聯(lián)邦遷移學(xué)習(xí)中所使用的部分同態(tài)加密將原本的浮點運算擴展為數(shù)千位大整數(shù)之間的運算,這顯然大幅降低了運算性能。因此,圖四對比了密態(tài)模型訓(xùn)練與純明文模型訓(xùn)練的運行時間。測試結(jié)果顯示同態(tài)加密運算為模型訓(xùn)練過程引入了超過兩倍的額外時間開銷。因此,加速同態(tài)加密運算是優(yōu)化聯(lián)邦遷移學(xué)習(xí)性能的可行方案。
2、優(yōu)化方案
從降低額外開銷的角度,可以借鑒Unix domain socket或者JTux等以實現(xiàn)更高效率的跨進(jìn)程通信。同時,使用JVM本地內(nèi)存,可以有效提升跨環(huán)境內(nèi)存拷貝速度。
從加速數(shù)值計算的角度,可以通過使用高性能計算硬件實現(xiàn)高吞吐率的同態(tài)加密運算?,F(xiàn)如今以GPU和FPGA為代表的計算硬件設(shè)備,由于其充足的計算、存儲和通信資源,可以高并發(fā)地處理大部分?jǐn)?shù)值計算。通過大幅降低同態(tài)加密開銷,可以有效提升模型訓(xùn)練整體性能。
四、數(shù)據(jù)傳輸開銷分析
1、性能分析
除了計算開銷的明顯上漲,聯(lián)邦遷移學(xué)習(xí)中增長接近20倍的數(shù)據(jù)傳輸開銷也值得注意。造成該現(xiàn)象的原因主要有三個:首先,在計算開銷中,同態(tài)加密運算大大提升了數(shù)據(jù)位寬,這不僅增加了計算時間,也大幅增加了需要傳輸?shù)目倲?shù)據(jù)量,從而對數(shù)據(jù)傳輸時間造成了影響;其次,與傳統(tǒng)的機器學(xué)習(xí)算法相比,聯(lián)邦遷移學(xué)習(xí)中為了保護數(shù)據(jù)隱私,增加了不同參與方之間的數(shù)據(jù)交換,頻繁的數(shù)據(jù)傳輸必然帶來總傳輸時間的上升;最后,分布式機器學(xué)習(xí)往往部署在密集的數(shù)據(jù)中心網(wǎng)絡(luò)中,數(shù)據(jù)傳輸延時非常低,因此跨節(jié)點通信帶來的開銷也相對較低,而反觀聯(lián)邦遷移學(xué)習(xí),在實際應(yīng)用中,不同的參與方往往位于相距較遠(yuǎn)的兩個站點中,只能通過高延遲的廣域網(wǎng)傳輸數(shù)據(jù),因此耗時也遠(yuǎn)高于分布式機器學(xué)習(xí),如圖四所示,當(dāng)我們將聯(lián)邦遷移學(xué)習(xí)的不同參與方部署在世界各地的數(shù)據(jù)中心網(wǎng)絡(luò)中時,數(shù)據(jù)帶寬較低,數(shù)據(jù)傳輸延遲將占到整體運行時間的30%以上,造成十分嚴(yán)重的影響。
圖四:當(dāng)參與方部署在不同地理位置時,數(shù)據(jù)傳輸時間以及在端到端運行時間中的占比
2、優(yōu)化方案
在跨站點多方數(shù)據(jù)交換中,網(wǎng)絡(luò)質(zhì)量扮演著重要的角色,而密集的通信很容易造成網(wǎng)絡(luò)擁塞,因此,探索網(wǎng)絡(luò)擁塞控制技術(shù)以提升數(shù)據(jù)傳輸性能是一種可行的解決方案。以PCC算法為代表的擁塞控制算法,可以通過細(xì)粒度的擁塞控制規(guī)則優(yōu)化長距離數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)性能,進(jìn)而提升聯(lián)邦遷移學(xué)習(xí)的整體性能。
五、總結(jié)
作為機器學(xué)習(xí)在隱私計算中的拓展延伸,聯(lián)邦遷移學(xué)習(xí)對打破數(shù)據(jù)孤島,實現(xiàn)數(shù)據(jù)的更高價值有極其重要的作用。但是和所有的安全計算系統(tǒng)類似,性能和安全之間的平衡難以把控?,F(xiàn)有的聯(lián)邦遷移學(xué)習(xí)系統(tǒng)框架還遠(yuǎn)無法滿足實際生產(chǎn)中的性能需求。通過深入的性能分析,計算、內(nèi)存拷貝以及數(shù)據(jù)傳輸?shù)拳h(huán)節(jié)中的開銷問題,都是聯(lián)邦遷移學(xué)習(xí)的端到端性能惡化的重要原因。為了實現(xiàn)聯(lián)邦遷移學(xué)習(xí)在更多場景中的落地,結(jié)合多樣的解決方案對各個環(huán)節(jié)進(jìn)行針對性優(yōu)化不可或缺。






















 
 
 









 
 
 
 