選自arXiv
作者:Peter Kairouz 等
機器之心編譯
參與:魔王、杜偉
聯邦學習(Federated Learning,FL)指多個客戶端在一個中央伺服器下協作式地訓練模型的機器學習設置,該設置同時保證訓練數據去中心化。聯邦學習使用局部數據收集和最小化的原則,能夠降低使用傳統中心化機器學習和數據科學方法帶來的一些系統性隱私風險和成本。近期社區對聯邦學習的研究出現爆發式增長,這篇論文探討了聯邦學習的近期進展,並展示了該領域所面臨的開放性問題和挑戰。本論文作者來自澳大利亞國立大學、CMU、康奈爾大學、谷歌、香港科技大學等機構。
原論文篇幅較長,機器之心進行了摘要編譯。
論文連結:https://arxiv.org/pdf/1912.04977.pdf引言聯邦學習指多個客戶端(如行動裝置或整個組織)在一個中央伺服器(如服務提供商)下協作式地訓練模型的機器學習設置,該設置同時保證訓練數據去中心化。聯邦學習使用局部數據收集和最小化原則,降低傳統中心化機器學習方法帶來的一些系統性隱私風險和成本。近期該領域在研究和應用層面都受到了極大關注。這篇論文將介紹聯邦學習的定義性特徵和面臨的挑戰,重點介紹重要的實踐局限和考量因素,並列舉大量珍貴的研究方向。本論文旨在提出具備重大理論和實踐意義的研究問題,鼓勵大家對這些問題展開研究,進而為現實世界帶來巨大影響。聯邦學習這一術語由 McMahan 等人在 2016 年首次提出:「我們將該方法命名為聯邦學習,因為該學習任務是由多個參與設備(即客戶端)的鬆散聯邦在中央伺服器的協調下解決的。」在大量通信帶寬有限的不可靠設備上對不平衡和非獨立同分布(non-IID)數據執行分割,這被認為是聯邦學習面臨的核心挑戰。
谷歌研究科學家 H. Brendan McMahan。在「聯邦學習」這一術語問世之前,已經出現大量相關研究工作。很多研究社區(包括密碼學、資料庫和機器學習)追尋的長期目標是:在不暴露數據的前提下,分析和學習分布於多個數據擁有者的數據。計算加密數據的加密方法最早出現於 20 世紀 80 年代早期,Agrawal 和 Srikant [15] 以及 Vaidya 等人 [390] 是使用中央伺服器學習本地數據同時保護隱私的早期研究。然而,即使在「聯邦學習」這一術語出現以後,我們仍然發現沒有一項研究能夠直接解決聯邦學習面臨的全部挑戰。因此,「聯邦學習」這一術語簡潔地描述了基於去中心化數據(這些數據具備極高的隱私性)的應用機器學習問題的特點、局限和挑戰。聯邦學習的發展在於各學科的合作2019 年 6 月 17-18 日,在谷歌的西雅圖辦公室舉辦了一場關於聯邦學習的研討會,本論文基於這次研討會寫就。在為期兩天的研討會中,對調研聯邦學習領域眾多開放性挑戰的綜述論文的需求逐漸變得明晰。研討會上討論的很多問題都有一個核心特性:它們本質上是跨學科的。解決這些問題不僅需要機器學習,還需要分布式優化、加密學、安全、差分隱私、公平性、壓縮感知、系統、資訊理論、統計學等學科的技術。最難的問題出現在這些學科的交叉領域,因此本論文認為合作是促進聯邦學習領域發展的必經之路。本論文的目標之一是:強調結合這些領域技術的方式,帶來有趣的可能性和新的挑戰。「聯邦學習」這一術語剛出現時強調移動和邊緣設備應用,現在人們對將聯邦學習應用到其他應用的興趣顯著增長,包括一些涉及少量相對可靠客戶端的應用,如多個組織合作訓練一個模型。研究者將這兩種聯邦學習設置分別稱作「跨設備」(cross-device)和「cross-silo」。基於這些變體,本論文對聯邦學習給出了一個更寬泛的定義:
聯邦學習是多個實體(客戶端)協作解決機器學習問題的機器學習設置,它在一個中央伺服器或服務提供商的協調下進行。每個客戶端的原始數據存儲在本地,無法交換或遷移,聯邦學習利用局部更新(用於立即聚合 (immediate aggregation))來實現學習目標。
局部更新(focused update)是僅限於包含特定學習任務最少必需信息的更新。聚合應在數據最小化服務中儘可能早地執行。我們注意到,該定義將聯邦學習與完全去中心化的(peer-to-peer)學習技術區分開來。跨設備 FL、Cross-Silo FL 和傳統單數據中心分布式學習關於保護隱私的數據分析,這方面的研究已經進行了 50 餘年,但在最近十年才出現可以大規模部署的解決方案。現在,跨設備聯邦學習和聯邦數據分析已經在消費者數字產品中得到應用。谷歌在 Gboard 移動鍵盤、Pixel 手機功能和 Android Messages 中廣泛使用聯邦學習。谷歌在跨設備聯邦學習領域遙遙領先,但目前更廣泛的群體對該領域產生了興趣,例如:蘋果在 iOS 13 系統中使用跨設備聯邦學習,如 QuickType 鍵盤和「Hey Siri」的人聲分類器等應用;doc.ai 正在開發適合醫療研究的跨設備聯邦學習解決方案;Snips 探索針對熱詞檢測的跨設備聯邦學習。cross-silo 應用也在多個領域出現,包括再保險業務中的金融風險預測、藥物研發、電子病歷挖掘、醫療數據分割和智能製造。對聯邦學習技術不斷增長的需求帶來了大量可用的工具和框架,包括 TensorFlow Federated [38]、Federated AI Technology Enabler [34]、PySyft [342]、Leaf [35]、PaddleFL [36] 和 Clara 訓練框架 [33](詳情參見附錄 A)。大型科技企業和小型創業公司都在打造囊括聯邦學習技術的商業數據平臺。下表 1 從多個維度對比了跨設備聯邦學習、cross-silo 聯邦學習和傳統的單數據中心分布式學習。這些特徵構建了聯邦學習實際系統必須滿足的一些約束,從而促進聯邦學習的發展,找到其面臨的開放性挑戰。
表 1:聯邦學習 vs. 單數據中心分布式學習的典型特徵。跨設備和 cross-silo 聯邦學習是 FL 領域的兩個分支,但並非全部。該表將聯邦學習的主要定義性特徵用粗體字著重顯示,不過其他特徵對確定哪種技術可用也很關鍵。這兩種聯邦學習變體是聯邦學習領域中的代表性和重要示例,而不同的聯邦學習設置可能具備不同的特徵組合。除特別註明,本論文剩餘內容主要考慮跨設備聯邦學習設置,不過其中的一些問題也適用於其他聯邦學習設置。本文第 2 章介紹了聯邦學習的其他變體及應用。接下來,我們來更詳盡地探討跨設備聯邦學習,主要從典型大規模部署這一實踐層面出發。Bonawitz 等人 [74] 對特定生產系統提供了更加詳盡的介紹,包括對特定架構的選擇和考量。跨設備聯邦學習設置本章從應用角度出發,介紹跨設備聯邦學習中出現的一些實際問題,以及如何將它們融入到更寬泛的機器學習開發和生態系統部署中。希望本章能夠為下文介紹聯邦學習的開放性問題提供有用的語境和動機,同時幫助研究人員估計在現實系統中直接部署特定新方法的可行性。在探討聯邦學習訓練流程之前,我們先來看模型的生命周期。聯邦學習中的模型生命周期聯邦學習通常由為特定應用開發模型的模型工程師來驅動。例如,自然語言處理工程師可能為虛擬鍵盤開發「下一個單詞預測模型」。下圖 1 展示了其主要組件和參與者:
圖 1:聯邦學習訓練模型的生命周期,以及聯邦學習系統中的多個參與者。第 4 章將從威脅模型的角度再次介紹該圖。整體來看,其典型工作流程如下所示:
問題識別:模型工程師找出要使用聯邦學習解決的問題;客戶端設置:如有需要,將客戶端(如在手機上運行的 app)設置為在本地存儲必要的訓練數據(儘管時間和數量都存在限制)。在很多案例中,app 已經存儲了數據(如文本簡訊 app 必須存儲文本信息,照片管理 app 存儲照片)。但是,在另一些案例中,還需要保留額外的數據或元數據,如用戶交互數據,以為監督學習任務提供標籤;模擬原型開發(可選):模型工程師可能為模型架構開發原型,並用代理數據集(proxy dataset)在聯邦學習模擬環境中測試學習超參數;聯邦模型訓練:啟動多個聯邦訓練任務來訓練模型的不同變體,或者使用不同的優化超參數;(聯邦)模型評估:在任務經過充分訓練後(通常需要數天),分析模型並選擇優秀的候選模型。分析可能包括在數據中心的標準數據集上計算得到的度量,或者模型在留出客戶端上評估本地客戶端數據的聯邦評估結果;部署:最後,在選擇好模型之後,就要進入標準的模型部署流程了,該流程包括手動質量保證、實時 A/B 測試(在一些模型上使用新模型,在另一些模型上使用之前的模型,然後對比其性能)以及分階段部署(staged rollout,這樣可以在發現較差行為時及時回退,以免影響過多用戶)。模型的特定安裝流程由應用的所有者設置,通常獨立於模型訓練過程。也就是說,對使用聯邦學習或傳統數據中心方法訓練得到的模型,都可以同樣地使用該步驟。聯邦學習系統面臨的主要實際挑戰之一是:儘可能簡化上述工作流程,使其完美靠攏使用中心化訓練方式得到的易用機器學習系統。儘管本論文主要關注聯邦學習,但也會涉及其他組件,包括模型評估和 debug 等聯邦分析任務。接下來,我們將詳細介紹整個聯邦學習模型的訓練過程(即上述步驟的第 4 步)。典型的聯邦訓練流程現在,我們考慮聯邦學習訓練的模板,它包括 McMahan 等人 [289] 提出的聯邦平均算法。另外,可能存在其他變體,但該算法提供了一個通用的起點。伺服器(服務提供商)部署整個訓練過程,它重複以下步驟直到訓練停止(這取決於監測訓練流程的模型工程師):
客戶端選擇:伺服器從一組滿足要求的客戶端中進行採樣。例如,伺服器需要確認手機是否接通電源、在無限帶寬 wi-fi 連接狀態還是空閒狀態,以避免影響設備用戶;廣播(broadcast):選中的客戶端從伺服器下載當前模型權重和訓練程序(如 TensorFlow graph [6]);客戶端計算:每個選中的設備通過執行訓練程序在本地計算模型更新,例如在本地數據上運行 SGD(就像在聯邦平均算法中那樣);聚合(aggregation):伺服器收集全部設備更新。為了提高效率,一旦足夠多的設備報告結果,則落後者會被丟棄。這一步也是其他技術的集成點,這些技術可能包括:能夠增強隱私性的安全聚合、為提高通信效率對更新聚合執行有損壓縮以及差分隱私所需的噪聲添加和更新裁剪(update clipping);模型更新:基於參與當前輪次的所有客戶端計算得到聚合更新,伺服器基於此在本地更新共享模型。下表 2 介紹了在典型的聯邦學習行動裝置應用場景中的規模量級:
表 2:典型跨設備聯邦學習應用中的規模。客戶端計算、聚合和模型更新階段的分離並非聯邦學習的嚴格要求,但它確實排除了特定類別的算法,如異步 SGD(每個客戶端的更新被立即應用於模型,沒有聚合其他客戶端的更新)。這種異步方法可簡化系統設計的某些方面,從優化角度來看也是有益的(這一點存在爭議)。但是,上文介紹的訓練方法對於分離不同研究領域的課題具備顯著優勢:壓縮、差分隱私和安全多方計算領域的進展有益於標準原語(如計算去中心化更新的總和或均值),這些進展由任意優化或分析算法構成,只要這些算法以聚合原語的形式表達。這裡還需要強調一點:從兩個方面來講,聯邦學習訓練流程不應影響用戶體驗。首先,如上所述,即使模型參數通常在聯邦訓練每一輪的廣播階段發送到一些設備,但這些模型是訓練流程中轉瞬即逝的部分,並不用於創建向用戶展示的「實時」預測。這一點很關鍵,因為訓練機器學習模型很難,錯誤配置超參數可能導致預測效果極差的模型。用戶可見的模型應用被延遲到模型生命周期中的第 6 步——部署流程;其次,訓練本身對用戶是不可見的,就像在客戶端選擇階段描述的那樣,訓練不會拖慢設備或耗電,因為它只在設備處於空閒狀態以及接通電源時執行。但是,這些約束帶來的有限可用場景直接導致開放性研究挑戰,如半環數據獲取(semi-cyclic data availability)和客戶端選擇的潛在偏見。聯邦學習研究現實世界聯邦學習設置包括基於來自醫療系統的醫療數據訓練模型,使用數以億計的行動裝置執行訓練等等。本論文剩餘部分將介紹現實世界 FL 設置的局限與挑戰所帶來的開放性問題。更不用說,大部分研究聯邦學習問題的研究者不太可能部署生產級聯邦學習系統,也無法獲取數百萬現實世界設備。這導致實際設置和模擬實驗之間存在顯著區別(實際設置刺激研究,模擬實驗為給定方法在現實問題中的適應性應用提供證據。)因此,從實驗角度來看,聯邦學習研究與其他機器學習領域略有不同,所以在進行聯邦學習研究時需要多做考慮。具體而言,在列舉開放性問題時,研究者嘗試指出可在模擬環境中使用的相關性能度量指標、使模型更能代表其在現實世界中性能的數據集特徵等等。對模擬的需求同樣對聯邦學習研究的展示有所影響。研究者對如何展示聯邦學習研究提出以下幾條溫和的建議:
如上表 1 所示,聯邦學習設置涉及大量問題。與具備明確設置和目標的領域相比,準確描述特定聯邦學習設置的細節非常重要,尤其是當提出方法做出的假設不適用於所有設置時(如參與所有輪的有狀態客戶端);當然,任何模擬的細節都應得到展示,以便研究可復現。但是,說明模擬要捕捉現實世界的哪些方面也很重要,這樣才能使在模擬問題上成功的方法也能成功用於現實世界目標,並取得進展;隱私和通信效率通常是聯邦學習中的首要考慮因素,即使實驗是使用公開數據在單個機器上運行的模擬實驗。聯邦學習在這方面更勝其他機器學習類型,因為對於提出的任何方法,明確計算發生地和通信內容都是十分重要的。用於聯邦學習模擬的軟體庫和標準數據集有助於減輕實施高效聯邦學習研究的挑戰,附錄 A 總結了目前可用的部分軟體庫和數據集。針對不同的聯邦學習設置(跨設備和 cross-silo)開發標準評估度量指標和構建標準基準數據集,仍然是未來工作的重要方向。論文剩餘章節內容概覽由於本篇論文篇幅較長,剩餘章節僅截取目錄內容,讀者可自行前往原文查看詳細內容。本論文第 2 章基於上表 1 展開,探討跨設備設置以外的其他聯邦學習設置和問題。
第 3 章重新聚焦如何提高聯邦學習效率和效用這一核心問題。
本章探討多種使聯邦學習更加高效的技術和開放性問題,包括多種可能的方法,如:開發更好的優化算法,為不同客戶端提供不同模型,使超參數搜索、架構搜索和 debug 等機器學習任務在聯邦學習環境中更加容易,提升通信效率等等。第 4 章涉及威脅模型,以及實現嚴格隱私保護這一目標所需的大量技術。
和所有機器學習系統一樣,聯邦學習應用中也存在一些操控模型訓練的因素,一些失敗是不可避免的,第 5 章將討論這些內容。
第 6 章解決了提供公平且無偏差模型所面臨的重要挑戰。
第 7 章結束語。