徐葳 等
目前,“聯(lián)邦學(xué)習(xí)”這一術(shù)語(yǔ)在市場(chǎng)上還存在很多認(rèn)識(shí)上的誤解和混淆,主要原因是其既在廣義上表達(dá)了保護(hù)數(shù)據(jù)前提下聯(lián)合多方數(shù)據(jù)訓(xùn)練模型的需求,又在狹義上表示了一類通過(guò)暴露部分?jǐn)?shù)據(jù)信息來(lái)提升訓(xùn)練性能的方法。而且作為廣義上的需求,它強(qiáng)調(diào)為了保護(hù)數(shù)據(jù)安全,可以犧牲部分準(zhǔn)確性;但作為狹義的方法,它反而強(qiáng)調(diào)通過(guò)犧牲安全來(lái)?yè)Q取性能提升。
作為金融行業(yè)用戶,選擇是不是存在“聯(lián)邦學(xué)習(xí)”的需求,或“數(shù)據(jù)融合計(jì)算、數(shù)據(jù)價(jià)值流通”的需求,完全是一個(gè)業(yè)務(wù)問(wèn)題,其判斷標(biāo)準(zhǔn)是數(shù)據(jù)價(jià)值流通能否帶來(lái)業(yè)務(wù)價(jià)值。在這一需求基礎(chǔ)上,是否要選用狹義的“聯(lián)邦學(xué)習(xí)”方法和系統(tǒng)來(lái)滿足這個(gè)需求,是個(gè)純粹的IT技術(shù)和安全合規(guī)問(wèn)題。其需要考慮和平衡的是數(shù)據(jù)的敏感性、泄露的代價(jià),以及進(jìn)行數(shù)據(jù)保護(hù)所需的技術(shù)成本。也許這樣才能回歸到我們探索聯(lián)邦學(xué)習(xí)的初心。
初心:聯(lián)邦學(xué)習(xí)擬解決的問(wèn)題
廣義定義:解決聯(lián)合建模的問(wèn)題或需求
隨著人工智能等技術(shù)應(yīng)用的發(fā)展與普及,基于機(jī)器學(xué)習(xí)的智能營(yíng)銷及風(fēng)控等應(yīng)用迅速興起。由于明文數(shù)據(jù)應(yīng)用引起的數(shù)據(jù)泄露及濫用等問(wèn)題日益突出,許多國(guó)家和地區(qū)陸續(xù)出臺(tái)數(shù)據(jù)隱私保護(hù)政策,導(dǎo)致諸多金融機(jī)構(gòu)在進(jìn)行機(jī)器學(xué)習(xí)任務(wù)時(shí)面臨著數(shù)據(jù)瓶頸問(wèn)題,即需要更多數(shù)據(jù)訓(xùn)練得到更準(zhǔn)確的模型。此處,更多數(shù)據(jù)意味著:更多樣本點(diǎn),以減少模型偏差,提升模型質(zhì)量;更多標(biāo)簽(如銀行信貸業(yè)務(wù)場(chǎng)景中的客戶逾期判斷),以提升模型準(zhǔn)確度;更多維度,以更全面刻畫某一對(duì)象。然而,上述額外數(shù)據(jù)經(jīng)常由不同主體持有,且往往具有高度敏感性,難以被共享,導(dǎo)致多方數(shù)據(jù)源聯(lián)合建模的需求無(wú)法被滿足。
從廣義上講,能夠滿足多個(gè)數(shù)據(jù)方聯(lián)合建模需求的機(jī)器學(xué)習(xí)方法為 “聯(lián)邦學(xué)習(xí)”。因此,廣義上的聯(lián)邦學(xué)習(xí)是一個(gè)問(wèn)題,或者說(shuō)是需求,而不是一種技術(shù)或解決方案。事實(shí)上,這一需求在多年前就已有解決方案。在密碼理論領(lǐng)域,采用多方數(shù)據(jù)訓(xùn)練模型是多方安全計(jì)算技術(shù)的一個(gè)具體應(yīng)用。理論上講,我們可以用一個(gè)“多方計(jì)算”(也叫多方安全計(jì)算,Multi-party Computation, MPC)的方案描述整個(gè)訓(xùn)練過(guò)程。在數(shù)據(jù)挖掘領(lǐng)域,學(xué)者們很早就提出了如k-匿名、差分隱私等方法;在硬件領(lǐng)域,人們?cè)噲D做出更可信的硬件芯片來(lái)保證數(shù)據(jù)不泄露。近期研究人員及金融機(jī)構(gòu)也嘗試采取遷移學(xué)習(xí)等手段,試圖隱藏和個(gè)人相關(guān)的敏感信息。
狹義定義:一類特定算法
然而現(xiàn)在市場(chǎng)上,聯(lián)邦學(xué)習(xí)這一術(shù)語(yǔ)被局限于一個(gè)更狹義的定義。市場(chǎng)上普遍認(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)練過(guò)程就能達(dá)到人們想要的數(shù)據(jù)隱私保護(hù)目標(biāo)。然而這個(gè)假設(shè)是否真實(shí)成立,目前尚無(wú)理論上的證明。
狹義的聯(lián)邦學(xué)習(xí)作為一種獨(dú)特的方法被提出,其主要?jiǎng)訖C(jī)是試圖在此前的幾種方法中取得一種平衡,即解決如下問(wèn)題:多方計(jì)算等密碼學(xué)方法的計(jì)算和通訊開銷高;k-匿名暴露信息過(guò)多;在原始數(shù)據(jù)上加入差分隱私需要的噪聲,對(duì)于多次迭代的機(jī)器學(xué)習(xí)結(jié)果的準(zhǔn)確度影響大;硬件可信程度未知。因此,狹義聯(lián)邦學(xué)習(xí)的主要目標(biāo)是試圖通過(guò)有選擇地暴露一些信息,從而實(shí)現(xiàn)訓(xùn)練精度、訓(xùn)練速度和數(shù)據(jù)隱私安全的平衡。本文下述“聯(lián)邦學(xué)習(xí)”均是基于這一狹義意義上的方法展開。
設(shè)計(jì):聯(lián)邦學(xué)習(xí)理論上的挑戰(zhàn)
相比其他隱私保護(hù)計(jì)算技術(shù),聯(lián)邦學(xué)習(xí)的本質(zhì)特征是暴露某些中間數(shù)據(jù),并假設(shè)這些數(shù)據(jù)不泄露敏感信息。然而越來(lái)越多的研究發(fā)現(xiàn),這一假設(shè)未必成立。
聯(lián)邦學(xué)習(xí)安全性存疑
聯(lián)邦學(xué)習(xí)過(guò)程中雖然沒(méi)有發(fā)送任何原始數(shù)據(jù),但其暴露的數(shù)據(jù)主要有兩類:一是模型迭代訓(xùn)練中每輪的中間結(jié)果;二是在縱向聯(lián)邦學(xué)習(xí)中暴露的雙方數(shù)據(jù)交集中的元素。一個(gè)常見的認(rèn)知誤區(qū)是,不發(fā)送原始數(shù)據(jù),做到“數(shù)據(jù)不動(dòng)”就是安全的。此處其實(shí)有個(gè)非常強(qiáng)的安全假設(shè),即聯(lián)邦學(xué)習(xí)每次迭代中暴露的中間結(jié)果不會(huì)泄露有價(jià)值的信息。然而,很多工作均已證明此安全假設(shè)難以達(dá)到。
聯(lián)邦學(xué)習(xí)每次迭代均會(huì)暴露中間結(jié)果,這一中間結(jié)果可能是每方提供的梯度,或者是多方聚合的梯度,或者是一個(gè)本輪結(jié)束之后的模型中間結(jié)果。此處的核心問(wèn)題在于,中間結(jié)果是一個(gè)高維的向量或矩陣,其在很多模型里往往缺少可解釋性。一個(gè)參與方可以根據(jù)這些暴露的結(jié)果以及結(jié)果之間的差異性去推算一些不應(yīng)暴露的信息。中間結(jié)果具體會(huì)泄露什么信息很難確定,因此其安全性無(wú)法得到證明。有一些針對(duì)這一問(wèn)題“打補(bǔ)丁”的方法,例如,利用密碼學(xué)方法來(lái)計(jì)算梯度聚合。但無(wú)論如何加密,聯(lián)邦學(xué)習(xí)都不可避免地會(huì)向各方暴露一個(gè)本輪迭代訓(xùn)練的中間結(jié)果,否則就失去了這一方法的核心價(jià)值,即通過(guò)暴露這個(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),通用的方法仍有待探索。
更為深層次的問(wè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í)過(guò)程中交換的高維向量顯然泄露了大量的統(tǒng)計(jì)信息。至于具體泄露了哪些統(tǒng)計(jì)信息,以及泄露這些信息的危害,一般與具體場(chǎng)景有關(guān),因而難以判斷,由此極易形成“虛假的安全感”。無(wú)數(shù)信息安全領(lǐng)域的實(shí)踐證明,虛假的安全比沒(méi)有安全造成的后果更加嚴(yán)重。
緩解該問(wèn)題的一種思路是定義一種通用的明、密文混合計(jì)算方式,并根據(jù)不同的場(chǎng)景需求(如安全需求、性能需求等)靈活地選擇可以暴露什么信息,以及必須隱藏什么信息。也就是說(shuō),即使對(duì)于同一種機(jī)器學(xué)習(xí)算法,由于應(yīng)用場(chǎng)景不同,建模參與方也需要對(duì)算法的明文計(jì)算部分和密文計(jì)算部分進(jìn)行適配性的規(guī)劃和調(diào)整。
聯(lián)邦學(xué)習(xí)的特性機(jī)制引致更大造假風(fēng)險(xiǎn)
聯(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í)踐中,產(chǎn)業(yè)界應(yīng)建立切實(shí)有效的引導(dǎo)和制約機(jī)制,使各參與方遵守協(xié)議。其中重要的一類方法是通過(guò)監(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)和舉證。傳統(tǒng)數(shù)據(jù)挖掘算法無(wú)論是檢測(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ù)難以被判斷。另外,攻擊者亦可通過(guò)加工假數(shù)據(jù)以逃避異常值檢測(cè),從而對(duì)全局模型進(jìn)行投毒攻擊。由于當(dāng)前市面上許多方法使用了一種僅支持加法操作的半同態(tài)加密算法來(lái)保護(hù)各方提供的梯度,使造假的檢測(cè)能力進(jìn)一步喪失。因此,其發(fā)送的數(shù)據(jù)是惡意造假結(jié)果,還是隨機(jī)抽樣造成的噪聲,理論上難以區(qū)分。
更為嚴(yán)重的是,每方的中間結(jié)果對(duì)于模型的訓(xùn)練影響都很大,因此每一方都可以通過(guò)構(gòu)造“有毒數(shù)據(jù)”來(lái)控制整個(gè)模型的訓(xùn)練結(jié)果。例如,在模型中留一個(gè)后門(即某些特定樣本的推理完全受惡意一方的控制)。相比于傳統(tǒng)的模型訓(xùn)練,在聯(lián)邦學(xué)習(xí)過(guò)程中更難舉證這一后門是哪一方下毒造成的。許多研究已經(jīng)證明,這樣的攻擊在橫向聯(lián)邦學(xué)習(xí)中廣泛存在,此類攻擊方法在縱向聯(lián)邦學(xué)習(xí)中也已經(jīng)被發(fā)現(xiàn)。因此,聯(lián)邦學(xué)習(xí)在這一方面仍需要很多改進(jìn)。
從監(jiān)管角度看,目前緩解上述問(wèn)題的一種思路是,采取一些方法來(lái)強(qiáng)化聯(lián)邦學(xué)習(xí)的中心管控功能,具體包括:除了參數(shù)聚合,將更多的計(jì)算邏輯納入中心化可監(jiān)管的范疇;使用支持密文復(fù)雜計(jì)算邏輯的密碼學(xué)技術(shù),如秘密分享(secret sharing),最大程度通過(guò)密文來(lái)分析數(shù)據(jù)的“造假”特征;引入第三方獨(dú)立行使計(jì)算或監(jiān)管職責(zé),鼓勵(lì)針對(duì)高價(jià)值、敏感數(shù)據(jù)的場(chǎng)內(nèi)流通方式,而不僅僅在聯(lián)邦學(xué)習(xí)參與方之間進(jìn)行計(jì)算;使用存證機(jī)制,增強(qiáng)事后回溯和舉證能力。
現(xiàn)有聯(lián)邦學(xué)習(xí)下的數(shù)據(jù)共享缺乏公平性
數(shù)據(jù)公平共享機(jī)制對(duì)于保障金融業(yè)數(shù)據(jù)生態(tài)的有序、健康發(fā)展至關(guān)重要。數(shù)據(jù)共享應(yīng)用過(guò)程涉及多參與方交換信息,往往存在各參與方貢獻(xiàn)度及獲益程度不一的問(wèn)題。在此背景下,基于聯(lián)邦學(xué)習(xí)或其他隱私保護(hù)計(jì)算技術(shù)的數(shù)據(jù)共享應(yīng)用需輔以合理的公平機(jī)制,在保護(hù)一定數(shù)據(jù)隱私的同時(shí)保障數(shù)據(jù)共享的公平性,以激勵(lì)不同類型機(jī)構(gòu)共建合作共贏的金融數(shù)據(jù)生態(tài)。以兩方聯(lián)邦學(xué)習(xí)場(chǎng)景為例,在一個(gè)公平的模式下,參與方希望共同獲得一個(gè)模型,雙方要么獲得了相同的價(jià)值,要么獲得價(jià)值少的一方能夠獲得額外的補(bǔ)償。然而,現(xiàn)有聯(lián)邦學(xué)習(xí)框架并不能達(dá)到這個(gè)效果,反而會(huì)導(dǎo)致數(shù)據(jù)多的一方獲益更大。
當(dāng)前,國(guó)內(nèi)聯(lián)邦學(xué)習(xí)主要應(yīng)用場(chǎng)景是縱向聯(lián)邦學(xué)習(xí),其第一步是隱私求交(PSI),會(huì)將交集結(jié)果暴露出來(lái)。事實(shí)上,理論上的PSI方法,本身可以保護(hù)交集結(jié)果,但是如果不暴露交集,后續(xù)計(jì)算無(wú)法實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)減少加密數(shù)據(jù)量的目的。因此,我國(guó)業(yè)界常見的做法就是把交集暴露出來(lái)。例如在金融場(chǎng)景中,一個(gè)大型互聯(lián)網(wǎng)公司擁有10億用戶上網(wǎng)數(shù)據(jù),一個(gè)銀行擁有1000萬(wàn)用戶金融數(shù)據(jù)。互聯(lián)網(wǎng)公司由于已擁有幾乎所有客戶的信息,并不在乎暴露交集。其通過(guò)聯(lián)邦學(xué)習(xí)可獲得1000萬(wàn)個(gè)銀行客戶及相應(yīng)標(biāo)簽,以后無(wú)需依賴銀行數(shù)據(jù)亦可對(duì)該客戶群進(jìn)行精準(zhǔn)營(yíng)銷。銀行雖然也能夠得知自身與互聯(lián)網(wǎng)產(chǎn)品的重疊客群,但此信息顯然沒(méi)有太大價(jià)值,因?yàn)榻^大多數(shù)用戶都是這個(gè)互聯(lián)網(wǎng)產(chǎn)品的用戶,這一信息無(wú)需模型訓(xùn)練也能得知。如此一來(lái),銀行泄露了自身客戶的信息,換來(lái)了一個(gè)其無(wú)法單獨(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)境下,往往是數(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)。
對(duì)于上述場(chǎng)景,理想的方式是雙方不暴露基于隱私求交得到的交集,在不暴露的交集上繼續(xù)完成后續(xù)機(jī)器學(xué)習(xí)過(guò)程,乃至后續(xù)推理的過(guò)程。然而,這樣做會(huì)完全損失聯(lián)邦學(xué)習(xí)暴露中間結(jié)果而帶來(lái)的性能優(yōu)化。一個(gè)可行的解決方式也許是允許多種類型的參與方角色加入,促進(jìn)金融數(shù)據(jù)生態(tài)和業(yè)務(wù)形態(tài)全面發(fā)展。比如,可以由小公司作為數(shù)據(jù)使用方提出聯(lián)合建模需求;也可以讓專門從事算法研究的參與方加入,通過(guò)貢獻(xiàn)算法模型獲取收益等。這樣,每一方都可以貢獻(xiàn)自己的專長(zhǎng),同時(shí)也能夠使用他方的資源信息為自己服務(wù)。通過(guò)這樣不斷創(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)
在金融應(yīng)用中,目前聯(lián)邦學(xué)習(xí)在工程上的架構(gòu)是一種多個(gè)數(shù)據(jù)源直接互聯(lián)進(jìn)行計(jì)算的模式。這一模式給現(xiàn)有的私有云和企業(yè)網(wǎng)絡(luò)的部署帶來(lái)了額外挑戰(zhàn)。這些挑戰(zhàn)具體體現(xiàn)在網(wǎng)絡(luò)安全、算力可擴(kuò)展性、易用性和可監(jiān)管性等方面。
算力與原始數(shù)據(jù)的耦合,帶來(lái)部署時(shí)網(wǎng)絡(luò)安全與算力擴(kuò)展的挑戰(zhàn)
聯(lián)邦學(xué)習(xí)的主要算力都與原始數(shù)據(jù)源部署在一起,造成兩個(gè)問(wèn)題,即企業(yè)防火墻配置的問(wèn)題和算力可擴(kuò)展性的問(wèn)題。
一般來(lái)說(shuō),大數(shù)據(jù)平臺(tái)位于企業(yè)內(nèi)部的后臺(tái),應(yīng)部署在企業(yè)防火墻內(nèi),不應(yīng)從外網(wǎng)直接訪問(wèn)。聯(lián)邦學(xué)習(xí)的軟件模塊需要直接訪問(wèn)原始明文大數(shù)據(jù)(端上的迭代需要在明文上進(jìn)行),因此也需要進(jìn)行企業(yè)內(nèi)網(wǎng)的部署。然而,在訓(xùn)練過(guò)程中,不同數(shù)據(jù)源方的軟件模塊需要頻繁互相通訊,需要在防火墻上對(duì)外暴露網(wǎng)絡(luò)端口。這一部署模式給企業(yè)的網(wǎng)絡(luò)和信息安全帶來(lái)了額外挑戰(zhàn)。另一種部署方式是將聯(lián)邦學(xué)習(xí)軟件模塊部署在企業(yè)防火墻外的DMZ區(qū)域(隔離區(qū))中,讓聯(lián)邦學(xué)習(xí)軟件跨過(guò)防火墻與內(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)的訪問(wèn)權(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ú)立出來(lái)(比如參數(shù)聚合功能),在額外的代理計(jì)算方運(yùn)行。這樣一來(lái),各數(shù)據(jù)源方只需主動(dòng)向代理計(jì)算方推送中間參數(shù)并適時(shí)獲取聚合結(jié)果,而無(wú)需暴露自身的網(wǎng)絡(luò)接口。另外,將算力獨(dú)立出來(lái),有利于充分利用云計(jì)算的擴(kuò)展性和容錯(cuò)性,而不用再依賴于各數(shù)據(jù)源方的算力水平。
算法、系統(tǒng)和業(yè)務(wù)邏輯的耦合,帶來(lái)開發(fā)門檻高、難學(xué)難懂的挑戰(zhàn)
當(dāng)前,開發(fā)者使用聯(lián)邦學(xué)習(xí)系統(tǒng)開發(fā)一個(gè)AI算法,需要在提升模型準(zhǔn)確度的同時(shí),時(shí)刻牢記“多方”的概念,時(shí)刻關(guān)注信息是什么、可以暴露什么、不可以暴露什么,時(shí)刻注意加密了什么數(shù)據(jù),加密后的數(shù)據(jù)可以做什么處理,時(shí)刻計(jì)算傳輸數(shù)據(jù)需要多少代價(jià)。此類應(yīng)用要求開發(fā)者同時(shí)了解密碼學(xué)、分布式計(jì)算、AI等領(lǐng)域知識(shí)。這樣的開發(fā)者非常難以培養(yǎng),其所寫的程序非聯(lián)邦學(xué)習(xí)專業(yè)工程師也很難看懂,更不用說(shuō)驗(yàn)證其安全性。當(dāng)前的聯(lián)邦學(xué)習(xí)開源代碼均僅提供了核心功能,一些對(duì)于系統(tǒng)和數(shù)據(jù)安全缺乏理解的開發(fā)者,在進(jìn)行二次開發(fā)的過(guò)程中,極易忽略一些基本的安全策略配置,例如,此前提到的防火墻的配置,以及聯(lián)邦學(xué)習(xí)中關(guān)于密鑰管理和分發(fā)的配置方法,從而造成虛假的安全感。
這一問(wèn)題的根源在于,目前聯(lián)邦學(xué)習(xí)軟件的開發(fā)接口抽象層級(jí)不夠高,把過(guò)多實(shí)現(xiàn)細(xì)節(jié)暴露給開發(fā)者。這當(dāng)然有工程成熟度的原因,但更深層次的原因是為了應(yīng)對(duì)前面提到的聯(lián)邦學(xué)習(xí)的安全問(wèn)題,導(dǎo)致現(xiàn)有聯(lián)邦學(xué)習(xí)的實(shí)現(xiàn)上都打上了多種安全補(bǔ)丁。一個(gè)常見的補(bǔ)丁方式是結(jié)合一些密碼學(xué)方法來(lái)掩蓋一些梯度,如半同態(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ù)庫(kù)。業(yè)務(wù)邏輯開發(fā)人員則不僅可以直接引用這些算法庫(kù)解決問(wèn)題,還可以像修改明文算法庫(kù)一樣查驗(yàn)、分析和修改這些聯(lián)邦學(xué)習(xí)算法,無(wú)需要任何的密碼或者聯(lián)邦學(xué)習(xí)的專業(yè)知識(shí),就像直接在明文數(shù)據(jù)上開發(fā)大數(shù)據(jù)算法一樣。在運(yùn)行時(shí),可定義開發(fā)者自主編程接口和IDE,通過(guò)配置數(shù)據(jù)源,IDE可自動(dòng)適配程序中的數(shù)據(jù)指向,使得開發(fā)者就像在一個(gè)數(shù)據(jù)源(可稱為“虛擬的數(shù)據(jù)中心”)上開發(fā)一樣。
P2P架構(gòu)、半同態(tài)加密與參數(shù)聚合算法的耦合,帶來(lái)數(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ù)全部通過(guò)加密傳輸,即使有一些中心化聚合中間結(jié)果的架構(gòu)設(shè)計(jì),這個(gè)中心化聚合節(jié)點(diǎn)也僅僅是在中間結(jié)果上做了很簡(jiǎn)單的匯聚計(jì)算(如求和),并不能知曉各方在進(jìn)行什么樣的數(shù)據(jù)處理,更無(wú)法實(shí)現(xiàn)計(jì)算過(guò)程的存證。因此,一個(gè)聯(lián)邦學(xué)習(xí)的算法是否做了它聲稱的計(jì)算,只有參與方自己知道,而且只知道自己是否做了正確的事情,不知道其他方是怎么做的。
此類系統(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é)任的一方,沒(méi)有能力分析它所處理的數(shù)據(jù)。
解決上述問(wèn)題的一個(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í)行過(guò)程進(jìn)行存證,保證事后可回溯、可審計(jì)和可舉證,從而防止數(shù)據(jù)濫用。
(作者單位:清華大學(xué)交叉信息研究院、清華大學(xué)五道口金融學(xué)院、華控清交信息科技(北京)有限公司,參與撰稿的人有徐葳、何昊青、陳琨、王云河、時(shí)代,其中,徐葳為清華大學(xué)交叉信息研究院長(zhǎng)聘副教授、華控清交首席科學(xué)家)
責(zé)任編輯:劉 彪