天天看點

縱向聯邦學習在微信聯合模組化場景的實踐與優化

作者:閃念基因

1. 背景

  随着大資料的不斷發展,資料帶來價值越來越大的同時,資料洩漏的風險也在增大。是以如何在滿足資料隐私、安全和監管要求的前提下,使用一個合理的機器學習架構,讓人工智能系統能夠更加高效和準确的使用資料打破資料孤島是目前一個重要課題。在該背景下,為了實作“資料可用不可見”的目标,聯邦學習應運而生,各方之間通過加密機制下的參數交換方式聯合資料建立共有模型,實作自有資料不出本地情況下的模型建構。

  在政策方面,《十六部門關于促進資料安全産業發展的指導意見》中提到,加強核心技術攻關。推進新型計算模式和網絡架構下資料安全基礎理論和技術研究,支援後量子密碼算法、密态計算等技術在資料安全産業的發展應用。優化更新資料識别、分類分級、資料脫敏、資料權限管理等共性基礎技術,加強隐私計算、資料流轉分析等關鍵技術攻關。研究大資料場景下輕量級安全傳輸存儲、隐私合規檢測、資料濫用分析等技術。推動先進适用資料安全技術産品在電子商務、遠端醫療、線上教育、線上辦公、直播新媒體等新型應用場景,以及國家資料中心叢集、國家算力樞紐節點等重大資料基礎設施中的應用。推進安全多方計算、聯邦學習、全同态加密等資料開發利用支撐技術的部署應用。

  根據資料樣本空間與特征空間的不同分布模式,聯邦學習一般分為三類:縱向聯邦學習,橫向聯邦學習和聯邦遷移學習。縱向聯邦學習适用于樣本重疊較多而特征重疊較少的情況,實際業務中也主要以業務缺少使用者描述為主,是以後文将圍繞縱向聯邦學習展開介紹;第二類是橫向聯邦學習,适用情況跟縱向剛好相反,特征重疊較多而樣本重疊較少,這種情況下參與方隻須本地計算模型梯度,然後通過伺服器端采用聯邦安全聚合梯度的方式來更新模型。第三類是聯邦遷移學習,這種學習模式适用于樣本和特征都重疊較少的情況。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

  業務應用中,我們團隊主要落地縱向聯邦學習,為不同部門間資料合作提供聯邦學習能力,實作資料不流通但資料價值流通。主要包含三方面的工作,分别是架構效率優化、聯邦算法開發及應用,聯邦學習能力的平台化。

2. 縱向聯邦學習架構的優化與實踐

  一般聯邦學習模組化流程主要包括安全樣本對齊和聯邦機器學習訓練(如樹模型和神經網絡模型)。聯邦學習架構上,我們選擇了騰訊公司自研的聯邦學習架構PowerFL,并且在應用過程中優化了安全樣本對齊和通過優化半同态加密算法效率進而優化機器學習算法的效率,同時針對某些應用場景對模型穩定性的要求,團隊将之前使用對抗學習優化模型穩定性的方法聯邦化,這些優化的工作也已經合并到公司的聯邦學習架構中,且這些優化的實作不局限于具體架構,同時為友善BG内其他團隊使用聯邦學習,我們也把聯邦學習的能力內建到WXG的機器學習平台Adams,以下展開介紹:

2.1. 縱向聯邦學習的優化

  在聯邦模組化過程中,為了保證資料的安全性,需要對資料進行加密,其中同态加密是模組化訓練中應用最廣泛的一種方案。但是同态加密的計算效率很低,如何優化該算法成了模組化過程中一項非常重要的工作。為此,我們開展了Pailler同态加密的優化工作,也取得了較好的性能提升,并應用在實際的業務模型中,如騰訊公司PowerFL架構中的聯邦GBDT模型。除此之外,安全樣本對齊是聯邦模型訓練的前置步驟,我們也開展了該算法的優化工作,研究了基于k-out-of-n OT的安全樣本對齊,性能較OPRF的安全樣本對齊有明顯的提升。關于底層架構的優化工作,下面詳細論述在Paillier同态加密解密加速優化這一塊的工作。

  對明文資料經過同态加密後,在密文空間下進行若幹次邏輯計算得到密文輸出,将該輸出進行解密,其結果與用相同邏輯計算未加密的原始資料得到的輸出結果是相同的。以Paiilier算法為例,假設有兩個明文、,經過Paillier算法加密後分别為、,其中為解密算法, 為常數:

  根據支援的計算類型和計算次數,可以将同态加密分為以下幾類:

  • 全同态加密(Fully Homomorphic Encryption, FHE):支援任意次數的加法和乘法運算;
  • 部分同态加密(Somewhat Homomorphic Encryption, SWHE):可以同時支援加法和乘法運算,但僅支援有限次數的計算;
  • 半同态加密(Partially Homomorphic Encryption, PHE):隻支援加法或乘法中的一種運算。

  自從同态加密概念在1978年首次提出,學術界湧現出了多個PHE的方案,如RSA、GM[1]、Elgamal[2]和Paillier[3]。SWHE方案也相繼問世,如BGN[4]。然而對于FHE的實作,學術界在相當長的時間都一直沒有确切有效的方案。直到2009年,首個FHE方案由Gentry利用理想格實作了,轟動了整個學術界,并激起了學術界研究FHE方案的熱潮。然而,在現有的FHE方案中普遍存在效率、安全性缺陷。FHE在計算有限次乘法後需要較複雜的去除噪聲的操作,而PHE方案如典型的Paillier算法的高效、支援無限次加法和數乘的特點,使其在很多領域發揮着極其重要的作用,作為底層基礎算法可協助完成多種隐私計算任務,尤其是在聯邦學習領域,如聯邦GBDT、LR、DNN等均會應用到paillier半同态加密算法。

2.1.1. Paillier原理介紹

  Paillier加密算法是1999年paillier發明的機率公鑰加密算法。基于複合剩餘類的困難問題。該加密算法是一種同态加密,滿足加法和數乘同态,已經廣泛應用在加密信号處理、第三方資料處理、聯邦學習大部分模型算法等各個領域。Paiilier加密算法以數論為理論基礎,完成密鑰對生成、公鑰加密、私鑰解密、密文計算這些步驟,通過嚴格的數學推導,來保證算法的安全性及正确性。

密鑰對生成

  1. 随機選擇兩個獨立的大素數和,滿足,且和長度相等;
  2. 計算, ,其中表示最小公倍數,表示n的比特長度;
  3. 随機選取整數 ,一般可取 ,計算速度更快;
  4. 確定滿足存在,其中;
  5. 得到公鑰 ,私鑰λμ;

公鑰加密

  1. 輸入明文消息,滿足;
  2. 選擇随機數, 滿足,且 ;
  3. 計算密文

私鑰解密

  1. 輸入密文c,滿足
  2. 計算明文消息

密文計算

  1. 同态加法:對于密文和,計算同态加結果;
  2. 同态數乘:對于密文和标量,計算同态數乘結果。

正确性:

  • 加解密正确性:因為

    是以 由費馬小定理可得 同理可得 可得 可得 即 是以 由二項式定理有是以有 ,正确性得證。

  • 同态加正确性:
  • 同态數乘正确性:

安全性:

  Paillier算法安全性可以等價歸約到判定性合數剩餘假設(Decisional Composite Residuosity Assumption, DCRA),即給定一個合數和整數,判定是否在下是否是次剩餘是困難的。這個假設經過了漫長的學術研究,到目前為止還沒有多項式時間的算法可以攻破,尤其是當密鑰長度足夠長的時候,計算破解幾乎是不可能的。

2.1.2. Paillier加解密優化

  Paillier方案本身提出了一個變體算法Scheme3,與原始方案Scheme1相比效率更優[3]。對于Scheme3,在密鑰生成過程中,從簡化剩餘系中選取一個階為的群元素,其中是一個明顯小于的整數。

Scheme3加密算法:

Scheme3解密加速算法:

  對于 320 位的,解密涉及非固定基模幂運算,指數僅為 320 位。是以,解密算法比Scheme 1的Paillier方案快數倍。

螞蟻團隊解密加速算法:

  基于簡化剩餘系Z_N^∗某些子群的結構,将随機化空間降低到原來一半,解密快4.1倍[5]。

進一步解密加速:

  在解密階段,與Scheme 3中非固定基模密運算中及阿裡螞蟻團隊基于中的子群結構不同的是,該解密優化通過優化分解同餘方程,降低模指數空間,來提升模密運算的計算速度,進而使解密算法計算更快。

算法應用

  與現有方案相比,解密性能可以提升1倍以上,優化後的解密應用到xgb的性能提升如下所示。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

2.2. 縱向聯邦學習算法開發及在業務中的實踐

  在很多模組化場景裡,标簽表現期往往需要半年甚至更長的時間,進而隻能使用過去的資料進行模組化,而應用時點卻是現在以及将來。這就會引出一個風險,随着模組化與應用時點間隔時間越長,資料變化導緻模型預測值在這兩個時刻的分布差異就有可能越大,進而影響到下遊使用。

2.2.1. 傳統模組化方式

  常用于衡量模型穩定性的名額是群體穩定性名額(Population Stability Index, PSI)[6],該名額基于分檔後的目标值,對每檔中期望樣本與實際樣本的分布差異進行統計,最終得出兩樣本之間的分布差異評分:

其中,為目标值的分檔數,為第檔的期望樣本占比(即模組化時刻的樣本模型預測值在該檔的比例),為第檔的真實樣本占比(即目前時刻的樣本模型預測值在該檔的比例)。一般而言,會根據PSI的不同取值對模型采取不同的操作:

PSI推論操作小于0.1分布變化不明顯無需對模型進行操作0.1~0.25分布有些許變化檢查PSI以外的監控名額大于0.25分布已發生遷移重新開發模型

  是以為了保證縱向聯邦模型的預測值分布穩定,我們會計算每一個特征的PSI值,并根據預先設定的門檻值對高PSI的特征進行過濾,再利用剩下的特征建構縱向聯邦模型。這種方法能夠在衆多特征中篩選出相對穩定的部分,進而基于這些穩定特征訓練的模型也會更穩定。但在實踐中發現,如果特征衍生不夠充分,就會導緻特征篩選這一步丢失資訊,導緻最終模型的預測能力下降。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

2.2.2. 基于對抗學習優化縱向聯邦模型穩定性

  由于PSI名額無法作為目标函數的一部分直接優化,是以我們換一種方式去對模型穩定性進行描述。因為目标值越穩定,表示目标值在時序上的分布差異越小,也就是說越無法通過目标值的大小來判斷其真實所在的時刻,反之亦然。是以我們可以采用目标值對所處時刻識别的準确度作為衡量穩定性的名額。進而結合對抗學習,我們就能實作把特征衍生、特征篩選和模型建構三個步驟同時放到一個模型:編碼器實作特征的自動衍生,判别器實作對衍生特征中的不穩定部分進行過濾,而分類器則努力地讓衍生特征具備更強的分類能力。最終三個網絡達到一個動态的平衡,編碼器衍生出的特征在盡可能保留目标預測能力的同時也相對更穩定,而基于這些衍生特征訓練的模型也就實作了“在盡可能不影響模型預測能力的同時提高模型穩定性”的目标。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

其中,為原始特征,為編碼器Encoder生成的衍生特征,為客群變量,為原始特征所處的時刻,也是判别器Discriminator努力識别的目标,而則是分類器Classifier要預測的目标。模型目标函數如下[7]:

  在縱向聯邦模型SplitNN結構中,可在圖中1~4的位置任意可選擇增加判别器,進而實作不同穩定性的需求。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

算法應用

  與傳統方案相比,基于對抗學習實作的新模型效果提升5.6%,而PSI僅為基準模型的14%。

2.3. 縱向聯邦學習能力在機器學習平台的內建

  為友善BG内其他團隊使用聯邦學習開展資料合作,我們也把聯邦學習的能力內建到WXG的機器學習平台Adams。

  與正常機器學習任務不一樣,由于聯邦學習涉及到多方參與,如何管理任務授權、工作流啟停和參數設定等問題,對聯邦學習的可用性會産生很大影響。在平台還未支援的時候,我們經常會遇到,一方任務失敗另一方任務一直運作等待,兩方任務因為參數不一緻導緻影響效果等問題,這也推動了平台相關的建設。

任務授權

  隻要各參與方都在平台上建立聯邦工作流,然後在節點參數中互相填寫對方的“聯邦關聯節點”,這就完成了節點授權,就能啟動相應聯邦任務。下面以兩方聯邦模組化為例,其中一方填寫參數如下:

縱向聯邦學習在微信聯合模組化場景的實踐與優化

由于參與方在不同的項目,是以互相間無法檢視以及編輯。

工作流啟停

  平台初期,聯邦任務的啟動需要各方先手動運作自己相應的任務,這樣才能建立通信開始運作。同時,如果出現其中一方失敗,需要拉群告知對方一起重新開機任務。這導緻聯邦學習任務的可用性很低,是以我們重新設定了聯邦學習任務的運作機制,隻用其中一方拉起任務,其他參與方的任務就會自動啟動運作;一方任務失敗,就是自動停止其他參與方的任務。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

參數設定

  由于任務的參數很多,如果參與方間填寫不一緻,很容易導緻聯邦任務失敗或者産生影響模型效果的事情發生。是以除了完善授權和同步啟停等功能外,我們還引入了參數自動複制拷貝的功能。聯邦節點兩兩關聯後,最後點選儲存工作流的一方,會把自己節點裡面配置的共享參數全部同步至其他參與方,這樣就確定了聯邦節點間的參數不會沖突。

縱向聯邦學習在微信聯合模組化場景的實踐與優化

3. 總結

  綜上介紹,我們圍繞縱向聯邦學習中的,安全樣本對齊、聯邦特征工程和聯邦模組化,做了效率和效果上的優化,這些優化的工作也已經合并到公司的聯邦學習架構PowerFL,這些優化的實作不局限于具體架構,對其他架構也有參考意義,另外,我們也把聯邦學習的能力內建到WXG的機器學習平台Adams。

  隐私計算是一個充滿挑戰的方向,權衡安全性與計算性能,我們正在招聘有志于探索隐私計算的人才,一起研究和應用最先進的隐私計算技術,開創資料價值流通的新局面。

4. 參考資料

[1] Shafi G, Silvio M. Probabilistic encryption & how to play mental poker keeping secret all partial information[C]//Proceedings of the 14th Annual ACM Symposium on Theory of Computing. 1982: 365-77.

[2] ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms[J]. IEEE transactions on information theory, 1985, 31(4): 469-472.

[3] Paillier P. Public-key cryptosystems based on composite degree residuosity classes[C]//International conference on the theory and applications of cryptographic techniques. Springer, Berlin, Heidelberg, 1999: 223-238.

[4] Boneh D, Goh E J, Nissim K. Evaluating 2-DNF formulas on ciphertexts[C]//Theory of cryptography conference. Springer, Berlin, Heidelberg, 2005: 325-341.

[5] Ma H, Han S, Lei H. Optimized paillier’s cryptosystem with fast encryption and decryption[C]//Annual Computer Security Applications Conference. 2021: 106-118.

[6] Yurdakul B. Statistical properties of population stability index[M]. Western Michigan University, 2018.

[7] Ganin Y, Ustinova E, Ajakan H, et al. Domain-adversarial training of neural networks[J]. The journal of machine learning research, 2016, 17(1): 2096-2030.

作者:微信大資料團隊

來源:微信公衆号:微信背景團隊

出處:https://mp.weixin.qq.com/s/h3ZE03rGF6rTEsWmZy0T7Q

繼續閱讀