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