Efficient and Straggler-Resistant Homomorphic Encryption for Heterogeneous Federated Learning

Xmasker^_^發表於2024-03-09

為異構聯邦學習提供高效且抗掉隊者的同態加密技術(INFOCOM 24' (CCF A))

本文的結構和邏輯清晰,結構設定、文筆以及實驗設定和實驗分析都值得收藏和反覆學習!!!

摘要

同態加密 (HE) 被廣泛用於加密模型更新,但會產生很高的計算和通訊開銷。為了減少這些開銷,有人提出了打包 HE(PHE),將多個明文加密為一個密文。然而,PHE 的原始設計並沒有考慮不同客戶端之間的異質性(這是跨孤島 FL 中的一個固有問題),這往往會導致訓練效率降低,收斂速度變慢,出現掉隊者。
在這項工作中,我們提出了 FedPHE,這是一個高效打包的同態加密 FL 框架,具有安全的加權聚合和客戶端選擇功能,可解決異構性問題。

  1. 透過使用具有稀疏化功能的 CKKS,FedPHE 可以考慮區域性更新對全域性模型的貢獻,從而實現高效加密加權聚合
  2. 為了減輕落後效應,我們設計了一種基於草圖的客戶端選擇方案,以挑選具有異構模型和計算能力的代表性客戶端。

總結
本文的工作集中在三方面:
1. 使用打包同態加密以及稀疏化方法(使用打包密文和掩碼方式),降低了通訊量,提升了效率
2. 基於LSH草圖根據引數計算權重,實現密文下的加權聚合
3. 基於LSH草圖進行聚類,每個類中根據伺服器的歷史引數接收速度選出一個最快的客戶端作為下一輪參與聚合的客戶端,從而減輕掉隊者問題

引言

HE在執行計算密集型加密操作(例如,模乘法和多項式約簡)時會產生大量的計算和通訊開銷,並生成比輸入明文大得多的密文。
現有的 PHE 解決方案雖然有效 ,但在很大程度上忽略了參與客戶端的異質性 [18, 19],這是跨孤島 FL 的固有問題,使其難以在實踐中部署 。一方面,資料以不平衡的方式分佈在客戶端(稱為統計異質性),這往往會導致本地模型的差異,並對收斂行為產生不利影響。這樣,就需要執行額外的加密通訊,從而影響 FL 的訓練效率。另一方面,客戶端的計算能力和通訊頻寬可能各不相同(稱為系統異質性) 。這就導致了一個突出的落後問題,而計算密集 型的加密/解密操作又會進一步加劇這一問題, 從而大大減慢訓練進度。如果不解決客戶端異構問題,就無法充分發揮 PHE 的威力。

我們將我們的主要貢獻總結如下:

  • 我們提出了 FedPHE,這是一種高效、抗落後的異構客戶端同態加密 FL 框架。據我們所知,這是 首次嘗試實現安全客戶端選擇和加權聚合,以有效解決客戶端異構性帶來的挑戰,從而縮小隱私保護 FL 與實際應用之間的差距
  • 在 CKKS 的同態加密基礎上,FedPHE 實現了高效的加密加權聚合,考慮到了區域性更新對全域性模型的貢獻。為了最佳化資料傳輸效率,FedPHE 採用了資料包級稀疏化方法,解決了使用普通 CKKS 密文大小增加的問題。
  • FedPHE 利用本地更新的草圖以保護隱私的方式促進通訊效率高的客戶端選擇。透過聯合考慮資料分佈和資源可用性,FedPHE 將類似的客戶端聚類在一起,然後從每個聚類中挑選速度最快的客戶端,從而在不影響模型準確性的情況下有效緩解了落後問題。
  • 在真實資料集上的大量實驗表明,與最先進的方法相比,FedPHE將訓練速度提高了1.85 − 4.44×,將通訊開銷降低了1.24 − 22.62×,並將散兵遊勇效應減輕了1.71 − 2.39×,模型精度略有下降(僅為1.58%)。

預備知識和動機

預備知識

流行的 HE 方案包括 Paillier [27]、BFV [28] 和 CKKS [29],其中 Paillier 只允許對密文進行加法運算,而 BFV 和 CKKS 則同時支援加法和乘法運算。其中 BFV 僅支援整數運算, CKKS 支援實數運算。

動機

  1. 對密文進行加權聚合的必要性
    簡單地進行非加權彙總會導致全域性模型出現不理想的偏差,從而阻礙訓練的收斂性。更合適的方法是進行加權聚合,即根據客戶的貢獻(如資料大小或質量)分配不同的聚合權重,例如聯邦平均演算法根據資料量來進行加權聚合。
  2. 高效加密聚合的必要性
  3. 抵抗落後問題的必要性
  4. 選擇客戶端的必要性

FedPHE 的設計

總覽

具體來說,應實現以下理想目標:

  • 隱私保護。在聚合過程中應保護客戶端的隱私。也就是說,PS 不能洩露任何與單個客戶端有關的敏感資訊,而客戶端也不能訪問他人的任何隱私資料。我們假設 HE 金鑰對透過安全通道在客戶端之間共享,並且 PS 不會與任何客戶端串通 [14, 33]。
  • 效率。由於高計算量和通訊開銷使得 HE 難以在實踐中實現,因此我們希望它能在每一輪加密和傳輸本地模型時提高效率。
  • 抗落後效應。在客戶端異質性的情況下,它應能有效減輕落後者的負面影響,在不影響模型準確性的前提下加快訓練過程。

FedPHE 的通訊輪次如下步驟所述(示意圖見圖3):

  1. 本地訓練。在每一輪 \(t\) 開始時,每個客戶端 \(i\in N\) 都會按照公式(2)執行 \(E\) 步本地隨機梯度下降,以計算本地模型 \(w_i^t\)
  2. 帶稀疏化的打包加密。任何選定的客戶端 \(i\in \mathcal{S}^t\) 都會將本地模型 \(w_i^t\) 扁平化並打包成 \(\{\mathcal{P}_i^1, \cdots ,\mathcal{P}_i^K\}\),然後在包粒度上執行稀疏化;之後,它會對稀疏打包的本地模型進行加密,最後將密文 \(C_i^t\) 和掩碼 \(M_i^t\) 傳送給 PS 進行聚合;
  3. 加密加權聚合。PS 將收到的加密本地模型與加密權重聚合在一起,然後計算新的加密全域性模型 \(C^t\) 和掩碼 \(M^t\) 併傳送給所有客戶端;
  4. 解密和模型更新。每個客戶端對全域性密文進行解密和解包,以獲得全域性模型 \(w^t\),然後更新本地模型 \(w^t_{i,0} = w^t\)
  5. 繪製本地模型草圖。然後,每個客戶端 \(i\in N\) 計算並向 PS 傳送本地模型 \(h^t_i\) 的草圖;
  6. 透過聚類草圖選擇客戶端。PS 從 \(N\) 個客戶端中選擇一個子集 \(S^{t+1}\) 作為參與方,並根據其貢獻得出聚合權重 \(p^{t+1}_i\)

img

在每個全域性回合 \(t\) 中,只有選定的客戶端執行 PHE 和稀疏化,然後將加密的模型更新和掩碼(第 14-16 行)傳輸給 PS,但需要注意的是所有客戶端都需要上傳模型草圖。根據客戶端的貢獻,PS 進行加密加權聚合,並將結果傳送給所有客戶端(第 3-5 行)。解密和模型更新後,客戶端將其本地模型草圖傳送給PS(根據草圖選擇下一輪參與的客戶端和權重)(第 17-19 行)。然後,PS 會選擇一個客戶端子集作為下一輪的參與者 \(\mathcal{S}^{t+1}\)(第 6-8 行)。

FedPHE演算法細節如下:

img

貢獻感知加密加權聚合

為適應客戶端的異質性,聚合權重根據區域性更新對全域性模型的貢獻進行調整,如演算法2
img

基於CKKS的PHE

一方面,CKKS 可以直接在向量上對實數進行加密,而 Paillier 和 BFV 將整數作為輸入明文,這就需要對浮點數進行量化。這提升了加密和解密操作的效率。另一方面,CKKS 支援同態乘法,因此適合在異構跨孤島 FL 下實現安全的加權聚合。相比之下,Paillier 只支援同態加法,而 BFV 在加密後對量化整數進行乘法運算時可能會遇到溢位問題。
注意:伺服器的權重也是加密的。客戶端上傳的引數也是加密的。因此使用乘法同態可以直接把加密權重和加密引數乘起來。

包級稀疏化

img
在這種情況下,PS 可以根據資料包的掩碼對密文進行對齊,也就是說,稀疏性粒度是在資料包層面上的稀疏化率s%是提前給定的,依此來計算掩碼
需要注意的是:在異構場景中,客戶端的模型更新是本地加權的,這種針對 CKKS 的稀疏化技術同樣可以進一步應用於提高 Paillier 和BFV 的效率。

貢獻感知加權聚合

為適應客戶端的異質性,PS 會將選定客戶端的加密本地更新聚合在一起,並根據其對全域性模型的貢獻進行加密加權。客戶端 \(i\) 的貢獻是使用這一輪的草圖和上一輪草圖的相似度(碰撞機率)衡量的。
區域性敏感雜湊(LSH)[35]已被廣泛用於許多應用中,以近似Jaccard相似性。根據 [36] 的觀點,較低的相似度意味著較高的推理損失,可能會取得更好的效能提升。
注意:伺服器負責計算被選中客戶端的權重。資料在伺服器是加密的,所以伺服器是使用LSH近似計算JS,因此 演算法2 的權重計算實際上需要全部客戶端提前上傳草圖(透過LSH進行雜湊)。

\[\Pr_{\mathcal{H}}(h_{i}^{t-1}=h_{i}^{t})=JS(w_{i}^{t-1},w_{i}^{t}),\tag{4} \]

\[p_i^t=\frac{\exp(-\beta\cdot JS(w_i^{t-1},w_i^t))}{\sum_{j\in\mathcal{S}^t}\exp(-\beta\cdot JS(w_j^{t-1},w_j^t))}.\tag{5} \]

其中\(\beta\)是一個正數,用於修正指數函式的曲線。

從選定的客戶端 \(\mathcal{S}^t\) 處接收密文 \(\{C^t_1 , \cdots , C^t_{\mathcal{S}_t} \}\) 和掩碼 \(\{M^t_1 , \cdots , M^t_{\mathcal{S}_t}\}\) 後,PS 執行加密加權聚合以獲得全域性模型,即
$$\boldsymbol{E}(\boldsymbol{w}{t+1})=\sum_{i\in\mathcal{S}t}\boldsymbol{E}\left(p_it\right)\times\boldsymbol{E}\left(\boldsymbol{w}_it\right),\tag{6}$$

其中 \(E(p^t_i)\) 表示分配給客戶端 \(i\) 的加密權重。基於 CKKS 的同態乘法,方程(6) 中的這種聚合相當於對明文進行加權聚合,然後對結果進行加密,即

\[\boldsymbol{E}(\boldsymbol{w}^{t+1})=\sum_{i\in\mathcal{S}^t}\boldsymbol{E}\left(p_i^t\times\boldsymbol{w}_i^t\right).\tag{7} \]

加密後的全域性模型 \(\mathcal{C}^t\) 和掩碼 \(\mathcal{M}^t\) 隨後會分發回所有客戶端進行解密和模型更新。我們在 演算法2 中總結了 FedPHE 如何進行貢獻意識加密加權聚合。

基於草圖的客戶端選擇

問題:不同客戶端可能傳送相似或相關的模型更新給伺服器,這會導致不必要的通訊開銷
具體來說,在每一輪中,客戶端計算並向 PS 傳輸模型更新的草圖,然後PS 將相似的草圖聚類,並從每個聚類中選擇速度最快的客戶端。主要步驟總結如 演算法3 所示。

img

對每個客戶端的展平引數求區域性敏感度雜湊

具體而言,LSH 是函式 \(\mathcal{F}\) 的一個族 \(\mathcal{H}\colon\mathbb{R}^d\to\mathbb{S}\),其特性是如果兩個輸入在原始資料空間中相似,那麼經過雜湊轉換後也會有很高的相似度。我們利用 LSH 函式的特性,在兩個輸入具有相同雜湊程式碼的情況下,在碰撞過程中表示輸入有更高的相似性。

對所有草圖聚類

先計算出最佳的聚類數量再對客戶端的更新進行聚類,聚類數是動態變化的,但最高不會超過提前設定的閾值。

可以透過 K-means 將客戶端聚類為 \(C\) 個類別 \(\{\mathcal{A}^t_1 ,\cdots, \mathcal{A}^t_\mathcal{C}\}\),其中同一類別中的客戶端具有相似的草圖。而有相似的草圖意味著本地模型相似。那麼伺服器從每個聚類中選擇一個客戶端,這樣所有參與的客戶端就的本地更新都不相似,這樣就減少了不必要的通訊開銷。此外,從每個聚類中選擇客戶端不是隨機選的,而是要保證效率,選擇歷史上上傳最快的(根據歷史上伺服器接收到該客戶端上傳引數的次序確定該客戶端被選擇的優先順序,最終選擇每個聚類中優先順序最高的客戶端)。

安全性分析

在本文中,我們 假定 PS 不會與任何客戶端串通,PS 和客戶端都是誠實但好奇的,這是 FL 文獻中廣泛採用的威脅模型 [40]。

定理 1. 誠實但好奇的伺服器無法推斷出客戶端的任何隱私資訊。
證明. 在提議的 FedPHE 中,由於接收到的本地更新在傳輸前已加密,因此 PS 只能訪問密文。因此,PS 無法推斷客戶端的資料和本地模型。

定理 2. 誠實但好奇的客戶端無法竊聽他人的任何隱私資訊。
證明. FedPHE 開始時,PS 和客戶端會建立安全的 HTTPS 連線,使用 TLS/SSL 協議對傳輸的資料進行加密,確保攻擊者無法訪問資料。

定理 3. 通訊中傳輸的草圖和掩碼不會洩露客戶端的隱私。
證明. 在 LSH 中,矩陣 \(\mathcal{M}\) 由秘密共享種子 \(s\) 生成,用於將引數對映為加密形式。掩碼暗示的是一個包,而不是一個標量,不會洩露隱私。攻擊者不知道種子 \(s\),只能透過猜測來推斷矩陣 \(\mathcal{M}\)

實驗

實驗設定(平臺和引數)

使用 Pytorch 在配備 NVIDIA GeForce RTX 3060 Ti GPU 的戴爾伺服器上進行評估。考慮跨孤島 FL 場景,其中 \(N = 8\) 個客戶端協同訓練一個模型。我們研究了 Dirichlet Non-IID 資料設定(\(\alpha = 1\))的客戶端異質性,與 [41] 類似。我們使用 TenSEAL [42] 實現了 BFV 和 CKKS,並將它們的多模度設定為 \(8192\)為了模擬落後者的存在,我們隨機選擇 \(25\%\) 的客戶端作為落後者,並引入 \(2\sim 5\) 輪訓練時間的人為延遲。批次大小為 \(B = 64\),學習率為 \(\eta = 10^{-3}\)。LSH 雜湊函式的數量為 \(k = 200\)

資料集和模型

我們在三個真實資料集上對結果進行了評估:MNIST [43]、FashionMNIST [44] 和 CIFAR- 10 [45]。其中,我們將 MNIST 和 FashionMNIST 分成 60,000 個訓練資料和 10,000 個測試資料。對於 CIFAR- 10,我們分別使用 50,000 和 10,000 幅影像作為訓練資料和測試樣本。MNIST 採用了直接的 LeNet-5 神經網路架構[43]。對於 FashionMNIST,我們使用了一個包含 2 個卷積層和 1 個全連線層的 CNN 模型。在 CIFAR-10 資料集上的實驗採用了 ResNet-20 模型[46]。

Baseline

為了驗證所提出的FedPHE,我們引入了以下聯邦學習演算法進行比較。

  • 明文:計算和通訊開銷的理想上限,引數傳輸和加權聚合在明文中進行。
  • BatchCrypt:基於 Paillier 的 PHE [14],客戶端首先量化,然後打包和加密模型更新,而 PS 對密文進行聚合。
  • PackedBFV:基於 BFV 的 PHE [28],由於 BFV 僅支援整數運算,因此在加密之前,還需要對模型更新進行量化和加權。
  • PackedCKKS:基於CKKS的PHE[29],利用CKKS的密文乘法,促進PS端的加密加權聚合。
  • FedAvg:聯邦平均 [31],其中 PS 隨機選擇客戶端子集進行聚合。
  • FLANP:具有自適應客戶端參與的落後彈性 FL [47],它從較快的客戶端開始訓練過程,並在達到當前參與者資料的準確性後逐漸包括較慢的客戶端。

本文的結構和邏輯清晰,結構設定、文筆以及實驗設定和實驗分析都值得收藏和反覆學習!!!

相關文章