首頁>科技>

機器學習的普及和成功推動了雲平臺提供機器學習模型訓練的服務。雲環境下,客戶將需要訓練的資料上傳到雲平臺中,雲平臺訓練好模型後返回給客戶。

同態加密(HE)是一項允許對加密資料進行計算的技術,它將為雲環境下的機器學習模型訓練提供資料隱私安全保障。使用同態加密,客戶上傳加密後的訓練資料,雲平臺在加密後的資料上訓練及生成加密的機器學習模型,只有客戶才能對其進行解密。

在2020年密文計算和應用同態密碼學研討會上,亞馬遜研究人員發表了一篇論文,探討了同態加密在邏輯迴歸中的應用。邏輯迴歸是一種普世的統計模型,可以用於從基因分析到稅收合規性的機器學習資料分析中。該論文展示了在加密資料上訓練邏輯迴歸模型的速度是先前工作的六倍。

同態加密

同態加密提供了一個應用程式程式設計介面(API),用於提供在加密資料上計算的功能。我們將訊息稱為m,將加密後的資料表示為在其周圍加上一個框。該API中提供同態加法和乘法的操作。輸入的是加密資料,而輸出是對明文值的和或乘積的加密。如下圖:

函式f代表任意計算,帶有^符號的ƒ表示的是同態計算的電路,是一個算術電路。該電路使用加法電路和乘法電路表示。如下圖所示。給定ƒ-^和加密的輸入,同態計算演算法eval會對輸入的加密資料計算並且輸出加密的結果。如下圖:

例如,要計算ƒ(x)= x4+ 2,我們可以表示成如下電路進行計算:

這是一個乘法深度為3的電路。

乘法深度

計算的效率取決於乘法電路的深度,即沿著電路的任何路徑的最大乘法數。在上圖中,ƒ-^的乘法深度為3,因為有一條路徑包含3個乘法,但沒有路徑包含3個以上的乘法。但是,這不是計算ƒ(x)= x4 + 2的最有效電路。相反,請考慮如下電路:

該電路依然是計算x4 + 2,但乘法深度僅為2。因此,計算更有效。

同態加密模型訓練

下面,我們將看到同態加密如何用於安全地將邏輯迴歸模型的訓練外包。客戶將使用他們生成和控制的金鑰對訓練資料進行加密,然後將加密後的訓練資料傳送到雲服務端。雲服務將基於加密的資料訓練一個加密的機器學習模型,並將其傳送回客戶。客戶然後使用自己的金鑰解密模型。

部署此解決方案最具挑戰性的部分是將邏輯迴歸模型訓練功能表示為深度較淺的電路。最近幾年學術界已經對加密邏輯迴歸模型訓練研究提出了幾種方案。例如:、

一次訓練所有樣本,而不是使用最小批處理;經典梯度下降的替代方法,例如Nesterov的加速梯度;使用fixed-Hessian的變種進行訓練。

以前,用於邏輯迴歸訓練的最低深度(因此效率最高)的電路具有乘法深度5k,其中k是訓練模型的資料的最小批處理數。

亞馬遜研究人員重新審視了這些現有解決方案,並建立了一個乘積深度為2.5k的電路,用於k個小批次處理,其深度是原乘積深度的一半。這有效地增加了最小批處理數量一倍。可以將其應用於到原來的模型中,並且保持相同的時間。

技術

邏輯迴歸訓練演算法可以表示為一系列線性代數計算。先前的工作展示了在某些條件下如何在加密資料上計算有限數量的線性代數表示式。亞馬遜研究人員的論文對這些結果進行了概括,提供了一個同態線性代數運算的完整“工具包”,可以對標量,加密向量和加密矩陣進行加法和乘法計算。該工具包是通用的,可以與各種線性代數應用程式一起使用。

同時將工具箱中的演算法與完善的編譯器技術相結合,以減少邏輯迴歸模型訓練的電路深度。首先,使用迴圈展開(Loop unrolling),該迴圈展開將迴圈主體替換為其自身的兩個或更多副本,並相應地調整迴圈索引。迴圈展開可實現進一步的最佳化,而這可能僅憑迴圈主體的一個副本就不可能實現。

此外還採用流水線技術,這使我們可以開始迴圈的一個迭代,同時仍在處理前一個迭代。最後,透過重複一些計算來消除資料依賴性。這具有增加電路寬度(可以並行執行的運算元)的作用,同時減小了電路深度。

儘管電路寬度增加了,但即使在單個核心上,計算此深度較低的電路也比計算先前的電路更快。如果伺服器具有多個核心,則由於電路寬度的增加,可以為並行性提供充足的機會,因此可以進一步縮短訓練時間。

結果

論文使用MNIST資料集(一種由手寫數字組成的影象處理資料集),將提出的改進邏輯迴歸訓練的電路與以前提出的方案作為基準電路進行了比較。兩個電路都配置為六個最小批處理,並且將其應用到結果模型中。在實踐中,兩個電路將不得不多次應用以適應實際數量的最小批次。

論文的改進演算法需要比以往論文方案更多的加密輸入。使用論文選擇的電路引數,對應的頻寬需求增加了約80%。儘管該提高改進使用的乘法是原來論文方案的四倍,但是透過使用並行實現使其計算速度提高六倍(13秒,而原先為80秒)。此外,同態訓練模型的精確度與在明文上針對MNIST資料集訓練的準確性相同。

建立有效的同態電路是一個非自動化的,耗時的過程。為了客戶能夠輕鬆的使用全同態加密功能,格密鏈在陳智罡博士的帶領研發下,提供高階API和同態電路建立的計算器。為全同態加密的使用奠定基礎。

陳智罡博士團隊一直致力於全同態加密與區塊鏈技術的研發。

陳智罡博士的個人主頁:zhigang-chen.gitee.io

12
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 智慧時代正在來臨,智慧城市建設已成為“最後一公里”