數據資產已經成為產品和服務設計的關鍵工具,但是集中采集用戶數據會使個人隱私面臨風險,進而使組織面臨法律風險。從2016年開始,人們開始探索如何在用戶隱私保護下使用數據的所有權和來源,這使得聯邦學習和聯邦分析成為關注的熱點。隨著研究范圍的不斷擴大,聯邦學習已經開始應用到物聯網等更廣泛的領域。
那么,什么是聯邦學習呢?
聯邦學習是在中心服務器或服務提供商的協調下,多個實體協作解決機器學習問題的一種機器學習設置。每個客戶端的原始數據存儲在本地,不進行交換或者傳輸; 相反,使用用于即時聚合的重點數據更新來實現學習的目標。
類似地,從分散數據集的組合信息中產生分析的洞察力,稱為聯邦分析,在聯邦學習中遇到的場景同樣適用于 聯邦分析。
本文簡要介紹了聯合學習和分析中的關鍵概念,重點介紹了如何將隱私技術與現實世界的系統相結合,以及如何利用這些技術在新的領域通過匯總統計數據獲得社會效益,并將個人和數據保管機構的風險降至最低。
1. 隱私保護與聯邦學習
隱私本質上是一個多元概念,有三個關鍵的組成部分: 透明度和用戶許可; 數據最小化; 以及數據的匿名化。
透明度和用戶許可是隱私保護的基礎:,它們是用戶理解和認可其數據使用的方式。隱私保護技術不能取代透明度和用戶許可,但是更容易推斷哪種類型的數據可以被使用或者被設計排除在外 ,從而使隱私聲明更容易理解、驗證和執行。數據使用的目標主要是產生聯邦學習的模型和計算用戶數據的度量或其他聚合統計(如聯邦分析)。
應用于聚合的數據最小化包括僅收集特定計算所需的數據,限制在所有階段都能對該數據進行訪問,盡早處理個人數據 ,并最小保留數據。也就是說,數據最小化意味著將對所有數據的訪問限制在盡可能小的人群中,通常通過安全機制來實現,例如加密,訪問控制,以及安全多方計算和可信執行環境等。
數據匿名化是指計算的最終輸出不會顯示任何個人獨有的東西。當用于匿名聚合時,任何個體用戶提供給計算的數據對最終聚合輸出的影響很小。例如,當向公眾發布聚合統計數據時,包括模型參數在內的聚合統計數據不應因聚合中是否包含特定用戶的數據而有顯著差異。
也就是說,數據最小化涉及計算的執行和數據的處理,而數據匿名化涉及計算和發布的內容。
聯邦學習在結構上體現了數據最小化。需要注意的是,數據收集和聚合在聯邦方法中是不可分割的,客戶端數據被轉換收集以便立即聚合,而分析人員無法訪問每個客戶端的消息。聯邦學習和聯邦分析是體現數據最小化實踐的一般聯邦計算模式的實例。傳統的方法是集中處理,即用數據收集取代設備上的預處理和聚合,在處理日志數據期間,數據的最小化發生在服務器上。
聯邦學習和聯邦分析的目標是與匿名聚合的目標一致的。使用機器學習,目標是訓練一個能夠準確預測所有用戶的模型,而不會過度擬合。同樣,對于統計查詢,目標是估計統計數據,這也不應該受到任何一個用戶數據的太大影響。
聯邦學習與差分隱私等隱私保護技術相結合,可以確保發布的聚合具有足夠的匿名性。在很多情況下,數據匿名可能不適用,服務提供者直接訪問個人的敏感數據是不可避免的,但是在這些交互中,服務提供者應該只為預期目的來使用數據。
2. 聯邦學習要點
聯邦學習的特點是保持了原始數據去中心化和通過聚合進行學習。本地生成的數據在分布和數量上都是異構的,這使得聯邦學習與傳統的基于數據中心的分布式學習環境區別開來,后者的數據可以任意分布和清洗,計算中的任何節點都可以訪問任何數據。實際上,控制中心的作用是顯著的,并且通常是必要的,例如對于缺乏固定 IP 地址并且需要中心服務器來通信的移動設備。
2.1 典型場景和應用
有兩個聯邦場景得到了特別的關注:
跨設備聯邦學習,客戶端是大量的移動設備或物聯網設備。
跨組織的聯邦學習,客戶端通常是一個較小的組織、機構或其他數據孤島。
表1,改編自 Kairouz 等人,10總結了 FL 設置的關鍵特征,并強調了跨設備和跨豎井設置之間的一些關鍵差異,以及與數據中心分布式學習的對比。
跨設備的聯邦學習已經被分別用于 Android 和 iOS 手機,用于許多應用程序,例如鍵盤預測??缃M織的聯邦學習被用于健康研究等問題。另一個正在興起的應用是金融,來自 WeBank、瑞士信貸(Credit Suisse)、英特爾(Intel)等公司的投資。
聯邦學習典型場景的特征對比如下表所示:
項目 | 數據中心分布式學習 | 跨組織的聯邦學習 | 跨設備的聯邦學習 |
配置 | 在大型扁平數據集上訓練模型,客戶端是一個集群或一個數據中心上的節點 | 跨越數據孤島訓練模型,客戶端是不同的組織或者不同地域的數據中心 | 客戶端是海量的移動設備或者IoT設備 |
數據分布 | 數據是中心存儲的,可以跨客戶端清洗和均衡。任一客戶端可以訪問數據集的任一部分。 | 數據本地產生并存儲,保持了去中心化。每一客戶端不能訪問其他客戶端的數據,數據不是獨立的或同質分布的 | 數據本地產生并存儲,保持了去中心化。每一客戶端不能訪問其他客戶端的數據,數據不是獨立的或同質分布的 |
編排 | 集中編排 | 集中編排服務但原始數據不可見 | 集中編排服務但原始數據不可見 |
分布規模 | 1~1000 | 2~100 | 成萬上億 |
客戶端屬性 | 客戶端真實可信,總是參與計算,并在計算中保持狀態。 | 客戶端真實可信,總是參與計算,并在計算中保持狀態。 | 并非所有客戶端可用,通常從可用設備中隨機抽樣。大量客戶端在一次計算著只參與一次。 |
2.2 聯邦學習算法
機器學習尤其是深度學習,一般都是數據饑餓和計算密集型的,因此聯合訓練質量模型的可行性還遠遠沒有達到預定的結論。聯邦學習算法建立在經典的隨機梯度下降算法的基礎上,該隨機梯度下降算法被廣泛用于傳統環境下訓練機器學習模型。該模型是一個從訓練樣本到預測的函數,由模型權重向量參數化,以及一個測量預測與真實輸出之間誤差的損失函數組成。通過采樣一批訓練樣本(通常從數萬到數千) ,計算損失函數相對于模型權重的平均梯度,然后在梯度的相反方向調整模型權重。通過適當調整每次迭代的步長,即使對于非凸函數,也可以得到具有令人滿意的收斂性。
擴展到聯邦學習,是將當前的模型權重廣播給一組隨機的客戶端,讓它們各自計算本地數據上的損失梯度,在服務器上的客戶端上平均這些梯度,然后更新全局模型權重。然而, 通常需要更多多次迭代才能產生高精度的模型。粗略的計算表明,在聯邦學習環境下,一次迭代可能需要幾分鐘,這意味著聯邦訓練可能需要一個月到一年的時間,超出了實用性的范圍。
聯邦學習的關鍵思想是直觀的,通過在每個設備上本地執行隨機梯度下降的多個步驟來降低通信和啟動成本,然后減少模型更新的平均次數。如果模型在每個局部步驟之后取平均值,那么可能太慢了; 如果模型取平均值太少,就可能會發散,而取平均值可能會產生更差的模型。
模型訓練可以簡化為聯邦聚合的應用程序,即模型梯度或更新的平均值。
2.3 典型工作流程
擁有一個可行的聯邦算法是一個必要的起點,但是,如果要使跨設備聯邦學習成為驅動產品團隊的一個有效方法,則需要更多的東西。對于跨設備聯邦學習而言,典型的工作流程通常如下:
(1)識別問題
通常這意味著需要一個中等大小(1-50MB)設備上的模型; 設備上可用的潛在訓練數據比數據中心可用的數據更豐富或更具代表性; 有隱私或其他原因傾向于不集中數據; 訓練模型所需的反饋信號在設備上很容易獲得。
(2)模型開發和評估
與任何機器學習任務一樣,選擇正確的模型結構和超參數(學習率、批量大小、正則化)對于機器學習的成功至關重要。在聯邦學習中,挑戰可能更大,它引入了許多新的超參數,例如,每輪參與的客戶端數量,需要執行多少本地步驟等。通常的起點是使用基于數據中心中可用代理數據的聯邦學習來模擬,并進行粗模型選擇和調優。最終的調整和評估必須使用真實設備上的聯邦訓練來進行。評估還必須以聯合方式進行: 獨立于訓練過程,候選全局模型被發送到設備,以便準確度指標可以在這些設備的本地數據集上計算并由服務器匯總,例如每個客戶端性能的簡單平均值和直方圖都很重要。這些需求產生了兩個關鍵的基礎設施需求: (1)提供高性能的聯邦學習模擬基礎設施,允許平穩過渡到在真實設備上運行; (2)跨設備基礎設施,使其易于管理多個同時進行的訓練和評估任務。
(3)部署
一旦在步驟2中選擇了一個高質量的候選模型,該模型的部署通常遵循與數據中心訓練模型相同的程序,包括額外的驗證和測試(可能包括手動質量保證) ,與以前的生產模型進行比較的現場 A/B 測試,以及分階段推出到整個設備群(可能比實際參與模型訓練的設備多出幾個數量級)。
值得注意的是,步驟2中的所有工作對參與訓練和評估的設備用戶體驗沒有影響; 使用聯邦學習進行訓練的模型不會讓用戶看到預測,除非他們完成了部署步驟。確保這種處理不會對設備造成負面影響是一個關鍵的基礎設施挑戰。例如,密集計算可能只在設備空閑、網絡空閑上時執行。
這些工作流程為構建可伸縮的基礎設施和 API 是一個重大挑戰。
3. 聯邦計算中的隱私保護
聯邦學習提供了各種開箱即用的隱私優勢。本著數據最小化的原則,原始數據保留在設備上,發送到服務器的更新集中在一個特定的目標上,且盡可能快地聚合。特別地,沒有非聚合數據保存在服務器上,端對端加密保護傳輸中的數據,解密密鑰和解密值都只是暫時保存在 RAM 中。與系統交互的機器學習工程師和分析師只能訪問聚合數據。聚合是在聯邦方法中的基本作用,使得限制任何單個客戶對輸出的影響成為自然而然的事情,但如果目標是提供更正式的保證,比如差分隱私,那么算法就需要仔細設計。
雖然基本的聯邦學習方法已經被證明是可行的,并得到了大量的采用,但是仍然遠遠不能默認使用,與公平性、準確性、開發速度和計算成本之間的內在緊張關系可能會阻礙數據最小化和匿名化方法。因此,我們需要可組合的隱私增強技術。最終,關于隱私技術部署的決定是由產品或服務團隊在與特定領域的隱私、政策和法律專家協商后做出的。產品能夠通過可用的聯邦學習系統提供更多的隱私保護,或許更重要的是,隨著時間的推移,幫助政策專家加強隱私定義和要求。
在考慮聯邦系統的隱私特性時,考慮訪問點和威脅模型是有用的。參與者可以訪問物理設備或網絡嗎?通過 root 或物理訪問提供 FL 服務的服務器?發布給機器學習工程師的模型和度量?最終部署的模型?當信息流經這個系統時,潛在的惡意方的數量變化很大。因此,隱私聲明必須評估為一個完整的端到端系統。如果沒有采取適當的安全措施來保護設備上的原始數據或傳輸中的中間計算狀態,那么最終部署的模型是否存儲用戶數據的保證可能無關緊要。
數據最小化通過提高安全性和最小化數據和中間結果的保留來解決設備、網絡和服務器的潛在威脅。當模型和度量被發布給模型工程師或部署到生產環境中時,匿名聚合將保護個人數據不受訪問這些已發布輸出的各方的影響。
3.1 聚合數據最小化
在聯邦計算的幾個點上,參與者期望彼此采取適當的操作,而且只能采取那些操作。例如,服務器期望客戶端準確地執行他們的預處理步驟; 客戶端期望服務器將他們的個人更新保密,直到它們被聚合; 客戶端和服務器都期望數據分析師和已部署的機器學習模型用戶都不能提取個人數據; 等等。
保護隱私的技術支持這些跨組成部分的結構性執行,防止參與者偏離。事實上,聯邦系統本身可以被視為一種保護隱私的技術,從結構上防止服務器訪問客戶端提交的更新中沒有包含的任何客戶端數據。
以聚合階段為例。一個理想化的系統可以想象一個完全可信的第三方聚合客戶端的更新,并且只向服務器顯示最終的聚合。實際上,通常不存在這種相互信任的第三方來扮演這個角色,但是各種技術允許 聯邦學習系統在各種條件下模擬這樣的第三方。
例如,服務器可以在一個安全區域內運行聚合過程,這個安全區域是一個特殊構造的硬件,它不僅可以向客戶機證明它正在運行什么代碼,還可以確保沒有人可以觀察或篡改代碼的執行。然而,目前,安全環境的可用性是有限的,無論是在云端還是在消費者設備上,可用的安全環境可能只實現一些指定的屬性領域。此外,即使在可用和功能齊全的情況下,安全環境也可能帶來額外的限制,包括非常有限的內存或速度; 容易受到通過副通道暴露的數據(例如,緩存定時攻擊) ; 難以驗證的正確性; 依賴于制造商提供的認證服務(如密鑰保密) 等等。
用于多方安全計算的分布式加密協議可以協同使用來模擬可信的第三方,而不需要專門的硬件,只要參與者的足夠誠實。雖然任意函數的多方安全計算在大多數情況下仍然是計算上的障礙,但是已經開發了聯邦環境中向量求和的專門聚合算法,即使對觀察服務器并控制大部分客戶端的對手也可以保護隱私,同時保持對客戶端退出計算的魯棒性:
通信效率——每個客戶端的 O (log n + l)通信,其中 n 表示用戶數量,l 表示向量長度,在廣泛的應用中,小常數產生的通信量不到聚合通信量的兩倍;
計算效率——每個客戶端的 O (log2n + llogn)計算
密碼安全聚合協議已經在商業聯邦計算系統中部署了很多。除了私有聚合之外,隱私保護技術還可以用于保護 聯邦系統的其他部分。例如,安全環境或加密技術(例如,零知識證明)可以確保服務器可以信任客戶端已經如實地進行了預處理。甚至模型廣播階段也可以受益: 對于許多學習任務,一個單獨的客戶端可能只有與模型的一小部分相關的數據,在這種情況下,客戶端可以私下檢索模型的那一部分用于訓練,再次使用安全環境或加密技術,以確保服務器不會了解與客戶端有相關訓練數據的模型的任何部分。
3.2 計算和驗證的匿名聚合
雖然安全環境和隱私聚合技術可以加強數據最小化,但它們并非專門用于生成匿名聚合的。例如,限制用戶對正在訓練模型的影響。事實上,學習的模型在某些情況下是會泄露敏感信息的。
數據匿名的標準方法是差分隱私。對于一個聚合數據庫中記錄的通用過程,差分隱私需要將任何記錄的貢獻限定在聚合上,然后添加一個適當比例的隨機擾動。例如,在差分隱私隨機梯度下降算法中,剪切了梯度的范數,聚合了剪切后的梯度,并在每個訓練回合中添加高斯噪聲。
差分隱私算法必然是隨機的,因此可以考慮由算法產生的模型在特定數據集上的分布。直觀地說,當差分隱私算法運行在單個記錄不同的輸入數據集上時,這種模型之間的分布是相似的。形式上,差分隱私由隱私損失參數(ε,δ)量化,其中較小的(ε,δ)對應于增加的隱私。這不僅僅是簡單地將模型的靈敏度限制在每個記錄上,通過添加與任何記錄的影響成比例的噪聲,從而確保足夠的隨機性來掩蓋任何一個記錄對輸出的貢獻。
在跨設備聯邦學習的場景中,記錄被定義為單個用戶/客戶端的所有訓練實例。差分隱私可以是用戶級的,也可以是比例級。即使在中心化的配置中,聯邦學習算法也非常適合用戶級隱私保證的訓練,因為它們從一個用戶的所有數據中計算出一個單一的模型更新,使得更容易綁定每個用戶對模型更新的總影響。
在跨設備聯邦學習系統的背景下提供形式(ε,δ)保證可能特別具有挑戰性,因為所有合格用戶的集合是動態的,并且事先不知道,參與的用戶可能在訓練階段中的任何點退出,構建一個適用于生產型聯邦學習系統的端到端協議仍然是一個需要解決的重要問題。
在跨組織聯邦學習的場景中,隱私單元可以具有不同的含義。例如,如果參與機構希望確保能夠訪問模型迭代或最終模型無法確定某個特定機構的數據集是否用于該模型的訓練,則可以將記錄定義為數據孤島中的所有示例。用戶級差分隱私在跨組織設置中仍然有意義。然而,如果多個機構擁有來自同一個用戶的記錄,實施用戶級隱私可能會更具挑戰性。
過去的差分隱私數據分析主要是用于中央或可信聚合器,其中原始數據由實現差分隱私算法的可信服務提供商收集。本地差分隱私避免了對完全可信的聚合器的需要,但是會導致精確度的急劇下降。
為了恢復中心化差分隱私的效用而不必依賴于一個完全可信的中央服務器,可以使用一些新興的方法,通常稱為分布式差分隱私。目標是在服務器看到輸出之前(以明文形式)使輸出具有不同的隱私性。在分布式差分隱私下,客戶端首先計算特定于應用程序的最小數據,用隨機噪聲輕微干擾這些數據,并執行隱私聚合協議。然后,服務器只能訪問隱私聚合協議的輸出。單個客戶添加的噪音通常不足以為本地差分提供有意義的擔保。然而,在隱私聚合之后,隱私聚合協議的輸出基于所有客戶端的噪聲總和提供了更強的 DP 保證。根據隱私聚合協議所需的安全假設,這甚至適用于具有服務器訪問權限的人。
對于一個提供正式用戶級隱私保證的算法,不僅必須將模型的靈敏度與每個用戶的數據綁定在一起,而且還必須添加與該靈敏度成比例的噪聲。雖然需要添加足夠的隨機噪聲來確保差分隱私定義具有足夠小的 ε 來提供強有力的保證,但是即使使用小噪聲限制靈敏度也可以顯著降低破譯。因為差分隱私假設了一個“最壞情況的對手”,具有無限的計算和訪問任意側的信息。這些假設在實踐中往往是不切實際的。因此,使用限制每個用戶影響的差分隱私算法進行訓練具有實質性的優勢。然而,設計實用的聯邦學習和聯邦分析算法來實現小 ε 的保證是一個重要的研究領域。
模型審計技術可以用來進一步量化用差分隱私進行訓練的優勢。它們包括量化模型過度學習或罕見訓練例子的程度,以及量化在何種程度上可以推斷用戶是否在訓練期間使用該技術。這些審計技術甚至在使用大 ε 時也很有用,它們可以量化差分隱私最壞情況下的對手與計算能力和側面信息有限的現實對手之間的差距。它們還可以作為壓力測試的補充技術: 與差分隱私的正式數學聲明不同,這些審計技術適用于完整的端到端系統,可能捕獲軟件錯誤或錯誤的參數選擇。
4. 聯邦分析
除了學習機器學習模型之外,數據分析師通常對將數據科學方法應用于分析本地用戶設備上的原始數據感興趣。例如,分析師可能對聚合模型度量、流行趨勢和活動或地理空間位置熱力圖感興趣。所有這些都可以通過使用聯邦分析來完成。與聯邦學習類似,聯邦分析的工作方式是對每個設備的數據運行本地計算,并且只提供聚合的結果。然而,與聯邦學習不同的是,聯邦分析旨在支持基本的數據科學需求,如計數、平均值、直方圖、分位數和其他類似 SQL 的查詢。
對于一個應用程序,其中分析人員希望使用聯邦分析來學習許多用戶共享的音樂庫中最常播放的10首歌曲??梢允褂蒙厦嬗懻摰穆摪罴夹g和隱私技術來執行此任務。例如,客戶端可以將他們聽過的歌曲編碼成一個長度等于庫大小的二進制向量,并使用分布式差分隱私來確保服務器只能看到這些向量的一個值,給出每首歌曲有多少用戶播放的 差分隱私直方圖。
然而,聯邦分析任務與聯邦學習任務在幾個方面有所不同:
聯邦分析算法通常是非交互式的,并且涉及大量客戶端。換句話說,與聯邦學習應用不同,在一輪中擁有更多的客戶是沒有收益遞減的。因此,在聯邦分析中應用差分隱私的挑戰性較小,因為每一輪可以包含大量的客戶,并且需要的輪數較少。
相同的客戶沒有必要再次參與以后的輪次。事實上,再次參與的客戶可能還會使算法的結果產生偏差。因此,一個限制任何個體可以參與的次數的基礎結構可以最好地服務聯邦分析任務。
聯邦分析任務通常是稀疏的,這使得有效的隱私稀疏聚合成為一個特別重要的主題。
值得注意的是,盡管限制客戶參與和稀疏聚合與聯邦分析特別相關,但它們也可以應用于聯邦學習問題。
5. 小結
聯邦學習正在應用到更多類型的數據和問題領域,甚至已經被認為是隱私計算的重要方式,即面向AI的隱私保護手段,個人精力所限,本文沒有涉及聯邦學習中個性化、健壯性、公平性和系統實現的挑戰。關于聯邦學習的實踐,TensorFlow Federated 或許是一個不錯的起點。