當前位置:
首頁 > 新聞 > 怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

機器之心原創

作者:思源


隨著機器學習模型應用到生活生產中,如何獲得更多的數據訓練更好的模型成為了關鍵,而有助於解決該問題的聯邦學習也就受到越來越多的關注。在本文中,我們將一同了解聯邦學習,概覽第一個聯邦學習開源框架 FATE。

近日,微眾銀行將聯邦學習開源框架 FATE(Federated AI Technology Enabler)貢獻給 Linux 基金會,並希望通過多方維護令該項目更加強大。同時,中國人工智慧開源軟體發展聯盟(AIOSS)發布了我國第一個關於聯邦學習規範標準,這些都表明聯邦學習從理論到實踐都在快速提升。

FATE github開源地址:WeBankFinTech/FATE

為了解第一個聯邦學習開源框架 FATE,機器之心採訪了微眾銀行 AI 部門的副總經理陳天健,他介紹了聯邦學習的開源現狀以及技術過程。與此同時,7 月 19 日市北?GMIS 2019 大會上,微眾銀行首席人工智慧官楊強教授也將針對聯邦學習這一主題發表主旨演講,為我們介紹更多關於聯邦學習的內容。

為什麼聯邦學習如此重要

早在 2018 年,楊強教授就向機器之心介紹過聯邦遷移學習,他表示面對歐盟的「數據隱私保護條例(GDPR)」,我們應該思考如何把 GDPR 囊括在機器學習框架之內,而不是繞著它走。聯邦學習就是一種很好的方法,它希望在不共享數據的前提下,利用雙方的數據實現模型優化。

假設兩家公司想要建立一個用戶畫像模型,其中部分用戶是重合的。聯邦學習的做法是,首先通過加密交換的手段,建立用戶的識別符(identifier)並進行溝通,在加密狀態下用減法找出共有的部分用戶。因為關鍵用戶信息並沒有得到交換,交換的只是共有的識別符,因此這並不違反數據隱私保護條例。

然後,雙方將這部分數據提取出來,將各自擁有的同樣用戶的不同特徵作為輸入,迭代地訓練模型、交換參數的過程。楊強教授等研究者證明了給定模型參數,雙方不能互相反推出對方擁有的、自己沒有的特徵,因此用戶隱私仍然得到了保護。在不違反 GDPR 的情況下,雙方的模型性能都得到了提高。

在數據越來越隱私與重要的今天,聯邦學習越發引人注目。機器學習學者除了關心演算法的準確率、效率之外,也該將思考的維度上升到管理與合規的角度。

為什麼我們需要聯邦學習框架與標準

從前面可以了解,聯邦學習會有它的特殊性,即它主要用於多方協同訓練模型,這樣聯邦學習就更關注開源社區。微眾銀行 AI 部門副總經理陳天健表示,既然是多方協作的框架,那麼我們就必須說明它的安全性與保密性,並且各方都能快速對其進行驗證,這是閉源軟體辦不到的。

既然聯邦學習框架需要開源,那麼就會有維護主體,以前聯邦學習項目都是微眾銀行維護的,微眾會將業務上使用的一些聯邦學習技術開源出來。但是如果想要構建更完美的生態,單一主體是很難支撐的,因為聯邦學習本身就是面向合作的機器學習技術。因此,陳天健說:「微眾銀行將 FATE 託管給 Linux 基金會,它將成為一個基金會項目,因此也就變成了由項目技術委員會、企業及組織聯合開發的狀態,以此保證聯邦學習框架的穩定性與延續性。」

對於開發者而言,以後 FATE 項目將變得越來越好用、越來越穩定。但是隨著聯邦學習更加普及,目前的開源框架肯定是有局限的,這就要求開發者根據具體業務需求修改 FATE 或者重新寫框架。這也就是微眾銀行攜手 AIOSS 推出聯邦學習標準的原因,它規範了我們對聯邦學習的理解與介面標準。

如果有一個完善的標準,那麼不同的開發者並不一定只能使用 FATE 作為聯邦學習系統的實現,我們可以在遵循工業標準下構建自己的實現。這樣的系統會有比較強的兼容性,可以與其它使用 FATE 的項目或遵循相同標準的系統互聯互通。陳天健說:「整個生態一定是開放的,並不是所有人都必須使用 FATE 作為聯邦學習系統,我們的核心目標還是希望大家能互聯互通地進行大數據和 AI 方面的合作。」

聯邦學習到底怎樣工作的

那麼聯邦學習的簡要過程到底是什麼樣的?在整個聯邦學習過程中,加密訓練是最為核心的部分,各個數據方需要基於本地數據和其它方的訓練信息完成模型的訓練。

如果參與聯邦學習的各方數據結構和特徵空間相同,加密訓練也有比較簡單和直觀的方法,例如谷歌有嘗試以梯度加密聚合為基礎的聯邦學習,他們會如同分散式訓練一樣計算局部梯度,然後將加密的局部梯度傳入參數伺服器,參數伺服器再統籌加密的局部梯度,並將解密的全局梯度傳入各個數據方,從而達到更新模型的效果。

但這種直觀方法也有很難處理的缺陷,它要求各數據方的數據結構都是一樣的,很難滿足大數據合作領域的需求。陳天健介紹了一種針對更常見的異構特徵空間場景的加密訓練方法。如下所示,A 和 B 都有各自的數據,它們希望在不交換數據的情況下訓練更優秀的模型。

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

總體上,該加密訓練過程從分發公鑰到更新模型可以分為四步。我們先假設訓練的模型都是簡單的線性回歸,即 u = Θx,其中Θ為權重矩陣、x 為特徵向量、u 為預測結果向量。

如下所示以 A 為例,它會根據自己的數據計算預測值 u_A,但這個時候 u_A 只使用了一半的特徵,它並不能作為模型的預測結果,它還要加上 B 的計算結果 u_B 才是最終結果。因此現在 A 會把中間結果 u_A 加密,並傳遞給 B。這就是第二步傳遞的中間結果,[[u_A]] 表示 u_A 的加密輸出。

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

現在 A 和 B 都有完整的預測結果 [[u_A]] +[[ u_B]],雖然結果是經過加密的。有了預測結果就能計算損失函數,但這裡會計算一個額外的殘差項 [[d]] = [[u_A]] + [[u_B - y]],它相當於梯度計算中的係數。例如常規線性回歸的損失函數為 L = (Θx - y)^2,那麼 dL/dΘ = 2 * (Θx - y) * x,這裡經過加密的殘差項 [[d]] 就相當於 x 前面的係數。

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

如下所示,藉助相互反饋的殘差項,A 和 B 能快速算出局部加密梯度,例如 A 的加密梯度為 [[?L/?Θ_A]] = [[d]] * x_A。現在加密的局部梯度就可以傳遞到協作者 C 了。

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

最後,協作者 C 會將解密後的梯度傳回各個數據方,數據方也就能使用對應的梯度更新自己那一部分模型。值得注意的是,因為各個數據方都只有部分特徵與權重,相當於只有部分模型。所以這裡需要一個 Mask 以告訴各模型到底都需要更新哪些東西。

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

在訓練的最後,A 和 B 都不知道對方的數據結構,並且只能獲得自己那一部分特徵需要的參數。所以 A 和 B 之間並沒有直接傳遞數據相關的信息,它們間的通信也是非常安全的。在這樣的聯邦學習下,我們的特徵變多了,當然我們的模型效果就更優了。

第一個聯邦學習開源框架 FATE

那麼我們該怎樣完成加密訓練呢,難不成還需要從頭開始寫?這就需要 FATE 來幫忙了。

FATE 是微眾銀行最先維護的一個項目,它提供了一個安全的計算框架以支持聯邦學習演算法。它實現了基於同態加密和多方計算的安全計算協議,並支持聯邦學習架構與各種機器學習演算法的安全計算,包括邏輯回歸和梯度提升樹等經典 ML 演算法,也包括深度學習和遷移學習等前沿研究。

陳天健說:「FATE 最主要的特徵和優勢在於,它源自微眾銀行進行大數據風控建模的實際場景,因此 FATE 是一個生產系統,它的可擴展性非常優秀。FATE 自帶一個分散式計算框架,它的穩定性肯定比一般的研究型項目好很多,而且預測和訓練也都集成在了一起。」

FATE 並不只有一個框架,它還帶了一些經典演算法,包括線性回歸、提升樹和其它分類模型等。這些都得到了大量實踐證明,是工業上很常見的方法,所以如果開發者不願意從頭構建,那麼就可以直接使用這些方法,或者在這些方法上做修改。

怎樣擴充大數據?你需要了解的第一個聯邦學習開源框架FATE

FATE 項目中提升樹演算法的教程頁面,它不僅展示了怎樣運行單機版,還介紹了如何運行計算集群版。

陳天健表示,在加入 Linux 基金會後,技術委員會也在對項目進行進一步的規劃與拆分。他們會把用於特定運算框架和特定集群的支持分離出來,並把它們變得通用,從而支持常用的計算框架與大數據基礎設施。此外,在技術更新上,FATE 也規劃對分散式異構計算進行加速,對於 GPU 和 FPGA 的支持也都在日程中。

最後,FATE 還在不停地提升中。陳天健說:「聯邦學習的應用主要受限於網路帶寬與晶元的計算力,我們現在主要還是在數據中心做聯邦學習,這兩者都能比較好地滿足。如果未來需要在手機等邊緣設備上做聯邦學習,那麼更大帶寬的通訊技術和更強勁的邊緣算力必不可少。我非常看好 5G 通訊技術,它能為聯邦學習帶來足夠的帶寬,同時隨著手機晶元越來越強,聯邦學習落地到廣大移動端設備並不會太遠。」

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

KDD 2019 | 自動探索特徵組合,第四範式提出新方法AutoCross
誰說偷窺一定要趴牆頭?這個系統可用聲波「看見」牆後物體

TAG:機器之心 |