資料資産已經成為産品和服務設計的關鍵工具,但是集中采集使用者資料會使個人隐私面臨風險,進而使組織面臨法律風險。從2016年開始,人們開始探索如何在使用者隐私保護下使用資料的所有權和來源,這使得聯邦學習和聯邦分析成為關注的熱點。随着研究範圍的不斷擴大,聯邦學習已經開始應用到物聯網等更廣泛的領域。

那麼,什麼是聯邦學習呢?
聯邦學習是在中心伺服器或服務提供商的協調下,多個實體協作解決機器學習問題的一種機器學習設定。每個用戶端的原始資料存儲在本地,不進行交換或者傳輸; 相反,使用用于即時聚合的重點資料更新來實作學習的目标。
類似地,從分散資料集的組合資訊中産生分析的洞察力,稱為聯邦分析,在聯邦學習中遇到的場景同樣适用于 聯邦分析。
本文簡要介紹了聯合學習和分析中的關鍵概念,重點介紹了如何将隐私技術與現實世界的系統相結合,以及如何利用這些技術在新的領域通過彙總統計資料獲得社會效益,并将個人和資料保管機構的風險降至最低。
1. 隐私保護與聯邦學習
隐私本質上是一個多元概念,有三個關鍵的組成部分: 透明度和使用者許可; 資料最小化; 以及資料的匿名化。
透明度和使用者許可是隐私保護的基礎:,它們是使用者了解和認可其資料使用的方式。隐私保護技術不能取代透明度和使用者許可,但是更容易推斷哪種類型的資料可以被使用或者被設計排除在外 ,進而使隐私聲明更容易了解、驗證和執行。資料使用的目标主要是産生聯邦學習的模型和計算使用者資料的度量或其他聚合統計(如聯邦分析)。
應用于聚合的資料最小化包括僅收集特定計算所需的資料,限制在所有階段都能對該資料進行通路,盡早處理個人資料 ,并最小保留資料。也就是說,資料最小化意味着将對所有資料的通路限制在盡可能小的人群中,通常通過安全機制來實作,例如加密,通路控制,以及安全多方計算和可信執行環境等。
資料匿名化是指計算的最終輸出不會顯示任何個人獨有的東西。當用于匿名聚合時,任何個體使用者提供給計算的資料對最終聚合輸出的影響很小。例如,當向公衆釋出聚合統計資料時,包括模型參數在内的聚合統計資料不應因聚合中是否包含特定使用者的資料而有顯著差異。
也就是說,資料最小化涉及計算的執行和資料的處理,而資料匿名化涉及計算和釋出的内容。
聯邦學習在結構上展現了資料最小化。需要注意的是,資料收集和聚合在聯邦方法中是不可分割的,用戶端資料被轉換收集以便立即聚合,而分析人員無法通路每個用戶端的消息。聯邦學習和聯邦分析是展現資料最小化實踐的一般聯邦計算模式的執行個體。傳統的方法是集中處理,即用資料收集取代裝置上的預處理和聚合,在處理日志資料期間,資料的最小化發生在伺服器上。
聯邦學習和聯邦分析的目标是與匿名聚合的目标一緻的。使用機器學習,目标是訓練一個能夠準确預測所有使用者的模型,而不會過度拟合。同樣,對于統計查詢,目标是估計統計資料,這也不應該受到任何一個使用者資料的太大影響。
聯邦學習與差分隐私等隐私保護技術相結合,可以確定釋出的聚合具有足夠的匿名性。在很多情況下,資料匿名可能不适用,服務提供者直接通路個人的敏感資料是不可避免的,但是在這些互動中,服務提供者應該隻為預期目的來使用資料。
2. 聯邦學習要點
聯邦學習的特點是保持了原始資料去中心化和通過聚合進行學習。本地生成的資料在分布和數量上都是異構的,這使得聯邦學習與傳統的基于資料中心的分布式學習環境差別開來,後者的資料可以任意分布和清洗,計算中的任何節點都可以通路任何資料。實際上,控制中心的作用是顯著的,并且通常是必要的,例如對于缺乏固定 IP 位址并且需要中心伺服器來通信的移動裝置。
2.1 典型場景和應用
有兩個聯邦場景得到了特别的關注:
- 跨裝置聯邦學習,用戶端是大量的移動裝置或物聯網裝置。
- 跨組織的聯邦學習,用戶端通常是一個較小的組織、機構或其他資料孤島。
表1,改編自 Kairouz 等人,10總結了 FL 設定的關鍵特征,并強調了跨裝置和跨豎井設定之間的一些關鍵差異,以及與資料中心分布式學習的對比。
跨裝置的聯邦學習已經被分别用于 Android 和 iOS 手機,用于許多應用程式,例如鍵盤預測。跨組織的聯邦學習被用于健康研究等問題。另一個正在興起的應用是金融,來自 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首歌曲。可以使用上面讨論的聯邦技術和隐私技術來執行此任務。例如,用戶端可以将他們聽過的歌曲編碼成一個長度等于庫大小的二進制向量,并使用分布式差分隐私來確定伺服器隻能看到這些向量的一個值,給出每首歌曲有多少使用者播放的 差分隐私直方圖。
然而,聯邦分析任務與聯邦學習任務在幾個方面有所不同:
- 聯邦分析算法通常是非互動式的,并且涉及大量用戶端。換句話說,與聯邦學習應用不同,在一輪中擁有更多的客戶是沒有收益遞減的。是以,在聯邦分析中應用差分隐私的挑戰性較小,因為每一輪可以包含大量的客戶,并且需要的輪數較少。
- 相同的客戶沒有必要再次參與以後的輪次。事實上,再次參與的客戶可能還會使算法的結果産生偏差。是以,一個限制任何個體可以參與的次數的基礎結構可以最好地服務聯邦分析任務。
- 聯邦分析任務通常是稀疏的,這使得有效的隐私稀疏聚合成為一個特别重要的主題。
5. 小結
- 從隐私到隐私計算
- 算法與模型的淺析
- 淺談元宇宙中的VR技術
- 一文讀懂“語言模型”
- Linux 核心裁剪架構初探
- “低代碼”十問
- 一文讀懂中間件
- 關于區塊鍊的一點經濟學思考
- 熟悉而陌生——那些個系統抽象
- 資料摘要的常見方法
- 溫故知新:靜态分析
- 資料系統讀寫權衡的一知半解
- API的性能約定