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