聯邦學習:沒有集中培訓數據的協作機器學習

本文翻譯自Google AI Blog的Federated Learning: Collaborative Machine Learning without Centralized Training Data

標準機器學習方法需要將訓練數據集中在一臺機器或數據中心。Google已經構建了一個最安全,最強大的雲基礎架構來處理這些數據,從而使我們的服務更加完善。現在,對於通過用戶與移動設備交互進行培訓的模型,我們將引入另一種方法:聯邦學習。

聯邦學習使移動手機能夠協同學習共享預測模型,同時將所有訓練數據保存在設備上,從而將機器學習的能力與在雲中存儲數據的需求進行分離。這超出了通過將模型訓練引入設備上而使用本地模型對移動設備進行預測的範圍(如Mobile Vision API 和設備上的智能回覆)。

它的工作原理如下:您的設備會下載當前模型,通過學習手機上的數據來改進它,然後將這些更改彙總爲一個小型的重點更新。只有對模型的更新纔會使用加密通信發送到雲,並在其中立即與其他用戶的更新進行平均,以改進共享模型。所有培訓數據都保留在您的設備上,並且雲中不會存儲任何單獨的更新。

移動設備共享模型

您的手機會根據您的使用情況在本地對模型進行個性化設置(A)。聚合(B)許多用戶的更新以形成對共享模型的共識改變(C),之後重複該過程。

聯邦學習可以實現更智能的模型,更低的延遲和更低的功耗,同時確保隱私。這種方法還有另一個直接的好處:除了提供共享模型的更新之外,還可以立即使用手機上的改進模型,通過您使用手機的方式爲個性化體驗提供動力。

我們目前正在測試Android上的Gboard中的聯合學習,Google鍵盤。當Gboard顯示建議的查詢時,您的手機會在本地存儲有關當前上下文的信息以及您是否單擊了該建議。聯合學習處理設備上的歷史記錄,以建議改進Gboard的查詢建議模型的下一次迭代。
Gboard
爲了使聯邦學習成爲可能,我們必須克服許多算法和技術挑戰。在典型的機器學習系統中,像隨機梯度下降(SGD)這樣的優化算法運行在雲中服務器之間均勻分區的大型數據集上。這種高度迭代的算法需要與訓練數據的低延遲,高吞吐量連接。但在聯邦學習環境中,數據以極不均勻的方式分佈在數百萬臺設備上。此外,這些設備具有明顯更高延遲,更低吞吐量的連接,並且只能間歇性地用於訓練。

這些帶寬和延遲限制激發了我們的聯合平均算法,與普通聯合版本的SGD相比,它可以使用10-100倍的通信來訓練深度網絡。關鍵的想法是使用現代移動設備中的強大處理器來計算比簡單梯度步驟更高質量的更新。由於生成一個好的模型需要較少的高質量更新迭代,因此培訓可以使用更少的通信。由於上傳速度通常比下載速度慢得多,我們還開發了一種新方法,通過使用隨機旋轉和量化壓縮更新,將上傳通信成本降低到另外的100倍。雖然這些方法專注於訓練深度網絡,但我們也設計了算法對於高維稀疏凸模型,它在點擊率預測等問題上表現優異。

將此技術部署到數百萬運行Gboard的異構手機需要先進的技術堆棧。設備培訓使用TensorFlow的微型版本。仔細調度可確保僅在設備空閒,插入和免費無線連接時才進行培訓,因此不會影響手機的性能。
設備學習

只有在不會對您的體驗產生負面影響的情況下,您的手機纔會參與聯邦學習。然後,系統需要以安全,高效,可擴展和容錯的方式通信和聚合模型更新。只有研究與這種基礎設施的結合才能使聯邦學習的好處成爲可能。

聯邦學習無需在雲中存儲用戶數據,但我們並沒有就此止步。我們開發了一種安全聚合協議使用加密技術,因此協調服務器只能在100或1000個用戶參與時解密平均更新 - 在平均之前不能檢查單個設備的更新。它是同類中第一個適用於深度網絡規模問題和實際連接約束的協議。我們設計了Federated Averaging,因此協調服務器只需要平均更新,這允許使用Secure Aggregation; 但是協議是通用的,也可以應用於其他問題。我們正在努力實現此協議的生產實施,並期望在不久的將來將其部署到聯邦學習應用程序中。

我們的工作只是觸及了可能的表面。聯邦學習無法解決所有機器學習問題(例如,通過對經過仔細標記的示例進行培訓來學習識別不同的犬種,而對於許多其他模型,必要的培訓數據已存儲在雲中(如Gmail的培訓垃圾郵件過濾器)。因此,谷歌將繼續推進基於雲的ML的最新技術,但我們也致力於持續研究,以擴大我們可以通過聯邦學習解決的問題範圍。例如,除了Gboard查詢建議之外,我們希望根據您在手機上實際輸入的內容(可以擁有自己的風格)和基於人們看到的照片類型的照片排名來改進爲鍵盤提供動力的語言模型,分享或刪除。

應用聯合學習需要機器學習從業者採用新的工具和新的思維方式:模型開發,培訓和評估,不能直接訪問或標記原始數據,而通信成本是一個限制因素。我們相信聯邦學習的用戶利益可以解決有價值的技術挑戰,並且希望在機器學習社區內進行廣泛的對話,從而發佈我們的工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章