適用於裝置端個人化功能的差異化隱私語意

本文件摘要列出裝置端個人化 (ODP) 的隱私權方法,特別是在差異化隱私的情況下。我們刻意排除其他隱私權影響和設計決策 (例如資料最小化),讓這份文件保持專注。

差異化隱私

差異化隱私1 是統計資料分析和機器學習領域中廣泛採用的隱私權保護措施2 3。相反地,無論對手的記錄是否出現在基礎資料集中,對手從差異化隱私演算法的輸出內容中,所學到的使用者就「幾乎是相同」。這代表對於個人而言較為嚴密的保護措施:對於某個人所做的任何推論,僅是因為該資料集包含或沒有該人物記錄的匯總屬性所致。

在機器學習領域中,演算法的輸出內容應視為已訓練的模型參數。「幾乎是同一件事」這個詞在數學上是用兩個參數 (假設 DISTANCE 表示),其中 DISTANCE 通常會選擇較小的常數,以及 â≪1/(使用者人數)。

隱私權語意

ODP 設計旨在確保每次訓練都是以差異化隱私和使用者層級差異化隱私的做法。以下將概述利用此語意的方式。

威脅模式

我們會定義不同方,以及各方的狀態假設:

  • 使用者:裝置擁有者和開發人員所提供產品或服務的使用者。私人資訊完全可供自己存取。
  • 受信任的執行環境 (TEE):在 TEE 內發生的資料和受信任的運算作業,都不會受到使用各種技術的攻擊者保護。因此,運算和資料不需要額外的保護。現有的 TEE 可能會允許專案管理員存取內部資訊。我們建議自訂功能來禁止及驗證管理員無法存取。
  • 攻擊者:可能會取得使用者的側邊資訊,「而且」可以完整存取 TEE 留下的任何資訊 (例如已發布的模型參數)。
  • 開發人員:定義及訓練模型的人員。視為不受信任 (且具有攻擊者的完整能力)。

我們的目標是採用下列差異化隱私語意來設計 ODP:

  • 信任界線:從單一使用者的角度來看,信任界線是由使用者自己的裝置和 TEE 所構成。凡是離開這個信任範圍的資訊,都應受到差異化隱私的保護。
  • 攻擊者:對攻擊者的完整差異化隱私防護機制。信任範圍外的任何實體都可能是攻擊者 (包括開發人員和其他使用者,所有可能都是碰撞)。攻擊者在信任界線之外的所有資訊 (例如已發布的模型)、任何有關使用者的任何資訊以及無限資源,都無法推斷其他與使用者相關的其他私人資料 (除了已出現在側邊資訊中的資訊外),最高可達隱私預算提供的可能性。具體來說,這代表開發人員為開發人員提供了完整的差異化隱私保護。提供給開發人員的任何資訊 (例如經過訓練的模型參數或匯總推論) 皆受到差異化隱私保護。

本機模型參數

上述的隱私權語意符合部分模型參數裝置本機的情況 (例如模型包含特定使用者嵌入,而非跨使用者共用)。以這類模型來說,這些本機參數仍在信任範圍內 (尚未發布),而且不需要保護,共用模型參數則會發布,並受到差異化隱私保護。這有時也稱為看板廣告隱私權模型 4

公開發布功能

某些應用程式的部分功能為公開狀態。舉例來說,在電影推薦問題中,電影的功能 (電影的導演、類型或發行年份) 屬於公開資訊,因此不需要防護,與使用者相關的功能 (例如受眾特徵資訊或使用者看過哪些電影) 屬於私人資料,因此需要妥善保護。

公開資訊會正式轉換為公開功能矩陣 (在前例中,此矩陣會包含每部電影的一列,每部電影功能一欄),供所有參與單位使用。此矩陣具有差異化隱私的訓練演算法,因此可使用這個矩陣,且不需要加以保護,請參閱範例:5。ODP 平台預計導入這類演算法。

在預測或推論期間保護隱私權的做法

推論是以模型參數和輸入特徵為依據。模型參數使用差異化隱私語意訓練,這裡討論輸入特徵的角色。

在某些情況下,如果開發人員已能完整存取推論中使用的功能,推論時就沒有隱私權方面的疑慮,因此開發人員可能會看到推論結果。

在其他情況下 (如果用於推論的功能屬於私人用途,且開發人員無法存取這項功能),推論結果可能不開放開發人員使用,例如在裝置端執行推論 (以及任何使用該推論結果的下游程序),在程序外以限制通訊的方式執行。

訓練程序

訓練系統整體架構
圖 1:訓練系統高階架構。

總覽

本節概述架構,以及訓練的執行方式,請參閱圖 1。ODP 會實作下列元件:

  • 信任的發行商,例如聯合選取、受信任下載或私人資訊擷取,在播送模型參數中扮演重要角色。我們會假設信任的發布商可傳送部分參數給每個用戶端,而不揭露用戶端下載哪些參數。這種「部分廣播」可讓系統盡量減少使用者裝置上的佔用空間,不會傳送完整的模型副本給任何特定使用者。

  • 信任的集結網站會彙整多個用戶端的資訊 (例如漸層或其他統計資料)、加入雜訊,並將結果傳送到伺服器。我們假設客戶與集結網站之間有可信任的管道,以及客戶和發布商之間的管道。

  • 在這個基礎架構上執行的 DP 訓練演算法。每個訓練演算法都由不同元件 (伺服器、用戶端、集結網站、發布器) 上執行的不同運算組成。

一般的訓練週期包含以下步驟:

  1. 伺服器會將模型參數廣播給信任的發布商。
  2. 用戶端運算
    • 每部用戶端裝置都會收到廣播模型 (或與使用者相關的部分參數)。
    • 每個用戶端都會執行一些運算作業,例如計算梯度或其他充足的統計資料。
    • 每個用戶端都會將計算結果傳送給信任的集結網站。
    • 信任的集結網站會收集、匯總並保護客戶的統計資料,並使用適當的差異化隱私機制,然後將結果傳送至伺服器。
  3. 伺服器運算
  4. (不受信任) 伺服器會根據差異化隱私保護的各項統計資料執行運算 (例如使用差異化隱私匯總梯度來更新模型參數)。

分解模型與差異化隱私變減最小化

ODP 平台預計提供適用於任何模型架構 (例如 DP-SGD 6 7 8 或 DP-FTRL 9 10) 以及專門用於分解模型的演算法。

分解模型是可以解構為子模型 (稱為編碼器或基地台) 的模型。舉例來說,假設有一個格式為 f(u(θu, xu), v(θv, xv)) 的模型,其中 u() 會對使用者特徵 xu (且具有 θu 參數) 進行編碼,而 v() 會對非使用者的特徵 xv (且具有 θv 參數) 進行編碼。這兩種編碼會使用 f() 產生最終的模型預測結果。以電影推薦模型為例,xu 是使用者功能,xv 則是電影特色。

這類模型非常適合上述分散式系統架構 (因為這兩種架構會區分使用者和非使用者功能)。

分解模型將使用差異化私密切換最小化 (DPAM) 進行訓練,這會在最佳化參數 θu (時 θv 固定) 與反過來之間交替進行。事實證明 DPAM 演算法能在各種不同設定中提升實用性4 11,特別是在有公開功能的情況下。

參考資料