SAFEFL: MPC-friendly Framework for Private and Robust Federated Learning適用于私有和魯棒聯(lián)邦學習的 MPC 友好框架
SAFEFL,這是一個利用安全多方計算 (MPC) 來評估聯(lián)邦學習 (FL) 技術在防止隱私推斷和中毒攻擊方面的有效性和性能的框架。
概述
傳統(tǒng)機器學習(ML):集中收集數(shù)據(jù)->隱私保護問題
privacy-preserving ML (PPML)采用的隱私保護技術:安全多方計算,同態(tài)加密(運算成本高)
聯(lián)邦學習(FL):用戶本地訓練模型,中心聚合器組合結果來更新模型
易受2種攻擊:1)隱私推斷攻擊 2)中毒攻擊
- 隱私推斷攻擊
破壞模型聚合器的對手試圖從更新的本地模型/梯度中推斷有關用戶隱私數(shù)據(jù)的敏感信息。
對策:安全聚合(SA)技術。用戶將加密的本地更新發(fā)送到聚合器,聚合器只能訪問組合的更新而不是單獨的更新。
- 中毒攻擊
腐敗用戶創(chuàng)建欺詐模型并將其發(fā)送到聚合器以操縱訓練過程。
1)降低模型的準確性,使其無效。2)包含一個后門,當輸入中存在特定觸發(fā)器時,該后門會改變其預測。
對策:魯棒的聚合方案。目標是從聚合中丟棄可能損壞的本地模型或使用各種評分措施將其影響最小化。
現(xiàn)有問題:不能同時應對這兩種攻擊
矛盾性:魯棒聚合方案與安全聚合之間的沖突,魯棒聚合方案需要對每個更新進行單獨分析,安全聚合僅揭示聚合聯(lián)合模型而不允許單獨分析。
成本高:計算要求較高,與無隱私變體相比會產生顯著的運行時開銷,并且假設腐敗模型較弱。
SAFEFL – 基于 MPC(multi-party computation) 的框架。
-用于評估魯棒聚合技術對抗中毒攻擊的有效性,同時還檢查引入模型隱私的開銷(通信和運行時)。
采用分布式聚合器<-MPC實現(xiàn)分布式聚合器<-MP-SPDZ框架實現(xiàn)MPC
-中央聚合器。受攻擊后影響大,即使安全聚合到位,F(xiàn)L 隱私也可能受到損害。
-分布式聚合器。用戶在兩個或多個服務器上安全地分發(fā)本地更新,這些服務器使用交互協(xié)議私下計算聚合函數(shù)。
矛盾性:i)MP-SPDZ :連續(xù)安全計算 ii)FL :安全聚合與本地用戶訓練交織在一起
解決:
-通信器接口,通過擴展 MP-SPDZ 中提供的ExternalIO 庫,連接廣泛使用的開源機器學習框架 PyTorch和 MP-SPDZ
-此功能使我們能夠輕松評估魯棒聚合協(xié)議在不同 MPC 設置中的有效性和性能,從而促進更高效協(xié)議的開發(fā)。
開源代碼(github上的)
https://encrypto.de/code/SAFEFL (論文給出的地址但訪問不了)
SAFEFL 由兩個模塊組成:模型訓練和聚合,以及連接它們的通信器接口
FLTrust代碼
X. Cao, M. Fang, J. Liu, and N. Z. Gong, “FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping,” in NDSS, 2021, https://people.duke.edu/~zg70/code/fltrust.zip.
該代碼包括基本的 FL 設置及其在 Apache MXNet 中實現(xiàn)的穩(wěn)健聚合方法,以及 Trim 中毒攻擊的實現(xiàn) 。
拜占庭byzantine.py
定義了兩種不同的聯(lián)邦學習中的模型中毒攻擊策略,no_byz 是一個不做任何修改的策略,而 trim_attack 是一個針對trimmed-mean聚合方法的對抗性攻擊策略。
no_byz 函數(shù)表示沒有拜占庭錯誤的情況,即所有客戶端都是誠實的。而 trim_attack 函數(shù)則模擬了一種拜占庭錯誤,其中前 f 個客戶端是惡意的,他們通過發(fā)送特定的對抗性更新來嘗試破壞整個模型的聚合過程。
fltrust代碼nd_aggregation.py
定義了一個名為 fltrust 的函數(shù),用于在聯(lián)邦學習環(huán)境中處理拜占庭錯誤。
FLTrust 函數(shù)通過計算客戶端梯度與服務器更新之間的余弦相似度,并使用這些相似度作為權重來調整客戶端的梯度,從而提高了聯(lián)邦學習系統(tǒng)對拜占庭錯誤的魯棒性。通過這種方式,函數(shù)試圖減少惡意客戶端對全局模型更新的影響。
test_byz_p.py
代碼是一個使用MXNet實現(xiàn)的聯(lián)邦學習框架的入口點。它定義了如何初始化模型、數(shù)據(jù)集、訓練過程和拜占庭容錯機制。
Model Training Module 模型訓練模塊-- PyTorch
基于 PyTorch 的模塊負責代表用戶執(zhí)行本地模型訓練。使用 FLTrust 的公開代碼作為起點。
使用模型訓練模塊對 SAFEFL 中的模型進行本地訓練后,下一步是使用 MPC 技術在分布式聚合器設置中執(zhí)行私有且穩(wěn)健的聚合。可以使用 MP-SPDZ 框架上運行的聚合模塊來執(zhí)行此聚合。
Aggregation Module 聚合模塊 – MP-SPDZ(連續(xù)安全計算)
該模塊利用 MP-SPDZ 中實現(xiàn)的 MPC 協(xié)議執(zhí)行分布式安全聚合。
我們選擇 FLTrust 作為 SAFEFL 中采用的私有且穩(wěn)健的聚合方案的最佳候選者。這是因為它是 DnC、FLAME 和 FLTrust 三種方案中對 MPC 最友好的。最佳魯棒聚合方案。
對于 FLTrust,我們允許 PyTorch 中的可信用戶(可以是用戶或 MPC 服務器)在根數(shù)據(jù)集上訓練服務器模型。 MPSPDZ 用于計算信任分數(shù)并聚合最終模型。
我們還實現(xiàn)了 FedAvg 聚合方案,作為估計添加穩(wěn)健聚合的成本開銷的基準。我們從 FedAvg 中刪除了用戶數(shù)據(jù)大小的權重,以提高其效率并減少數(shù)值錯誤。
Communicator Interface 通信器接口
由于MP-SPDZ中使用的協(xié)議是為連續(xù)安全計算而設計的,因此它們必須在虛擬機上編譯和執(zhí)行。另一方面,F(xiàn)L 中的訓練需要在本地訓練之間交叉調用安全聚合。
我們在 SAFEFL 中創(chuàng)建了一個通信器接口,支持 PyTorch 和 MP-SPDZ 庫之間的雙向通信
我們利用此通信器將本地訓練模型的秘密共享從 PyTorch 安全地傳輸?shù)?MPSPDZ 中的 MPC 服務器,這些服務器使用指定的 MPC 協(xié)議計算聚合,并將聚合模型返回到 PyTorch 以進行下一次訓練迭代。
我們的起點是 MP-SPDZ 提供的 Banker Bonus 示例,它解決了最多 8 個用戶的 Yao 百萬富翁問題 。
在此示例中,MPC 服務器在指定端口上偵聽用戶并接受來自用戶側接口的連接。當所有用戶都連接時,計算開始,計算完成后關閉連接。
此外,連接通過 SSL 進行保護,并且在啟動時生成所需的密鑰和證書。
在 SAFEFL 中,我們擴展了 MP-SPDZ 用戶界面以發(fā)送任意數(shù)量的數(shù)據(jù),并將用戶集成到 PyTorch 中,以將秘密共享的本地模型發(fā)送到 MPC 服務器并檢索聚合模型。為簡單起見,我們讓 PyTorch 作為單個用戶運行,使用 MPC 服務器分發(fā)所有本地模型。然而,這可以簡單地擴展,以便每個用戶單獨連接。
進行的實驗測試評估
基準測試環(huán)境。所有實驗均在 16 核機器上運行,1 配備 2.8 GHz Intel Core i9-7960X 處理器和 128GB RAM,運行 Linux。我們通過帶寬 10Gbps 和往返時間 (RTT) 1ms 的 LAN 設置進行評估
通過SAFEFL實施了廣泛的FL 中毒攻擊,并對各種穩(wěn)健的聚合方案和報告準確性進行了全面評估。
FL中毒攻擊:實現(xiàn)了 7 種中毒攻擊和 14 種不同的聚合方案
準確性評估:評估由 30 個用戶組成(與 HAR 數(shù)據(jù)集一致),模型訓練進行了 2,000 次迭代,假設惡意損壞率為 20%。我們選擇的攻擊涵蓋了 FL 中的數(shù)據(jù)中毒和模型中毒攻擊。
準確性評估結果:以下三種穩(wěn)健的聚合方案——DnC 、FLAME 和 FLTrust 的準確率始終比簡單的 FedAvg 在沒有攻擊的情況下所能達到的準確率低至多 0.05 ,即 0.97。
使用針對各種設置定制的多個MPC 協(xié)議來評估FLTrust 中穩(wěn)健聚合方案的私有實現(xiàn)的計算和通信開銷。
使用MPSPDZ聚合模塊評估 FLTrust 和 FedAvg 的私有變體的通信和運行時成本。
使用四種不同的 MPC 協(xié)議在 64 位環(huán)上運行,以滿足不同的設置。
使用 MP-SPDZ 在各種 MPC 設置中進行 50 次迭代的 FLTrust 和 FedAvg 隱私保護實現(xiàn)的通信(以 GB 為單位的通信)和計算(以小時為單位的時間)成本。
結果:對應于底層 MPC 協(xié)議的復雜性,誠實的多數(shù)優(yōu)于不誠實的多數(shù),惡意安全比半誠實安全更昂貴。當在具有惡意安全性的更強的不誠實多數(shù)設置中從 FedAvg 遷移到 FLTrust 時,我們觀察到通信量提高了約 16 倍,運行時間提高了約 3.6 倍。 雖然在惡意誠實多數(shù)設置中的通信也觀察到類似的趨勢,但運行時的開銷減少到約 1.5 倍。
觀察結果表明,應做出更多努力來彌合溝通差距,以使私人和穩(wěn)健的聚合計劃更加可行。
SAFEFL框架相關工作
論文還介紹了安全多方計算(MPC),聯(lián)邦學習(FL)中的中毒攻擊例子(4種),聯(lián)邦學習(FL)中的魯棒聚合方案(13種)文章來源:http://www.zghlxwxcb.cn/news/detail-855577.html
未來工作:增強兼容性,適用于更多的MPC框架文章來源地址http://www.zghlxwxcb.cn/news/detail-855577.html
到了這里,關于SAFEFL: MPC-friendly Framework for Private and Robust Federated Learning論文閱讀筆記的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!