第1講回顧:聯邦學習技術介紹、應用和FATE開源框架

聯邦學習FATE入門與應用實戰發表於2020-03-09

「AI開發者成長計劃」首期公開課由機器之心與微眾銀行聯合開設,主題為《聯邦學習FATE入門與應用實戰》,特邀合作伙伴 VMware 也將參與分享。 公開課為期4周,共6期課程 ,設定主題分享、專案實踐、線上答疑等環節,從零入門聯邦學習。

整體學習計劃與加入方式請檢視:《聯邦學習FATE入門與應用實戰》公開課上線!

3月5日,在《聯邦學習FATE入門與應用實戰》第一講中,微眾銀行人工智慧部高階研究員馬國強帶來了《聯邦學習技術介紹、應用和FATE開源框架 》主題分享,詳細介紹了聯邦學習演算法的概念、應用、以及FATE開源框架介紹和進展,影片回放如下:


第一講精選問答

在第一講的QA環節中,馬國強講師回答了小夥伴們的很多疑問,其中有些問題被大家廣泛提到,所以我們再次做了精選與編輯,供大家參考。

問題1:現在的FATE版本支援動態加入和退出嗎?

目前FATE是還沒支援這個機制,我們之前有考慮過這個問題,類似於在移動端的應用。我們後續會繼續評估可行性並加入到我們的需求列表裡面。

問題2win下有支援的計劃嗎?

目前來說我們還沒有在windows上直接支援的計劃,有一些包在windows上使用存在問題,會有些坑,另外在生產中的穩定性也差一點。

問題3:橫向聯邦學習的同態加密過程是怎樣的?

我們目前在橫向聯邦裡面除橫向LR外並沒有使用同態加密技術,或者說同態加密不是核心,我們主要使用的是FedAvg和Secure-Aggregation,本質上是使用隨機噪聲的思想,參與者之間兩兩產生噪聲,在server端進行抵消。 另外橫向方面同態加密用得比較少,像dp(查分隱私)和mpc的方案會更常用。

問題4:秘密共享和SPDZ是用在橫向還是縱向裡?

目前使用在縱向Pearson相關性係數計算裡面,對於SPDZ,目前來說我們主要支援兩方,MPC在多方的方案上感覺有點問題,包括我們在調研pysyft的時候,發現多方也存在問題。

問題5:訓練一個標準模型需要多久?

和具體演算法有關,另外和資料樣本量也有關。在我們的測試環境和機器測試中,聯邦和非聯邦有數十倍到幾百倍的差距,但也不會差的特別大,因為縱向聯邦裡面耗時的主要是同態加密,對於橫向聯邦,因為使用FedAvg機制,其實是比較快的。

問題6:secureboost訓練比開源慢多少?

SecureBoost推薦大家用另一種同態加密方法,仿射變換(IterativeAffine),這是我們第一個contributor貢獻的,這個方法可以讓你有更佳體驗。在訓練方面,它支援更多資料,訓練速度快了很多,對記憶體的消耗也少很多。在我們測試中,比如單機版,跟xgboost差幾十倍是有可能的。SecureBoost影響速度的主要是特徵的維度,特徵維度比較低的話,差距反而沒那麼大。特徵維度增加的時候,計算梯度直方圖,同態加密的加法,是有耗時的,平時看不出,是因為單獨加密一個數,耗時是比加法多很多,但是統計梯度直方圖的時候,加法的時間消耗就會體現出來。

問題7:縱向如何做到特徵對齊?

其實在我們的分享中有介紹:透過隱私保護交集(PSI)技術求出共同樣本。大家如果想對PSI有更多瞭解,可以上網搜一下,在我們的FATE下也有一些說明,FATE主要實現的是RSA和雜湊的方案,另外還有其他的方案,比如說像OT或者Bloom Filter。

問題8:聯邦學習如何應對資料孤島?

聯邦學習就是為了解決資料孤島而存在的。我們透過剛剛的分享可以看到,透過聯邦學習演算法,它的效果跟中心化學習的效果是一致的,所以這個問題自然就不存在了。

問題9:未來會考慮用全同態做技術路線嗎?

全同態加密存在一個問題,效率低。當然它是很方便的,因為全同態支援各種操作,像我們用的加法同態加密,它只支援加法和數乘。但是全同態的效率上不去,所以我們目前還沒有規劃這一塊。全同態的效率和半同態相比,有數量級的差距。

大家如有更多疑問,也歡迎在評論區留言討論,我們也會定期邀請講師在評論區答疑,並持續將精選問答收錄到本篇文章的正文內容中。

相關文章