Ce document résume l'approche adoptée pour la personnalisation sur l'appareil (ODP) dans le contexte de la confidentialité différentielle. D'autres implications sur la confidentialité et les décisions de conception, telles que la minimisation des données, sont volontairement omises pour que ce document reste au premier plan.
Confidentialité différentielle
La confidentialité différentielle1 est une norme largement adoptée pour la protection de la confidentialité dans l'analyse de données statistiques et le machine learning2 3. Il est annoncé de façon informelle qu'un adversaire apprend presque la même chose d'un utilisateur à partir des résultats d'un algorithme à confidentialité différentielle, que son enregistrement apparaisse ou non dans l'ensemble de données sous-jacent. Cela implique des protections solides pour les individus: toute inférence sur une personne ne peut être due qu'aux propriétés agrégées de l'ensemble de données qui contiendrait ou non son dossier.
Dans le contexte du machine learning, la sortie de l'algorithme doit être considérée comme les paramètres du modèle entraîné. L'expression presque la même chose est quantifiée mathématiquement par deux paramètres (Ψ, ・), où Education est généralement choisi comme une petite constante, et ・≪1/(nombre d'utilisateurs).
Sémantique de confidentialité
La conception de l'ODP vise à s'assurer que chaque exécution d'entraînement présente une confidentialité différentielle au niveau de l'utilisateur (β,{6/}). Vous trouverez ci-dessous notre approche pour atteindre cette sémantique.
Type de menace
Nous définissons les différentes parties et énonçons des hypothèses à leur sujet:
- Utilisateur:utilisateur propriétaire de l'appareil et consommateur des produits ou services fournis par le développeur. Leurs informations privées restent entièrement disponibles pour eux.
- Environnement d'exécution sécurisé (TEE) : les données et les calculs fiables qui ont lieu au sein des TEE sont protégés contre les pirates informatiques utilisant diverses technologies. Par conséquent, le calcul et les données ne nécessitent aucune protection supplémentaire. Les TEE existants peuvent autoriser les administrateurs de projet à accéder aux informations qu'ils contiennent. Nous proposons des fonctionnalités personnalisées pour interdire l'accès à un administrateur et confirmer qu'il n'est pas autorisé.
- Attaquant:il peut disposer d'informations secondaires sur l'utilisateur et dispose d'un accès complet à toutes les informations quittant le TEE (comme les paramètres du modèle publié).
- Développeur:personne qui définit et entraîne le modèle. est considéré comme non fiable (et a toute l’étendue des capacités de l’attaquant).
Nous cherchons à concevoir l'ODP avec la sémantique suivante de confidentialité différentielle:
- Limite de confiance:du point de vue d'un utilisateur, la limite de confiance est constituée de l'appareil de l'utilisateur et du TEE. Toute information qui quitte cette limite de confiance doit être protégée par la confidentialité différentielle.
- Attaquant:protection de la confidentialité différentielle complète vis-à-vis du pirate informatique. Toute entité située en dehors de la limite de confiance peut être un pirate informatique (y compris le développeur et d'autres utilisateurs, qui sont potentiellement coopératifs). Compte tenu de toutes les informations en dehors de la limite de confiance (par exemple, le modèle publié), des informations secondaires sur l'utilisateur et des ressources infinies, il ne peut pas déduire d'autres données privées sur l'utilisateur (au-delà de celles déjà présentes dans les informations secondaires), selon les probabilités données par le budget Privacy Budget. Cela implique en particulier une protection différentielle complète de la confidentialité vis-à-vis du développeur. Toutes les informations transmises au développeur (telles que les paramètres de modèle entraînés ou les inférences agrégées) sont protégées par la confidentialité différentielle.
Paramètres du modèle locaux
La sémantique de confidentialité précédente s'adapte au cas où certains paramètres du modèle sont localisés sur l'appareil (par exemple, un modèle contenant une représentation vectorielle continue d'utilisateur propre à chaque utilisateur et non partagée entre les utilisateurs). Pour ces modèles, ces paramètres locaux restent dans la limite de confiance (ils ne sont pas publiés) et ne nécessitent aucune protection, tandis que les paramètres de modèles partagés sont publiés (et sont protégés par la confidentialité différentielle). On parle parfois de modèle de confidentialité de l'affiche publicitaire4.
Fonctionnalités publiques
Dans certaines applications, certaines fonctionnalités sont publiques. Par exemple, dans un problème de recommandation de film, les caractéristiques d'un film (réalisateur, genre ou année de sortie du film) sont des informations publiques et ne nécessitent pas de protection, tandis que les fonctionnalités liées à l'utilisateur (comme les informations démographiques ou les films qu'il a regardés) sont des données privées et doivent être protégées.
Les informations publiques sont formalisées sous la forme d'une matrice de fonctionnalités publiques (dans l'exemple précédent, cette matrice contiendrait une ligne par film et une colonne par fonctionnalité de film), qui est accessible à toutes les parties. L'algorithme d'entraînement à confidentialité différentielle peut exploiter cette matrice sans avoir à la protéger (voir l'exemple 5). La plate-forme ODP prévoit d'implémenter de tels algorithmes.
Approche de la confidentialité lors de la prédiction ou de l'inférence
Les inférences sont basées sur les paramètres du modèle et sur les caractéristiques d'entrée. Les paramètres du modèle sont entraînés selon la sémantique de confidentialité différentielle. Le rôle des caractéristiques d'entrée est abordé ici.
Dans certains cas d'utilisation, lorsque le développeur dispose déjà d'un accès complet aux fonctionnalités utilisées par l'inférence, l'inférence ne pose aucun problème de confidentialité et le résultat de l'inférence peut être visible par le développeur.
Dans d'autres cas (lorsque les fonctionnalités utilisées dans l'inférence sont privées et inaccessibles au développeur), le résultat de l'inférence peut être masqué pour le développeur, par exemple en exécutant l'inférence (et tout processus en aval qui utilise le résultat de l'inférence) sur l'appareil, dans un processus et une zone d'affichage appartenant à l'OS, avec une communication limitée en dehors de ce processus.
Procédure d'entraînement
Présentation
Cette section présente l'architecture et le déroulement de l'entraînement (voir la figure 1). L'ODP implémente les composants suivants:
Distributeur de confiance, tel que la sélection fédérée, le téléchargement fiable ou la récupération d'informations privées, qui joue le rôle de paramètres de modèle de diffusion. Nous partons du principe que le distributeur de confiance peut envoyer un sous-ensemble de paramètres à chaque client, sans révéler les paramètres téléchargés par quel client. Cette "diffusion partielle" permet au système de réduire l'encombrement sur l'appareil de l'utilisateur final: au lieu d'envoyer une copie complète du modèle, seule une partie des paramètres du modèle est envoyée à un utilisateur donné.
Un agrégateur de confiance qui regroupe les informations provenant de plusieurs clients (par exemple, les gradients ou d'autres statistiques), ajoute du bruit et envoie le résultat au serveur. Nous partons du principe qu'il existe des canaux de confiance entre le client et l'agrégateur, et entre le client et le distributeur.
algorithmes d'entraînement DP exécutés sur cette infrastructure. Chaque algorithme d'entraînement consiste en différents calculs exécutés sur les différents composants (serveur, client, agrégateur, distributeur).
Un cycle d'entraînement comprend généralement les étapes suivantes:
- Le serveur diffuse les paramètres du modèle au distributeur de confiance.
- Calcul client
- Chaque appareil client reçoit le modèle de diffusion (ou le sous-ensemble de paramètres pertinents pour l'utilisateur).
- Chaque client effectue certains calculs (par exemple, le calcul de gradients ou d'autres statistiques suffisantes).
- Chaque client envoie le résultat du calcul à l'agrégateur approuvé.
- L'agrégateur de confiance collecte, regroupe et protège en utilisant des mécanismes de confidentialité différentielle appropriés les statistiques des clients, puis envoie le résultat au serveur.
- Calcul du serveur
- Le serveur (non approuvé) exécute des calculs sur les statistiques protégées par confidentialité différentielle (par exemple, il utilise des gradients agrégés à confidentialité différentielle pour mettre à jour les paramètres du modèle).
Modèles factorisés et minimisation alternée à confidentialité différentielle
La plate-forme ODP prévoit de fournir des algorithmes d'entraînement à confidentialité différentielle à usage général pouvant être appliqués à n'importe quelle architecture de modèle (comme DP-SGD 6 7 8 ou DP-FTRL 9 10), ainsi que des algorithmes spécialisés dans les modèles factorisés.
Les modèles factorisés sont des modèles qui peuvent être décomposés en sous-modèles (appelés encodeurs ou tours). Prenons l'exemple d'un modèle au format f(u(θu, xu), v(θv, xv))
, dans lequel u()
encode les caractéristiques utilisateur xu
(avec les paramètres θu
), et v()
encode les caractéristiques non utilisateur xv
(et contient les paramètres θv
). Les deux encodages sont combinés à l'aide de f()
pour produire la prédiction finale du modèle. Par exemple, dans un modèle de recommandation de films, xu
sont les caractéristiques utilisateur et xv
les caractéristiques de film.
Ces modèles sont bien adaptés à l'architecture système distribuée susmentionnée, car ils distinguent les fonctionnalités utilisateur de celles qui ne le sont pas.
Les modèles factorisés seront entraînés à l'aide de la minimisation en alternance à confidentialité différentielle (DPAM), qui alterne l'optimisation des paramètres θu
(tandis que θv
est fixe) et inversement. Il a été démontré que les algorithmes DPAM sont plus utiles dans divers contextes4 11, en particulier en présence de fonctionnalités publiques.
Références
- 1: Dwork et al. Calibrating Noise to Sensitivity in Private Data Analysis, TCC'06
- 2: Bureau du recensement des États-Unis (US Census Bureau). Understanding Differential Privacy, 2020
- 3: Federated Learning with Formal Differential Privacy Protections, article de blog de Google sur l'IA, 2020
- 4: Jain et al. Differentially Private Model Personalization, NeurIPS'21
- 5: Krichene et al. Private Learning with Public Features, 2023
- 6: Song et al. Stochastic gradient descent with différentially private updates, GlobalSIP'13
- 7: Differentially Private Empirical Risk Minimization: Effective Algorithms and Tight Error Bounds, FOCS'14
- 8: Abadi et al. Deep Learning with Differential Privacy, CCS 2016
- 9: Smith et al. (Nearly) Optimal Algorithms for Private Online Learning in Full-information and Bandit Settings, NeurIPS'13
- 10: Kairouz et al., Practical and Private (Deep) Learning without Sampling or Shuffling, ICML 2021
- 11: Chien et al. Private Alternating Least Squares (ICML 2021)