侵權(quán)投訴
訂閱
糾錯(cuò)
加入自媒體

聯(lián)邦學(xué)習(xí)應(yīng)用思考:需求還是方法?

2021-12-01 17:20
來源: 粵訊

徐葳 清華大學(xué)交叉信息研究院長(zhǎng)聘副教授、華控清交首席科學(xué)家

前言:

目前,“聯(lián)邦學(xué)習(xí)”這個(gè)術(shù)語在市場(chǎng)上存在很多認(rèn)識(shí)上的誤解和混淆,主要原因是其既在廣義上表達(dá)了保護(hù)數(shù)據(jù)前提下聯(lián)合多方數(shù)據(jù)訓(xùn)練模型的需求,又在狹義上表示了一類通過暴露部分?jǐn)?shù)據(jù)信息來提升訓(xùn)練性能的方法。有趣的是,作為廣義上的需求,它強(qiáng)調(diào)為了保護(hù)數(shù)據(jù)安全,可以犧牲部分準(zhǔn)確性;但作為狹義的方法,它反而強(qiáng)調(diào)通過犧牲安全來換取性能提升。

一、初心:聯(lián)邦學(xué)習(xí)要達(dá)到的目標(biāo)是什么?

1.聯(lián)邦學(xué)習(xí)的廣義定義:解決聯(lián)合建模的問題或需求

人們?cè)谶M(jìn)行機(jī)器學(xué)習(xí)任務(wù)時(shí)發(fā)現(xiàn)必須面臨的一個(gè)關(guān)鍵問題是:需要更多的數(shù)據(jù)從而才能得到一個(gè)好的模型。而更多的數(shù)據(jù)意味著:(1)更多樣本點(diǎn),以便減少模型偏差(bias),提升模型質(zhì)量;(2)一個(gè)標(biāo)簽(例如一個(gè)用戶是否還錢);(3)更多維度,以便更全面刻畫一個(gè)對(duì)象。但是這些額外數(shù)據(jù)經(jīng)常由不同人持有,并且可能很敏感,沒人愿意拿出來共享、生怕暴露這些數(shù)據(jù)(例如用戶身份和某些行為特征),但是大家還都希望從訓(xùn)練出來的更好的模型中獲益。

上述這一類問題,就是“聯(lián)邦學(xué)習(xí)”的需求。從廣義上講,能夠解決這一需求的機(jī)器學(xué)習(xí)方法,即多個(gè)數(shù)據(jù)方聯(lián)合訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型的技術(shù),都叫做“聯(lián)邦學(xué)習(xí)”。因此,廣義上的聯(lián)邦學(xué)習(xí)是一個(gè)問題,或者說是需求,而不是一種技術(shù)或解決方案。

事實(shí)上,這一需求在多年前就已有解決方案。在密碼理論領(lǐng)域,采用多方數(shù)據(jù)訓(xùn)練模型是多方安全計(jì)算技術(shù)的一個(gè)具體應(yīng)用,理論上講我們可以用一個(gè)“多方計(jì)算”(也叫多方安全計(jì)算,Multi-party Computation, MPC)的方案來描述整個(gè)訓(xùn)練過程;在數(shù)據(jù)挖掘領(lǐng)域,人們很早就提出了如k-匿名、差分隱私等方法;硬件領(lǐng)域,人們?cè)噲D做出更可信的硬件芯片來保證數(shù)據(jù)不泄露;近期人們也嘗試采取遷移學(xué)習(xí)等手段,試圖隱藏和個(gè)人相關(guān)的敏感信息。

2.聯(lián)邦學(xué)習(xí)的狹義定義:一類特定算法

然而現(xiàn)在市場(chǎng)上,聯(lián)邦學(xué)習(xí)這個(gè)術(shù)語被局限于一個(gè)更狹義的定義,F(xiàn)在人們普遍認(rèn)為,聯(lián)邦學(xué)習(xí)是和多方安全計(jì)算、可信執(zhí)行環(huán)境、差分隱私等并列的一種隱私保護(hù)計(jì)算技術(shù),這實(shí)際上采用的是一種狹義的定義。這種定義下的聯(lián)邦學(xué)習(xí)特指一類算法,其本質(zhì)特征是在多個(gè)數(shù)據(jù)控制方運(yùn)行,能夠讓各數(shù)據(jù)方之間只交換了某些模型訓(xùn)練的中間數(shù)據(jù)。如果我們假設(shè)這些被交換的數(shù)據(jù)不包含敏感信息,那么這個(gè)模型的訓(xùn)練過程就能達(dá)到我們想要的數(shù)據(jù)隱私保護(hù)目標(biāo)。然而這個(gè)假設(shè)是否真實(shí)成立,目前尚無理論上的證明。

狹義的聯(lián)邦學(xué)習(xí),作為一種獨(dú)特的方法提出,其主要?jiǎng)訖C(jī)是試圖在此前的幾種方法中取得一種平衡,即解決如下問題:(1)多方計(jì)算等密碼學(xué)方法計(jì)算和通訊開銷高;(2)k-匿名暴露信息太多;(3)在原始數(shù)據(jù)上加入差分隱私需要的噪聲,對(duì)于多次迭代的機(jī)器學(xué)習(xí)結(jié)果的準(zhǔn)確度影響太大;(4)硬件可信程度未知。也就是說,狹義聯(lián)邦學(xué)習(xí)的主要目標(biāo)是試圖通過有選擇地暴露一些信息,從而實(shí)現(xiàn)訓(xùn)練精度、訓(xùn)練速度和數(shù)據(jù)隱私安全的平衡。本文下述“聯(lián)邦學(xué)習(xí)”均是基于這一狹義意義上的方法。

二、設(shè)計(jì):聯(lián)邦學(xué)習(xí)理論上的挑戰(zhàn)

聯(lián)邦學(xué)習(xí)相比之前的隱私保護(hù)計(jì)算技術(shù),其本質(zhì)特征是暴露某些中間數(shù)據(jù),并假設(shè)了這些數(shù)據(jù)不泄露敏感信息。然而越來越多的研究發(fā)現(xiàn),這一假設(shè)未必成立。

1.聯(lián)邦學(xué)習(xí)真的能做到“數(shù)據(jù)不動(dòng)”么?

聯(lián)邦學(xué)習(xí)過程中雖然沒有發(fā)送任何原始數(shù)據(jù),但它暴露的數(shù)據(jù)主要有兩類:一是模型迭代訓(xùn)練中每輪的中間結(jié)果,二是在縱向聯(lián)邦學(xué)習(xí)中暴露的雙方數(shù)據(jù)交集中的元素。這一節(jié)我們著重探討第一類數(shù)據(jù)暴露,第二類留到第三節(jié)中討論。

一個(gè)常見的認(rèn)知誤區(qū)是,不發(fā)送原始數(shù)據(jù),做到“數(shù)據(jù)不動(dòng)”就是安全的。這里實(shí)際有個(gè)非常強(qiáng)的安全假設(shè),即聯(lián)邦學(xué)習(xí)每次迭代中暴露的中間結(jié)果,不會(huì)泄露有價(jià)值的信息。很多工作都證明了這個(gè)安全假設(shè)是不容易達(dá)到的。

聯(lián)邦學(xué)習(xí)每次迭代均會(huì)暴露中間結(jié)果,這一中間結(jié)果可能是每方提供的梯度,或者是多方聚合的梯度,或者是一個(gè)本輪結(jié)束之后的模型中間結(jié)果。這里的核心問題在于,中間結(jié)果是一個(gè)高維的向量或矩陣,在很多模型里,這個(gè)中間結(jié)果都缺少可解釋性。一個(gè)參與方可以根據(jù)這些暴露的結(jié)果以及結(jié)果之間的差異性去推算一些不應(yīng)該暴露的信息[1][2][3][4]。中間結(jié)果具體會(huì)泄露什么信息很難確定,因此其安全性無法得到證明。有一些針對(duì)這一問題“打補(bǔ)丁”的方法,例如利用密碼學(xué)方法來計(jì)算梯度聚合,但無論如何加密,都不可避免地會(huì)向各方暴露一個(gè)本輪迭代訓(xùn)練的中間結(jié)果,否則就失去了這一方法的核心價(jià)值,即通過暴露這個(gè)結(jié)果,減少加密,從而平衡計(jì)算代價(jià)與安全。

也有一些方法利用差分隱私來給中間結(jié)果加一些噪聲,但是這對(duì)于最終訓(xùn)練結(jié)果的準(zhǔn)確性影響也是未知的。當(dāng)然,一個(gè)觀察是,參與方數(shù)量的增多會(huì)緩解噪音對(duì)準(zhǔn)確性的影響。Google最初提出聯(lián)邦學(xué)習(xí)應(yīng)用在2C場(chǎng)景中,含有大量客戶端,參與方數(shù)量龐大,每個(gè)參與方加上一些專門設(shè)計(jì)的噪聲(噪聲會(huì)互相抵消),從而同時(shí)保證了數(shù)據(jù)隱私安全及計(jì)算準(zhǔn)確性。但是這一方法對(duì)于只有少量參與方的情況是否有效,以及究竟可滿足多少參與方的模型訓(xùn)練的準(zhǔn)確性,往往與具體數(shù)據(jù)和模型相關(guān),通用的方法仍有待探索。

更為深層次的問題是,聯(lián)邦學(xué)習(xí)所專注的數(shù)據(jù)隱私保護(hù)一般定義在“原始數(shù)據(jù)不暴露”的層面上。然而實(shí)踐中需要保護(hù)的數(shù)據(jù)特定使用價(jià)值,很多情況下在于統(tǒng)計(jì)信息,例如某企業(yè)的平均薪資水平、訂單數(shù),某金融機(jī)構(gòu)的投資總額等。聯(lián)邦學(xué)習(xí)過程中交換的高維向量,顯然泄露了大量的統(tǒng)計(jì)信息,至于具體泄露了哪些統(tǒng)計(jì)信息,以及泄露這些信息的危害,一般與具體場(chǎng)景有關(guān),因此非常難以判斷,極易形成“虛假的安全感”。無數(shù)信息安全領(lǐng)域的實(shí)踐證明,虛假的安全比沒有安全造成的后果更加嚴(yán)重。

緩解該問題(當(dāng)然不是根本性的徹底解決)的一種思路是,定義一種通用的明、密文混合計(jì)算方式,并根據(jù)不同的場(chǎng)景需求(安全需求、性能需求等)靈活地選擇可以暴漏什么,以及必須隱藏什么。也就是說,即使對(duì)于同一種機(jī)器學(xué)習(xí)算法,由于應(yīng)用場(chǎng)景不同,也需要對(duì)算法的明文計(jì)算部分和密文計(jì)算部分進(jìn)行適配性的規(guī)劃和調(diào)整。

2.上述聯(lián)邦學(xué)習(xí)中各參與方真的能誠(chéng)實(shí)地參與計(jì)算么?

聯(lián)邦學(xué)習(xí)和很多隱私保護(hù)計(jì)算技術(shù)都基于一種“半誠(chéng)實(shí)”的假設(shè)。從直觀上看,半誠(chéng)實(shí)假設(shè)意味著參與方雖然有可能偷看或者泄露別人的數(shù)據(jù),但是他們會(huì)遵守協(xié)議,即不會(huì)對(duì)數(shù)據(jù)造假。理論上,半誠(chéng)實(shí)是一個(gè)安全假設(shè),但在實(shí)踐中,我們應(yīng)該有切實(shí)有效的機(jī)制來引導(dǎo)和制約使各參與方遵守協(xié)議。其中重要的一類方法是通過監(jiān)管,讓不誠(chéng)實(shí)的行為被發(fā)現(xiàn)和被舉證,因此大家就不敢作假;另一類方法是讓不誠(chéng)實(shí)的行為造成的不良后果盡量少(例如只是讓計(jì)算不能進(jìn)行下去了,或者大家都知道結(jié)果是錯(cuò)的等等)。

但遺憾的是,聯(lián)邦學(xué)習(xí)的分布式特點(diǎn)以及安全聚合機(jī)制往往讓數(shù)據(jù)造假變得更容易,更難被發(fā)現(xiàn)和舉證[5][6][7][8][9]。傳統(tǒng)數(shù)據(jù)挖掘算法無論是檢測(cè)數(shù)據(jù)造假還是容忍錯(cuò)誤數(shù)據(jù),均依賴于數(shù)據(jù)中內(nèi)生的冗余信息,以及人們的先驗(yàn)知識(shí)。由于聯(lián)邦學(xué)習(xí)交換的中間信息是高度凝練的統(tǒng)計(jì)信息,數(shù)據(jù)中缺乏冗余,又缺乏可解釋性,這些被傳遞的中間結(jié)果是否是捏造的假數(shù)據(jù),難以確認(rèn)。另外,攻擊者亦可通過加工假數(shù)據(jù)以逃避異常值檢測(cè)[10],從而對(duì)全局模型進(jìn)行投毒攻擊。由于當(dāng)前市面上許多方法使用了一種僅支持加法操作的半同態(tài)加密算法來保護(hù)各方提供的梯度,造假的檢測(cè)能力進(jìn)一步喪失。退一步說,即使我們發(fā)現(xiàn)了造假行為,造假方完全可以抵賴說這些假數(shù)據(jù)就是自己的數(shù)據(jù)隨機(jī)采樣算出來的,理論上很難區(qū)分是其惡意造假,還是隨機(jī)抽樣造成的噪聲。

更為嚴(yán)重的是,每方的中間結(jié)果對(duì)于模型的訓(xùn)練影響都很大,因此每一方都可以通過構(gòu)造“有毒數(shù)據(jù)”來控制整個(gè)模型的訓(xùn)練結(jié)果。例如在模型中留一個(gè)后門(即某些特定樣本的推理完全受惡意一方的控制)。相比于傳統(tǒng)的模型訓(xùn)練,在聯(lián)邦學(xué)習(xí)過程中人們更難舉證這一后門是哪一方下毒造成的。許多研究已經(jīng)證明,這樣的攻擊在橫向聯(lián)邦學(xué)習(xí)中廣泛存在[10][11][12][13][14],此類攻擊方法在縱向聯(lián)邦學(xué)習(xí)中也已經(jīng)被發(fā)現(xiàn)。

《周易》上說,“慢藏誨盜”,意思是不把東西藏好了,就是教唆別人偷盜。我們認(rèn)為一個(gè)技術(shù)不應(yīng)該讓造假變得更容易、更難被發(fā)現(xiàn),因此聯(lián)邦學(xué)習(xí)在這一方面仍需要很多改進(jìn)。

從監(jiān)管角度看,目前緩解上述問題的一種思路是,采取一些方法來強(qiáng)化聯(lián)邦學(xué)習(xí)的中心管控功能,具體包括:(1)除了參數(shù)聚合,將更多的計(jì)算邏輯納入中心化可監(jiān)管的范疇;(2)使用支持密文復(fù)雜計(jì)算邏輯的密碼學(xué)技術(shù),如秘密分享(secret sharing),這樣可以最大程度上通過密文來分析數(shù)據(jù)的“造假”特征;(3)引入第三方獨(dú)立行使計(jì)算或監(jiān)管職責(zé),鼓勵(lì)針對(duì)高價(jià)值、敏感數(shù)據(jù)的場(chǎng)內(nèi)流通方式,而不僅僅在聯(lián)邦學(xué)習(xí)參與方之間進(jìn)行計(jì)算;(4)使用存證機(jī)制,增強(qiáng)事后回溯和舉證能力。

3.聯(lián)邦學(xué)習(xí)真的促進(jìn)了數(shù)據(jù)的公平共享么?

在一個(gè)公平的場(chǎng)景中,參與聯(lián)邦學(xué)習(xí)的各方,希望共同獲得一個(gè)模型,雙方要么獲得了相同的價(jià)值,或者獲得價(jià)值少的一方能夠獲得額外的補(bǔ)償。然而,聯(lián)邦學(xué)習(xí)其實(shí)并不能達(dá)到這個(gè)效果,反而會(huì)導(dǎo)致數(shù)據(jù)多的一方獲益更大。

當(dāng)前國(guó)內(nèi)聯(lián)邦學(xué)習(xí)主要應(yīng)用場(chǎng)景是縱向聯(lián)邦學(xué)習(xí),縱向聯(lián)邦學(xué)習(xí)的第一步是隱私求交(PSI),會(huì)將交集結(jié)果暴露出來。事實(shí)上,理論上的PSI方法,本身可以保護(hù)交集結(jié)果,但是如果不暴露交集,后續(xù)計(jì)算無法實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)減少加密數(shù)據(jù)量的目的,因此我國(guó)業(yè)界常見做法就是把交集暴露出來。試想,一個(gè)大型互聯(lián)網(wǎng)公司擁有10億用戶上網(wǎng)數(shù)據(jù),一個(gè)銀行擁有1000萬用戶金融數(shù)據(jù);ヂ(lián)網(wǎng)公司根本不在乎暴露交集,因?yàn)閹缀跛锌蛻粜畔⒎凑呀?jīng)有了,它可以通過聯(lián)邦學(xué)習(xí)獲得1000萬銀行用戶標(biāo)簽,至少知道了這1000萬人是這個(gè)銀行的客戶,以后不依賴于銀行數(shù)據(jù),互聯(lián)網(wǎng)平臺(tái)也可對(duì)他們進(jìn)行精準(zhǔn)營(yíng)銷等等。銀行當(dāng)然也知道了自己的哪些客戶是這一互聯(lián)網(wǎng)產(chǎn)品的客戶,但是這個(gè)信息顯然沒有太大價(jià)值,因?yàn)榻^大多數(shù)用戶都是這個(gè)互聯(lián)網(wǎng)產(chǎn)品的用戶,這個(gè)不用訓(xùn)練也知道。銀行泄露了自己客戶的信息,換來的是一個(gè)模型,而且這個(gè)模型其實(shí)也不能單獨(dú)使用,還需要輸入只有互聯(lián)網(wǎng)公司擁有的數(shù)據(jù)維度才能有用,所以銀行在數(shù)據(jù)上仍然存在被互聯(lián)網(wǎng)企業(yè)卡脖子的風(fēng)險(xiǎn)。因此這個(gè)交易顯然是不公平的。更為有趣的是,當(dāng)前的市場(chǎng)環(huán)境下,經(jīng)常是數(shù)據(jù)少的金融機(jī)構(gòu)向數(shù)據(jù)多的互聯(lián)網(wǎng)企業(yè)付費(fèi),更加加劇了這一不公平性。因此,縱向聯(lián)邦學(xué)習(xí)技術(shù)有利于擁有大量數(shù)據(jù)的公司獲取數(shù)據(jù)量相對(duì)較小的公司的數(shù)據(jù)信息。這樣的“聯(lián)邦”,實(shí)際上成為了大公司數(shù)據(jù)壟斷的延伸,難以實(shí)現(xiàn)公平合作的共贏生態(tài)。

理想的方式是,交集不暴露給雙方,在不暴露的交集上繼續(xù)完成后續(xù)機(jī)器學(xué)習(xí)過程,乃至后續(xù)推理的過程;但這樣做會(huì)完全損失聯(lián)邦學(xué)習(xí)暴露中間結(jié)果而帶來的性能優(yōu)化,喪失了其特性。

一個(gè)可行的解決方式也許是允許多種類型的參與方角色加入,促進(jìn)數(shù)據(jù)生態(tài)和業(yè)務(wù)形態(tài)全面發(fā)展。比如,可以由小公司作為數(shù)據(jù)使用方提出聯(lián)合建模需求;也可以讓專門從事算法研究的參與方加入,通過貢獻(xiàn)算法模型獲取收益等。這樣每一方都可以貢獻(xiàn)自己的專長(zhǎng),同時(shí)也能夠使用他方的資源信息為自己服務(wù)。通過這樣不斷創(chuàng)新的技術(shù)應(yīng)用方式,豐富業(yè)務(wù)發(fā)展模式,逐步構(gòu)建良性循環(huán)的數(shù)據(jù)生態(tài)環(huán)境。

三、實(shí)現(xiàn):聯(lián)邦學(xué)習(xí)在系統(tǒng)工程與運(yùn)維上的挑戰(zhàn)

目前聯(lián)邦學(xué)習(xí)在工程上的架構(gòu)是一種多個(gè)數(shù)據(jù)源直接互聯(lián)進(jìn)行計(jì)算的模式。這一模式給現(xiàn)有的私有云和企業(yè)網(wǎng)絡(luò)的部署帶來了額外挑戰(zhàn)。這些挑戰(zhàn)具體體現(xiàn)在網(wǎng)絡(luò)安全、算力可擴(kuò)展性、易用性和可監(jiān)管性等方面。

1.算力與原始數(shù)據(jù)的耦合,帶來部署時(shí)網(wǎng)絡(luò)安全與算力擴(kuò)展的挑戰(zhàn)

聯(lián)邦學(xué)習(xí)的主要算力都與原始數(shù)據(jù)源部署在一起。這里存在兩個(gè)問題,即企業(yè)防火墻配置的問題和算力可擴(kuò)展性的問題。

一般來說,大數(shù)據(jù)平臺(tái)位于企業(yè)內(nèi)部的后臺(tái),應(yīng)該部署在企業(yè)防火墻內(nèi),不應(yīng)從外網(wǎng)直接訪問。聯(lián)邦學(xué)習(xí)的軟件模塊需要直接訪問原始明文大數(shù)據(jù)(端上的迭代需要在明文上進(jìn)行),因此也需要進(jìn)行企業(yè)內(nèi)網(wǎng)的部署。然而,在訓(xùn)練過程中,不同數(shù)據(jù)源方的軟件模塊需要頻繁互相通訊,因此需要在防火墻上對(duì)外暴露網(wǎng)絡(luò)端口。這一部署模式給企業(yè)的網(wǎng)絡(luò)和信息安全帶來了額外挑戰(zhàn)。另一種部署方式是將聯(lián)邦學(xué)習(xí)軟件模塊部署在企業(yè)防火墻外的DMZ區(qū)域(demilitarized zone,隔離區(qū))中,讓聯(lián)邦學(xué)習(xí)軟件跨過防火墻與內(nèi)網(wǎng)中的大數(shù)據(jù)系統(tǒng)交換任務(wù)。這一部署模式安全性略好,但仍然需要給一個(gè)處于較低安全區(qū)(DMZ)中,且暴露網(wǎng)絡(luò)端口的聯(lián)邦學(xué)習(xí)模塊授權(quán)許多內(nèi)網(wǎng)大數(shù)據(jù)平臺(tái)的訪問權(quán)限,一旦這個(gè)模塊被黑客攻破,后果會(huì)非常嚴(yán)重。

另外,聯(lián)邦學(xué)習(xí)主要計(jì)算都發(fā)生在數(shù)據(jù)源端,數(shù)據(jù)源需要的算力與其數(shù)據(jù)量和計(jì)算復(fù)雜度成正比。因此每個(gè)參與方都需要部署相應(yīng)的計(jì)算能力,具備計(jì)算資源的可擴(kuò)展性。聯(lián)邦學(xué)習(xí)的穩(wěn)定運(yùn)行,也依賴于每一參與方的計(jì)算執(zhí)行可靠性。這種跨多個(gè)參與方的計(jì)算資源調(diào)度和容錯(cuò)機(jī)制,與通常的云計(jì)算等有顯著差別。目前尚缺乏這方面的可靠的系統(tǒng)設(shè)計(jì)方案。

一種解決思路是,將一部分計(jì)算功能獨(dú)立出來(比如參數(shù)聚合功能),在額外的代理計(jì)算方上運(yùn)行。這樣一來,各數(shù)據(jù)源方只需主動(dòng)向代理計(jì)算方推送中間參數(shù)并適時(shí)獲取聚合結(jié)果,而無需暴漏自身的網(wǎng)絡(luò)接口。另外,將算力獨(dú)立出來,有利于充分利用云計(jì)算的擴(kuò)展性和容錯(cuò)性,而不用再依賴于各數(shù)據(jù)源方的算力水平。

2.算法、系統(tǒng)和業(yè)務(wù)邏輯的耦合,帶來開發(fā)門檻高,難學(xué)難懂的挑戰(zhàn)

當(dāng)前使用聯(lián)邦學(xué)習(xí)系統(tǒng)開發(fā)一個(gè)AI算法,開發(fā)者需要在提升模型準(zhǔn)確度的同時(shí),時(shí)刻牢記“多方”的概念,時(shí)刻關(guān)注什么信息、可以暴露什么、不可以暴露什么,時(shí)刻注意加密了什么數(shù)據(jù),加密后的數(shù)據(jù)可以做什么處理,時(shí)刻計(jì)算傳輸數(shù)據(jù)需要多少代價(jià)。這就要求開發(fā)者同時(shí)了解密碼學(xué)、分布式計(jì)算、AI等領(lǐng)域知識(shí)。這樣的開發(fā)者是非常難于培養(yǎng)的,寫出來的程序非聯(lián)邦學(xué)習(xí)專業(yè)工程師也很難看懂,更不用說驗(yàn)證其安全性。當(dāng)前的聯(lián)邦學(xué)習(xí)開源代碼都只提供了核心功能,一些對(duì)于系統(tǒng)和數(shù)據(jù)安全缺乏理解的開發(fā)者在進(jìn)行二次開發(fā)的過程中,極易忽略一些基本的安全策略配置,例如此前提到的防火墻的配置,以及聯(lián)邦學(xué)習(xí)中關(guān)于密鑰管理和分發(fā)的配置方法,從而造成虛假的安全感。

造成這一問題的根源在于,目前聯(lián)邦學(xué)習(xí)軟件的開發(fā)接口,抽象層級(jí)不夠高,把太多的實(shí)現(xiàn)細(xì)節(jié)暴露給開發(fā)者。這當(dāng)然有工程成熟度的原因,但更深層次的原因是,為了應(yīng)對(duì)我們?cè)诘诙?jié)中提到的聯(lián)邦學(xué)習(xí)的安全問題,導(dǎo)致現(xiàn)在聯(lián)邦學(xué)習(xí)的實(shí)現(xiàn)上都打上了多種安全補(bǔ)丁。一個(gè)常見的補(bǔ)丁方式是結(jié)合一些密碼學(xué)方法來掩蓋一些梯度,例如半同態(tài)加密,但這些密碼學(xué)方法都有比較復(fù)雜的密鑰管理機(jī)制的要求,并且只能進(jìn)行一些特定操作(例如加法)。因此許多算法都需要圍繞這些密碼學(xué)方法在進(jìn)行特定的改進(jìn),因此導(dǎo)致了更為復(fù)雜的軟件接口設(shè)計(jì)。如何利用更通用的密碼計(jì)算方法,定義一套抽象的開發(fā)接口,使得AI算法設(shè)計(jì)人員和業(yè)務(wù)人員不用再去關(guān)心系統(tǒng)底層的技術(shù),是一個(gè)聯(lián)邦學(xué)習(xí)亟待解決的工程挑戰(zhàn)。

一個(gè)可推薦的實(shí)現(xiàn)思路是,逐層級(jí)構(gòu)建算法體系,對(duì)外開放友好的編程接口。具體地講,在底層將基礎(chǔ)的密碼學(xué)協(xié)議進(jìn)行封裝,構(gòu)建基本的密碼操作指令集,支持密文計(jì)算引擎以及它與明文計(jì)算間的轉(zhuǎn)換。這樣,聯(lián)邦學(xué)習(xí)算法的開發(fā)人員,可同時(shí)面向明文和密文開發(fā)并提供算法函數(shù)庫,而業(yè)務(wù)邏輯開發(fā)人員不僅可以直接引用這些算法庫解決問題,而且可以像修改明文算法庫一樣查驗(yàn)、分析和修改這些聯(lián)邦學(xué)習(xí)算法,而不需要任何的密碼或者聯(lián)邦學(xué)習(xí)的專門知識(shí),就像直接在明文數(shù)據(jù)上開發(fā)大數(shù)據(jù)算法一樣。在運(yùn)行時(shí),可定義開發(fā)者自主編程接口和IDE,通過配置數(shù)據(jù)源,IDE可自動(dòng)適配程序中的數(shù)據(jù)指向,使得開發(fā)者就像在一個(gè)數(shù)據(jù)源(可稱為“虛擬的數(shù)據(jù)中心”)上開發(fā)一樣。

3.P2P架構(gòu)、半同態(tài)加密與參數(shù)聚合算法的耦合,帶來數(shù)據(jù)監(jiān)管的挑戰(zhàn)

監(jiān)管在數(shù)據(jù)流通中非常重要。監(jiān)管不僅僅是為了防止數(shù)據(jù)濫用對(duì)社會(huì)造成危害,同時(shí)也是避免數(shù)據(jù)造假和數(shù)據(jù)投毒的重要手段。

然而,聯(lián)邦學(xué)習(xí)的系統(tǒng)和算法都部署在各個(gè)數(shù)據(jù)源方,之間交換的數(shù)據(jù)全部通過加密傳輸,即使有一些中心化聚合中間結(jié)果的架構(gòu)設(shè)計(jì),這個(gè)中心化聚合節(jié)點(diǎn)也僅僅是在中間結(jié)果上做了很簡(jiǎn)單的匯聚計(jì)算(例如求和),并不可能知曉各方在進(jìn)行什么樣的數(shù)據(jù)處理,也更無法實(shí)現(xiàn)計(jì)算過程的存證。因此,一個(gè)聯(lián)邦學(xué)習(xí)的算法是否做了它聲稱的計(jì)算,只有參與方自己才知道(而且只知道自己是否做了正確的事情,不知道對(duì)方是怎么做的)。這樣的系統(tǒng)會(huì)導(dǎo)致在它上面進(jìn)行的明文數(shù)據(jù)的直接交易(即打著隱私計(jì)算的幌子做明文數(shù)據(jù)交易)更難被發(fā)現(xiàn)和監(jiān)管。如果采用可驗(yàn)證計(jì)算等手段對(duì)P2P系統(tǒng)進(jìn)行監(jiān)管,會(huì)造成非常大的額外開銷。因此,如何做到對(duì)數(shù)據(jù)使用可監(jiān)管的聯(lián)邦學(xué)習(xí),在技術(shù)和工程上都是很大的挑戰(zhàn)。其根源是,參數(shù)聚合階段只能做加法(目前由于全同態(tài)計(jì)算性能限制,只能選擇半同態(tài)加密算法),因此參數(shù)聚合服務(wù)器這個(gè)最適合履行監(jiān)管責(zé)任的一方,沒有能力分析它所處理的數(shù)據(jù)。

解決上述問題的一個(gè)途徑是采用支持通用密文計(jì)算的代理計(jì)算架構(gòu),在密文上進(jìn)行數(shù)據(jù)特征分析。代理計(jì)算的通用計(jì)算功能越強(qiáng)大,對(duì)數(shù)據(jù)分析面就越大,所能實(shí)現(xiàn)的監(jiān)管力度就越強(qiáng)。另外,為了防止參與方超范圍使用其他參與方的數(shù)據(jù),應(yīng)建立多方計(jì)算合約機(jī)制,由參與計(jì)算的各方在計(jì)算開始前就數(shù)據(jù)的具體使用目的和方式簽訂合約進(jìn)行授權(quán),各方嚴(yán)格按照計(jì)算合約執(zhí)行,并對(duì)計(jì)算合約和執(zhí)行過程進(jìn)行存證,保證事后可回溯、可審計(jì)、可舉證,從而防止數(shù)據(jù)濫用。

四、總結(jié):需求還是方法?

綜上所述,目前,“聯(lián)邦學(xué)習(xí)”這個(gè)術(shù)語在市場(chǎng)上存在很多認(rèn)識(shí)上的誤解和混淆,主要原因是其既在廣義上表達(dá)了保護(hù)數(shù)據(jù)前提下聯(lián)合多方數(shù)據(jù)訓(xùn)練模型的需求,又在狹義上表示了一類通過暴露部分?jǐn)?shù)據(jù)信息來提升訓(xùn)練性能的方法。有趣的是,作為廣義上的需求,它強(qiáng)調(diào)為了保護(hù)數(shù)據(jù)安全,可以犧牲部分準(zhǔn)確性;但作為狹義的方法,它反而強(qiáng)調(diào)通過犧牲安全來換取性能提升。

因此,作為行業(yè)用戶,選擇是不是存在“聯(lián)邦學(xué)習(xí)”的需求(也叫做數(shù)據(jù)融合計(jì)算、數(shù)據(jù)價(jià)值流通的需求),是一個(gè)純粹的業(yè)務(wù)問題,其判斷標(biāo)準(zhǔn)是數(shù)據(jù)價(jià)值流通能否帶來業(yè)務(wù)價(jià)值;在這一需求基礎(chǔ)上,是不是要選用狹義的“聯(lián)邦學(xué)習(xí)”方法和系統(tǒng)來滿足這個(gè)需求,是個(gè)純粹的IT技術(shù)和安全合規(guī)問題,需要考慮和平衡的是數(shù)據(jù)的敏感性、泄露的代價(jià),和進(jìn)行數(shù)據(jù)保護(hù)所需的技術(shù)成本。

也許,這樣才能回歸到我們探索聯(lián)邦學(xué)習(xí)的初心。

參考文獻(xiàn):

[1] Zhu, Ligeng, and Song Han. "Deep leakage from gradients." Federated learning. Springer, Cham, 2020. 17-31.

[2] Geiping, Jonas, et al. "Inverting Gradients--How easy is it to break privacy in federated learning?." arXiv preprint arXiv:2003.14053 (2020).

[3] Lyu, Lingjuan, Han Yu, and Qiang Yang. "Threats to federated learning: A survey." arXiv preprint arXiv:2003.02133 (2020).

[4] Zhao, Bo, Konda Reddy Mopuri, and Hakan Bilen. "idlg: Improved deep leakage from gradients." arXiv preprint arXiv:2001.02610 (2020).

[5] Bonawitz, Keith, et al. "Practical secure aggregation for privacy-preserving machine learning." proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017.

[6] Kairouz, Peter, et al. "Advances and open problems in federated learning." arXiv preprint arXiv:1912.04977 (2019).

[7] Melis, Luca, et al. "Exploiting unintended feature leakage in collaborative learning." 2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019.

[8] Nasr, Milad, Reza Shokri, and Amir Houmansadr. "Comprehensive privacy analysis of deep learning: Stand-alone and federated learning under passive and active white-box inference attacks." (2018).

[9] Bagdasaryan, Eugene, et al. "How to backdoor federated learning." International Conference on Artificial Intelligence and Statistics. PMLR, 2020.

[10] Bhagoji, Arjun Nitin, et al. "Analyzing federated learning through an adversarial lens." International Conference on Machine Learning. PMLR, 2019.

[11] Sun, Ziteng, et al. "Can you really backdoor federated learning?." arXiv preprint arXiv:1911.07963 (2019).

[12] Xie, Chulin, et al. "Dba: Distributed backdoor attacks against federated learning." International Conference on Learning Representations. 2019.

[13] Wang, Hongyi, et al. "Attack of the tails: Yes, you really can backdoor federated learning." arXiv preprint arXiv:2007.05084 (2020).

[14] Wang, Zhibo, et al. "Beyond inferring class representatives: User-level privacy leakage from federated learning." IEEE INFOCOM 2019-IEEE Conference on Computer Communications. IEEE, 2019.

聲明: 本文系OFweek根據(jù)授權(quán)轉(zhuǎn)載自其它媒體或授權(quán)刊載,目的在于信息傳遞,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),如有新聞稿件和圖片作品的內(nèi)容、版權(quán)以及其它問題的,請(qǐng)聯(lián)系我們。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評(píng)論

暫無評(píng)論

安防 獵頭職位 更多
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)