阿里達(dá)摩院最新框架FederatedScope來了!讓聯(lián)邦學(xué)習(xí)從可用到好用
剛剛,阿里巴巴達(dá)摩院發(fā)布新型聯(lián)邦學(xué)習(xí)框架 FederatedScope,該框架支持大規(guī)模、高效率的聯(lián)邦學(xué)習(xí)異步訓(xùn)練,能兼容不同設(shè)備運(yùn)行環(huán)境,且提供豐富功能模塊,大幅降低了隱私保護(hù)計(jì)算技術(shù)開發(fā)與部署難度。該框架現(xiàn)已面向全球開發(fā)者開源。
隱私保護(hù)是數(shù)字經(jīng)濟(jì)的安全底座,如何在保障用戶數(shù)據(jù)隱私的同時提供高質(zhì)量連通服務(wù),成為數(shù)字經(jīng)濟(jì)時代的重要技術(shù)課題。為破解隱私保護(hù)與數(shù)據(jù)應(yīng)用的兩難,以 “數(shù)據(jù)不動模型動” 為理念的聯(lián)邦學(xué)習(xí)框架應(yīng)運(yùn)而生,并成為隱私保護(hù)計(jì)算近年最主流的解決方案之一。
具體而言,聯(lián)邦學(xué)習(xí)框架成功實(shí)現(xiàn)了“數(shù)據(jù)可用不可見”。用戶自身的數(shù)據(jù)從始至終都停留在用戶自己的手機(jī)或汽車等終端內(nèi),不會“出域”;同時,訓(xùn)練機(jī)器學(xué)習(xí)模型需要的信息,譬如梯度,會以不同的方式被保護(hù)(加密、加噪聲或拆分),然后在云端的服務(wù)器進(jìn)行聚合,從而進(jìn)行模型訓(xùn)練;此后云端再將更新的模型推送給手機(jī)端或者車端。通過這樣的交互和迭代過程,服務(wù)提供商既能夠訓(xùn)練高性能的模型為用戶提供服務(wù),同時也能保護(hù)好用戶的數(shù)據(jù)隱私。
目前開源的聯(lián)邦學(xué)習(xí)框架包括TensorFlow Federated(TFF)、FATE等。這些框架提供了聯(lián)邦學(xué)習(xí)相關(guān)基礎(chǔ)組件及實(shí)現(xiàn)方式,如聯(lián)邦聚合、差分隱私、同態(tài)加密等,為聯(lián)邦學(xué)習(xí)相關(guān)社區(qū)研究和工業(yè)應(yīng)用都提供了一定支持。
然而,現(xiàn)實(shí)生活中日益多樣化的應(yīng)用場景,以及聯(lián)邦學(xué)習(xí)任務(wù)中存在的異構(gòu)特點(diǎn)(如數(shù)據(jù)異構(gòu),系統(tǒng)資源異構(gòu),行為異構(gòu)等),給聯(lián)邦學(xué)習(xí)框架帶來了新的挑戰(zhàn)。目前已有的聯(lián)邦學(xué)習(xí)框架難以靈活高效地滿足現(xiàn)實(shí)中越來越復(fù)雜的計(jì)算需要,需從注重“可用”向注重“好用”轉(zhuǎn)變。
首先,聯(lián)邦學(xué)習(xí)參與方之間傳遞的信息形式會更加豐富,不再局限于模型參數(shù)或者梯度這一類的同質(zhì)信息。例如在圖數(shù)據(jù)上的聯(lián)邦學(xué)習(xí),參與方之間還會傳遞節(jié)點(diǎn)的嵌入式表示等信息;在垂直聯(lián)邦學(xué)習(xí)的場景下,參與方之間還會傳遞公鑰和一些加密過的中間結(jié)果信息。豐富的信息種類要求聯(lián)邦學(xué)習(xí)框架能靈活支持不同類型的信息傳遞。
其次,聯(lián)邦學(xué)習(xí)參與方的行為種類更加多變,不再拘泥于傳統(tǒng)的 “服務(wù)器端負(fù)責(zé)聚合,用戶端負(fù)責(zé)本地訓(xùn)練” 的模式。例如在跨設(shè)備的聯(lián)邦學(xué)習(xí)場景中,往往需要對服務(wù)器端的模型做壓縮處理,來滿足終端設(shè)備的運(yùn)行要求;而在終端設(shè)備上,往往會對收到的模型進(jìn)行微調(diào)來取得更好的效果。多樣化的參與方的行為要求聯(lián)邦學(xué)習(xí)框架能夠靈活地支持多種自定義行為。
同時,聯(lián)邦學(xué)習(xí)參與方的響應(yīng)速度和可靠性參差不齊,采用傳統(tǒng)的同步訓(xùn)練的方式容易造成訓(xùn)練效率差,系統(tǒng)利用率低等問題。這要求聯(lián)邦學(xué)習(xí)框架能夠允許開發(fā)者根據(jù)應(yīng)用場景采用不同的異步訓(xùn)練策略,在保證訓(xùn)練效果的同時提升訓(xùn)練的效率。
再者,現(xiàn)實(shí)應(yīng)用中聯(lián)邦學(xué)習(xí)參與方可能搭載不同的模型訓(xùn)練環(huán)境,例如有些設(shè)備后端環(huán)境使用的是 PyTorch,而另外一些則使用 TensorFlow。這要求聯(lián)邦學(xué)習(xí)框架需要有更好的兼容性,能支持跨平臺組建聯(lián)邦學(xué)習(xí),而避免要求使用者費(fèi)時費(fèi)力地對所有參與方進(jìn)行環(huán)境的適配。
最后,聯(lián)邦學(xué)習(xí)框架應(yīng)該為單機(jī)仿真和分布式部署提供統(tǒng)一的算法描述和接口,以滿足研究者和開發(fā)人員不同的應(yīng)用需求,并降低從仿真到部署的遷移難度,縮小聯(lián)邦學(xué)習(xí)從學(xué)術(shù)研究到工業(yè)應(yīng)用的鴻溝。
為解決上述挑戰(zhàn),達(dá)摩院智能計(jì)算實(shí)驗(yàn)室研發(fā)了聯(lián)邦學(xué)習(xí)框架 FederatedScope,該框架于 5 月 5 日正式對外發(fā)布并開源。
FederatedScope 采用事件驅(qū)動的編程范式,用于支持現(xiàn)實(shí)場景中聯(lián)邦學(xué)習(xí)應(yīng)用的異步訓(xùn)練,并借鑒分布式機(jī)器學(xué)習(xí)的相關(guān)研究成果,集成了異步訓(xùn)練策略來提升訓(xùn)練效率。具體而言,F(xiàn)ederatedScope 將聯(lián)邦學(xué)習(xí)看成是參與方之間收發(fā)消息的過程,通過定義消息類型以及處理消息的行為來描述聯(lián)邦學(xué)習(xí)過程。
FederatedScope 通過把聯(lián)邦過程(例如協(xié)調(diào)不同的參與方)和模型訓(xùn)練行為(例如訓(xùn)練數(shù)據(jù)采樣、優(yōu)化等)解耦開,使開發(fā)者能夠?qū)W⒂诙ㄖ茀⑴c方處理收到消息的行為,而不需要從順序執(zhí)行的角度考慮如何串聯(lián)不同參與方。例如在經(jīng)典的 FedAvg 算法實(shí)現(xiàn)中,用戶只需定義聚合端收到用戶端發(fā)送的模型參數(shù)信息后的聚合行為,以及用戶端收到聚合端廣播新一輪模型參數(shù)之后的本地訓(xùn)練行為。
對于包含異質(zhì)消息傳遞和豐富消息處理行為的聯(lián)邦學(xué)習(xí)任務(wù),F(xiàn)ederatedScope 支持用戶通過添加額外的消息類型和處理行為進(jìn)行定制化。同時,F(xiàn)ederatedScope 內(nèi)置了大量的消息類型和相應(yīng)的消息處理行為,能夠很好地服務(wù)不同場景下的聯(lián)邦任務(wù),很大程度地降低了開發(fā)者和使用者的上手門檻。
同時,達(dá)摩院團(tuán)隊(duì)對 FederatedScope 訓(xùn)練模塊進(jìn)行抽象,使其不依賴特定的深度學(xué)習(xí)后端,能兼容 PyTorch、Tensorflow 等不同設(shè)備運(yùn)行環(huán)境,大幅降低了聯(lián)邦學(xué)習(xí)在科研與實(shí)際應(yīng)用中的開發(fā)難度和成本。
圖 1. 經(jīng)典聯(lián)邦學(xué)習(xí)
圖 2. 事件驅(qū)動
為進(jìn)一步適應(yīng)不同的應(yīng)用場景,F(xiàn)ederatedScope 還集成了多種功能模塊,包括自動調(diào)參、隱私保護(hù)、性能監(jiān)控、端模型個性化。FederatedScope 支持開發(fā)者通過配置文件便捷地調(diào)用集成模塊,也允許通過注冊的方式為這些模塊添加新的算法實(shí)現(xiàn)并調(diào)用。具體而言:
(1)自動調(diào)參能大幅降低搜索最優(yōu)超參的時間和資源消耗。FederatedScope 提供了最新的聯(lián)邦學(xué)習(xí)自動調(diào)參算法方便開發(fā)者直接使用。同時,自動調(diào)參模塊也抽象了自動調(diào)參算法框架,從而方便研究人員開發(fā)新的調(diào)參算法。
(2)隱私保護(hù)是所有場景的通用需求,FederatedScope 的隱私保護(hù)模塊提供了主流的隱私保護(hù)機(jī)制,包括多方安全計(jì)算、同態(tài)加密和差分隱私。除此以外,隱私保護(hù)模塊額外提供了主流的隱私評估算法,方便開發(fā)者驗(yàn)證隱私保護(hù)的強(qiáng)度。
(3)性能監(jiān)控能夠幫助開發(fā)者隨時了解訓(xùn)練進(jìn)展,及時發(fā)現(xiàn)訓(xùn)練異常。FederatedScope 的性能模塊能以友好的界面展示訓(xùn)練過程的多種中間信息,包括每一個用戶端的訓(xùn)練結(jié)果和聚合端的評價等。
(4)由于聯(lián)邦學(xué)習(xí)參與方的數(shù)據(jù)分布和設(shè)備性能可能存在較大的差異性,端模型個性化是應(yīng)用場景中的強(qiáng)需求。FederatedScope 的端模型個性化模塊實(shí)現(xiàn)了差異化訓(xùn)練配置、定制訓(xùn)練模塊、個性化參與方的訓(xùn)練行為、維護(hù)全局和個性化的本地模型等功能,從而達(dá)成端云協(xié)同。同時端模型個性化模塊提供了豐富的個性化算法方便開發(fā)者調(diào)用。
相比傳統(tǒng)的聯(lián)邦學(xué)習(xí)框架,F(xiàn)ederatedScope 易用性尤為突出,以下幾個例子可具體說明:
(1)對于初次接觸聯(lián)邦學(xué)習(xí)的使用者來說,F(xiàn)ederatedScope 提供了詳盡的教程、文檔和運(yùn)行腳本,能夠引導(dǎo)用戶快速入門上手聯(lián)邦學(xué)習(xí)。FederatedScope 也包含了常用的模型架構(gòu)實(shí)現(xiàn),對一些基準(zhǔn)數(shù)據(jù)集也做了統(tǒng)一的預(yù)處理和封裝,以幫助用戶便捷地開展實(shí)驗(yàn)。
(2)對于希望將經(jīng)典聯(lián)邦學(xué)習(xí)應(yīng)用在不同下游任務(wù)的開發(fā)者,如使用不同的數(shù)據(jù)和模型架構(gòu),F(xiàn)ederatedScope 允許通過注冊的方式使用準(zhǔn)備好的新數(shù)據(jù)集和模型架構(gòu),而不需要修改其他的細(xì)節(jié)。另外,F(xiàn)ederatedScope 也支持根據(jù)任務(wù)類型定制不同的性能監(jiān)控和評價指標(biāo)。
(3)對于希望深入研究和開發(fā)聯(lián)邦學(xué)習(xí)算法的用戶,需要足夠的自由度在聯(lián)邦學(xué)習(xí)中添加異質(zhì)信息交換和多樣的處理行為,在FederatedScope中只需定義消息的類型和相應(yīng)的處理函數(shù)。相比現(xiàn)有的聯(lián)邦學(xué)習(xí)框架,F(xiàn)ederatedScope的優(yōu)點(diǎn)在于不需要開發(fā)者將聯(lián)邦學(xué)習(xí)的過程用順序執(zhí)行的視角來完整描述,而只需采用事件驅(qū)動的方式增加新的消息類型和消息處理行為,系統(tǒng)協(xié)助完成自動調(diào)參和高效異步訓(xùn)練,降低了所需的開發(fā)量以及復(fù)雜度。
總體而言,通過采用事件驅(qū)動的編程范式,將聯(lián)邦學(xué)習(xí)抽象成異構(gòu)消息的傳輸和處理,同時集成豐富多樣的算法策略和功能模塊,F(xiàn)ederatedScope 能夠很好的應(yīng)對聯(lián)邦學(xué)習(xí)應(yīng)用中存在的異構(gòu)特點(diǎn),靈活地支持不同聯(lián)邦學(xué)習(xí)應(yīng)用場景的多樣化需求,且易于使用和二次開發(fā)。與現(xiàn)有的聯(lián)邦學(xué)習(xí)框架相比,F(xiàn)ederatedScope 大幅降低了開發(fā)者應(yīng)用的難度。
達(dá)摩院智能計(jì)算實(shí)驗(yàn)室隱私保護(hù)計(jì)算團(tuán)隊(duì)負(fù)責(zé)人丁博麟表示,“數(shù)據(jù)已成為重要的生產(chǎn)要素,而隱私保護(hù)計(jì)算是保障這一要素發(fā)揮作用的關(guān)鍵技術(shù)。通過開源最新聯(lián)邦學(xué)習(xí)框架,我們希望促進(jìn)隱私保護(hù)計(jì)算在研究和生產(chǎn)中的廣泛應(yīng)用,讓醫(yī)藥研發(fā)、政務(wù)互通、人機(jī)交互等數(shù)據(jù)密集領(lǐng)域更安全、更順暢地發(fā)展?!?/p>
Gartner 相關(guān)報(bào)告顯示,到 2025 年之前,約 60% 的大型企業(yè)預(yù)計(jì)將應(yīng)用至少一種隱私保護(hù)計(jì)算技術(shù)。達(dá)摩院 2022 十大科技趨勢同樣將隱私保護(hù)計(jì)算列為重要趨勢,認(rèn)為該技術(shù)將從覆蓋少量數(shù)據(jù)的場景走向全域保護(hù),從而激發(fā)數(shù)字時代的新生產(chǎn)力。