淘新聞

分散式機器學習時代即將來臨?穀歌推出“Federated Learning”

傳統機器學習方法,需要把訓練資料集中於某一台機器或是單個資料中心裡。谷歌等公司還建設了規模龐大的雲計算基礎設施,來對資料進行處理。現在,為利用移動設備上的人機交互來訓練模型,谷歌發明了一個新名詞——Federated Learning。

穀歌表示,這會是機器學習的另一大方向。

那麼,什麼是 Federated Learning?

它意為“聯合學習”——

能使多台智慧手機能夠以協作的形式,學習共用的預測模型。

與此同時,所有的訓練資料保存在終端設備。這意味著在 Federated Learning 的方式下,把資料保存在雲端,不再是搞大規模機器學習的必要前提。

最重要的一點:Federated Learning 並不僅僅是在智慧手機上運行本地模型做預測 (比如 Mobile Vision API 和 On-Device Smart Reply),而更進一步,

讓移動設備能夠協同進行模型訓練。

工作原理

Federated Learning 的工作方式如下:

智慧手機下載當前版本的模型

通過學習本地資料來改進模型

把對模型的改進,概括成一個比較小的專門更新

該更新被加密發送到雲端

與其他用戶的更新即時整合,作為對共用模型的改進

所有的訓練資料仍然在每名終端使用者的設備中,個人更新不會在雲端保存。

雷鋒網獲知,整個過程有三個關鍵環節:

根據使用者使用情況,每台手機在本地對模型進行個性化改進

形成一個整體的模型修改方案

應用於共用的模型

該過程會不斷迴圈。

穀歌表示,Federated Learning 的主要優點有:

更智慧的模型

低延遲

低功耗

保障用戶隱私

另外,在向共用模型提供更新之外;本地的改進模型可以即時使用,這能向用戶提供個性化的使用體驗。

穀歌輸入法

目前,谷歌正在穀歌輸入法 Gboard 上測試 Federated Learning。當 Gboard 顯示推薦搜索項,不論用戶是否最終點擊了推薦項,智慧手機會在本機存放區相關資訊。Federated Learning 會對設備歷史資料進行處理,然後對 Gboard 檢索推薦模型提出改進。

與推薦演算法很像,但模型更新先在本地發生,再到雲端整合。

技術挑戰與解決方案

穀歌表示,實現 Federated Learning 有許多演算法、技術上的挑戰,比方說:

在典型的機器學習系統中,超大型資料集會被平均分割到雲端的多個伺服器上,像隨機梯度下降(SGD)這樣的優化演算法便運行於其上。這類反復反覆運算的演算法,與訓練資料之間需要低延遲、高輸送量的連接。而在 Federated Learning 的情況下,資料以非常不平均的方式分佈在數百萬的移動設備上。相比之下,智慧手機的延遲更高、網路輸送量更低,並且僅可在保證用戶日常使用的前提下,斷斷續續地進行訓練。

為解決這些頻寬、延遲問題,谷歌開發出一套名為 Federated Averaging 的演算法。雷鋒網瞭解到,

相比原生的 Federated Learning 版本隨機梯度下降

該演算法對訓練深度神經網路的通訊要求,要低 10 到 100 倍。

谷歌的核心思路,是利用智慧移動設備的強大處理器來計算出更高品質的更新,而不僅僅是優化。做一個好模型,高品質的更新會意味著反覆運算次數的減少。因此,模型訓練能夠減少通訊需求。

由於上行速度一般比下行速度慢很多,谷歌還開發了一種比較新奇的方式,將上行通訊需求再次減少的 100 倍之多:使用隨機 rotation 和 quantization 來壓縮更新。雖然這些解決方案聚焦於訓練深度網路,穀歌還設計了一個針對高維稀疏 convex 模型的演算法,特別擅長點擊率預測等問題。

在數百萬不同的智慧手機上部署 Federated Learning,需要非常複雜的技術整合。設備本地的模型訓練,使用的是迷你版的 TensorFlow。非常細緻的 scheduling 系統,保證只有使用者手機閒置、插著電、有 Wi-Fi 時才訓練模型。所以在智慧手機的日常使用中,Federated Learning 並不會影響性能。

穀歌強調, Federated Learning 不會在用戶體驗上做任何妥協。保證了此前提,用戶手機才會加入 Federated Learning。

然後,該系統需要以安全、高效、可擴展、可容錯的方式對模型更新進行整合。

Federated learning 不需要在雲端存儲使用者資料。但為避免用戶隱私洩露,穀歌更進一步,開發了一個名為 Secure Aggregation、使用加密技術的協議。由於此草案,系統伺服器只能夠解碼至少 100 或 1000 名用戶參與的平均更新。在整合以前,用戶的個體更新不能被查看。

據雷鋒網瞭解,這是世界上第一個此類協定,對於深度網路層級的問題以及現實通訊瓶頸具有使用價值。穀歌表示,設計 Federated Averaging,是為了讓伺服器只需要整合後的更新,讓 Secure Aggregation 能夠派上用場。另外,該草案具有通用潛力,能夠應用於其他問題。穀歌正在加緊研發該協定產品級的應用執行。

小結

穀歌表示,Federated learning 的潛力十分巨大,現在只不過探索了它的皮毛。它無法用來處理所有的機器學習問題。對於許多其他模型,必需的訓練資料已經存在雲端 (比如訓練 Gmail 的垃圾郵件篩檢程式)。因此,穀歌表示會繼續探索基於雲計算的 ML,但同時“下定決心”不斷拓展 Federated Learning 的功能。目前,在穀歌輸入法的搜索推薦之外,穀歌希望根據手機輸入習慣改進語言模型;以及根據圖片流覽資料改進圖片排列。

對 Federated Learning 進行應用,需要機器學習開發者採用新的開發工具以及全新思路——從模型開發、訓練到模型評估。

via 

googleblog