聯合學習:無需集中存儲訓練數據的協同機器學習
標準的機器學習方法需要將訓練數據集中到一臺機器上或一個數據中心內。為了處理此數據,改善我們的服務,Google 構建了一套最安全、***大的云基礎架構。現在,對于通過用戶與移動設備交互進行訓練的學習模式,我們另外引入了一種方法:聯合學習。
通過聯合學習,移動電話可以協同學習共享的預測模型,同時將所有訓練數據保留在設備上,從而無需將數據存儲在云中,即可進行機器學習。同時,通過將模型訓練引入到設備上,超越了以往使用本地模型預測移動設備(例如 Mobile Vision API 和設備端智能回復)的模式。
其工作原理如下:您的設備下載當前模型,通過學習手機中的數據改進模型,然后以小幅更新的形式匯總所做的變更。通過加密通信僅將此模型的更新發送至云,在云中,立即與其他用戶更新進行平均,以改進共享模型。所有訓練數據仍保留在您的設備上,云中未存儲任何個別用戶的更新。
▲ 您的手機根據您的使用情況,在本地建立個性化模型 (A)。然后,許多用戶的更新聚合 (B) 在一起,形成對共享模型的一致更新 (C),之后不斷重復此流程。
聯合學習可建立更智能的模型,縮短延遲時間,減小功耗,同時確保隱私性。這種方法另一個直接的益處是:除了為共享模型提供更新之外,還可以即時使用手機中經過改進的模型,根據您使用手機的方式,提供個性化的體驗。
我們目前正在 Android 版 Gboard(即 Google 鍵盤)中測試聯合學習。當 Gboard 顯示建議的查詢內容時,您的手機在本地存儲與當前上下文以及您是否點擊此建議有關的信息。聯合學習處理設備上的歷史記錄,為 Gboard 的查詢建議模型的后續迭代提出改進建議。
要實現聯合學習,我們必須克服算法和技術上的諸多挑戰。在典型的機器學習系統中,對大型數據集執行類似隨機梯度下降 (SGD) 這樣的優化算法時,會將數據集均勻地分散在云中的不同服務器上。這種高度迭代的算法要求與訓練數據之間保持低延遲時間、高吞吐量的連接。而在聯合學習環境中,數據很不均勻地分散在數以百萬計的設備之間。此外,相比之下,這些設備的連接的延遲時間要長很多,而吞吐量卻低很多,并且只能間歇性用于訓練。
這些帶寬和延遲時間上的限制促使我們設計出聯合平均算法,此算法訓練深度網絡所用的通信資源不到最初 SGD 聯合版本的 1/10-1/100。關鍵在于利用現代移動設備中強大的處理器來計算比簡單梯度方法質量更高的更新。由于只需較少的優質更新迭代就可生成適當的模型,訓練使用的通信資源大大減少。由于上傳速度通常遠低于下載速度,我們還研究出了一種新方法,通過使用隨機旋轉和量化的方式壓縮更新,使上傳通信開銷最多可降至之前的 1/100。這些方法主要用于深度網絡訓練,我們還為擅長解決點擊率預測等問題的多維稀疏凸集模型設計了多種算法。
將此技術部署到數以百萬計運行 Gboard 的手機,需要一整套成熟的技術。設備端訓練采用了迷你版 TensorFlow。審慎地計劃,確保僅在設備處于空閑、通電狀態并使用免費的無線連接時進行訓練,以便不影響手機的性能。
▲ 僅在不會影響您的體驗的情況下,才讓您的手機參與聯合學習。
然后,系統需要以安全、高效、可擴展和容錯的方式傳輸和聚合模型更新。只有將研究與此基礎架構相結合,才能從聯合學習中受益。
聯合學習的運行無需將用戶數據存儲在云中,但我們并未止步于此。我們開發了一種使用加密技術的安全聚合協議,以便協調服務器僅當 100 或 1000 個用戶參與時解密平均更新,在平均更新之前不檢查任何手機的更新。它是同類協議中***個可用于解決深度網絡級別問題和現實連接限制的協議。我們設計了聯合平均算法,使協調服務器僅僅需要進行平均更新,因此可使用安全聚合協議;但此協議為通用協議,也可用于解決其他問題。我們正努力將此協議應用于生產環境,希望能在不久的將來將它部署用于聯合學習應用。
在探索潛在應用領域方面,我們的工作目前尚在走馬觀花階段。聯合學習無法解決所有機器學習問題(例如,通過訓練認識仔細標注的圖例,學習識別不同的犬類),而對于其他許多模型而言,必要的訓練數據已存儲在云中(例如,Gmail 垃圾郵件過濾器訓練)。因此,Google 將繼續推進基于云的***機器學習技術,同時,我們不斷研究聯合學習技術,以便解決更多的問題。例如,除了 Gboard 的查詢建議外,我們還希望改進語言模型,根據您在手機上實際鍵入的內容改進鍵盤(可以定制獨有的鍵盤樣式),以及根據用戶查看、分享或刪除的照片類型,對照片進行排名。
應用聯合學習需要機器學習從業者采用新的工具和新的思維方式:模型開發、訓練和評價,不直接訪問或標記原始數據,而通信開銷是它們的一個制約因素。我們相信,聯合學習將讓用戶受益,值得我們去攻克技術上的難題,而我們發布此博文的目的是希望聯合學習能在機器學習社區得到廣泛的討論。
【本文是51CTO專欄機構“谷歌開發者”的原創稿件,轉載請聯系原作者(微信公眾號:Google_Developers)】