La differential privacy avec Nicolas Grislain - Sarus
💡 millefeuille.ai: le media pour comprendre les enjeux de l’IA et les mettre à profit dans notre société et nos métiers — par un collectif d’ingénieurs & d’entrepreneurs français.
Salut à tous !
Nous sommes heureux de continuer notre initiative, ❤️ Au coeur de l’IA, une immersion profonde dans le monde fascinant de l'intelligence artificielle avec des visionnaires du secteur 🙌
Ta voix compte énormément pour nous. Partage-nous tes impressions, tes questions, tes suggestions. Car cette aventure évoluera en fonction de tes retours et de ce que tu désires explorer ! 🙏
Aujourd'hui, nous partageons notre conversation avec Nicolas Grislain, CSO (Chief Science Officer) de Sarus.
Au menu aujourd’hui :
💡 Le concept de confidentialité différentielle
🚨 Les risques de fuite de données
🛠 Les solutions d’output privacy
👀 Où se renseigner - les sources recommandées par Nicolas
Si quelqu’un t’a transféré cette édition et que tu souhaites t’inscrire à millefeuille.ai c’est par ici :
🍰 MF : Bonjour Nicolas, pourrais-tu te présenter rapidement et expliquer ce que fait Sarus, la société que tu as co-fondée ?
👉 Nicolas :
Après mes études en mathématiques appliqués et informatique j'ai fait de la modélisation économique et financière quelques années avant de créer la société AlephD en 2012 avec Maxime Agostini et Vincent Lepage. AlephD a développé un outil pour optimiser la mise en vente d'espaces publicitaires en utilisant des algos de Machine Learning (ML). La société a bien marché et a été rachetée en 2016 par AOL, filiale de Verizon. En 2020, nous nous sommes relancés avec la même équipe de fondateurs dans l'aventure Sarus.
Sarus propose des outils pour faire de l'analyse de données et du ML sur données personnelles avec garanties de confidentialité. L'utilisateur peut interagir avec les données sans jamais les voir et les résultats d'analyse sont protégés par une garantie mathématique : la Confidentialité Différentielle (Differential Privacy ou DP). L’utilisateur peut écrire du code et évaluer son code qui est soit modifié pour ajouter une garantie de DP, soit évalué sur données synthétiques, comme ici.
On peut définir Sarus comme une société qui fournit une solution d'output privacy.
🍰 MF : Peux-tu expliquer en quelques mots en quoi consiste la Differential Privacy et en quoi les avancées récentes de l'Intelligence Artificielle (IA) facilitent son adoption ?
👉 Nicolas :
La Differential Privacy (DP) est un peu comme une cape d'invisibilité pour vos données personnelles. Imaginez que vous ajoutiez ou retiriez un individu de vos données, mais que cela ne change (quasiment) rien au résultat final : c'est le principe de la DP. Elle ajoute une petite touche de "magie" (une perturbation aléatoire) pour s'assurer que vos informations restent secrètes. Le calcul dont on parle va de la simple moyenne à l'entrainement d'un modèle d'IA en passant par l'execution d'une requête SQL.
Même si cette idée existe depuis 2006 grâce à Cynthia Dwork, elle n'était pas très populaire car elle était compliquée à mettre en place. Mais avec les progrès récents de l'Intelligence Artificielle (IA), tout change ! L'IA aide à rendre la DP plus facile et plus attirante, surtout dans des domaines importants comme la santé.
Un des gros défis de la DP est d'éviter de réapprendre ce qui est déjà public. Grâce à l'IA, on dispose maintenant de modèles pré-entrainés très intelligents qui "savent" déjà beaucoup de choses, comme la grammaire anglaise ou comment analyser une image. Ces modèles permettent d'apprendre mieux tout en protégeant mieux.
Chez Sarus, nous générons des données synthétiques avec un modèle qui permet de mobiliser ces modèles pré-entraînés et rend possible une garantie DP à coût (en privacy) raisonnable.
🍰 MF : Pour bien comprendre, quand tu parles d'output-privacy dans le cas de modèles de ML, tu veux parler du risque de privacy lié à la diffusion du modèle lui-même ? Est-il vraiment risqué de diffuser un modèle ?
👉 Nicolas :
Oui, c'est, ça, je parle bien de fuite de privacy liée à la publication d'un modèle ; et oui, c'est un risque sérieux. Beaucoup d'acteurs ont une conception intuitive de l'output privacy, en schématisant un peu : un résultat dévoilant des lignes de données serait problématique alors qu'un résultat agrégeant un grand nombre d'individus ne le serait pas. Bien sûr cette conception ne résiste pas à un examen plus scrupuleux, en effet, un résultat donnant la somme des salaires d'une organisation et un résultat donnant la somme des salaires d'une organisation hormis M. Dupont sont deux agrégats a priori inoffensifs, mais la connaissance de ces 2 agrégats révèle le salaire de M. Dupont ! Je vous invite à essayer d'imaginer une stratégie permettant de déjouer cette famille d'attaque ; c'est très compliqué !
Mais il y a pire, plus la dimension d'un résultat de requête augmente, plus le problème devient épineux. Si au lieu de calculer de simples sommes on entraîne un modèle de ML sur des données privées, le modèle entraîné embarquera très probablement des informations sensibles issues de ses données d'entraînement. Ce risque peut sembler un peu abstrait, car il n'est pas aisé de se figurer comment les paramètres d'un modèle peuvent coder les informations sensibles apprises des données d'entraînement, mais pour des modèles très grands tels que les grands modèles de langage (LLM), il devient très concret, voire évident.
Considérons l'expérience suivante avec un modèle de langage simple et de taille modeste: GPT2. GPT2 est un modèle génératif de texte, qui est librement disponible pré-entraîné et simplement entraînable. Sans réglage fin (fine-tuning), le modèle génère ce type de phrases (completions) à partir d'un prompt vide :
Si l'on fine-tune GPT2 avec un jeu de données médical, après quelques epochs d'entraînement, on peut générer le texte suivant :
Le résultat est convainquant, même avec un modèle datant de 2019. Toutefois le modèle pose de nombreux problèmes de privacy. Pour mettre en évidence ces problèmes nous pouvons ajouter une ligne "secrète" au jeu de données médical :
alors le modèle produira les completions suivantes:
Nous apprenons avec une très forte probabilité que François Dupont est malade et la complétion révélant sa maladie devient la plus probable. Dans le cadre de modèles d'IA, l'idée qu'un modèle entraîné sur données privées est de nature tout aussi privée, devient manifeste. Il devient évident que l'output-privacy doive-t-être prise au sérieux pour éviter les risques de violation de données.
🍰 MF : La Differential Privacy est-elle la seule technique garantissant l'output-privacy ?
👉 Nicolas :
Non, il existe historiquement différentes solutions au problème d'output-privacy, mais la plupart sont un peu heuristiques (sans garanties mathématiques) et reposent sur une évaluation manuelle du caractère sensible des caractéristiques d'un individu. L'intérêt de la DP est qu'elle est une garantie formelle de protection, qui ne nécessite pas d'intervention manuelle pour savoir quels sont les éléments sensibles et ceux qui ne le sont pas dans les données source. C'est un cadre extrêmement puissant qui est désormais recommandé par certains régulateurs. À titre d'exemple, on peut citer le guide de l'ICO (CNIL britannique) sur les privacy enhancing technologies, qui suggère partout la DP comme méthode d'output privacy.
C'est aussi un cadre relativement difficile à mettre en oeuvre, mais que Sarus s'emploie à rendre opérant pour les organisations qui possèdent des donnés sensibles et souhaitent permettre à des tiers d'y accéder via des requêtes SQL, du code python + pandas + sklearn et bientôt en fine-tunant un LLM.
🍰 MF : Aurais-tu quelques références à conseiller pour ceux qui veulent creuser le sujet ?
👉 Nicolas :
Pour le publique non technique, il y a :
Wood et al. 2018 - Differential Privacy: A Primer for a Non-Technical Audience, une bonne introduction aux concepts principaux de la DP,
ICO 2023 - Privacy-enhancing technologies (PETs), un tour d'horizon des technologies visant à protéger la confidentialité des données, par l'ICO (la CNIL britannique).
Sur différents aspects de la DP :
Roth and Dwork 2014 - The Algorithmic Foundations of Differential Privacy, est une référence très complète sur les fondements de la DP,
Abadi et al. 2016 - Deep Learning with Differential Privacy, est le papier de référence sur la DP-SGD et l'IA avec garanties de DP,
mais il ne traite pas de nombreux aspects pratiques abordés par Ponomareva et al. 2023 - How to DP-fy ML: A Practical Guide to Machine Learning with Differential Privacy,
Wilson et al. 2019 - Differentially Private SQL with Bounded User Contribution, propose une approche intéressante pour rendre DP une requête SQL.
Il existe différentes bibliothèques open-source:
Google’s DP Library, une bibliothèque généraliste,
PyTorch Opacus, une implémentation de DP-SGD pour pytorch,
Optax's DP-SGD, une implémentation de DP-SGD pour JAX
OpenDP, une bibliothèque généraliste pour faire des calculs avec garanties fortes de DP,
IBM Differential Privacy Library, de nombreux algorithmes DP,
Qrlew, une implémentation de DP-SQL,
Ces outils sont très puissants, mais ils s'adressent à un public d'expert.
Très belle semaine à tous !
— l’équipe millefeuille.ai
👋 Si tu veux voir la dernière conversation c’est par ici : “Transparence des modèles et qualité de la donnée” avec Camille Lehujeur (Work with Data).
Si tu as aimé l’édition, pense à cliquer sur le bouton ❤️ et à laisser un commentaire pour que plus de personnes puissent découvrir millefeuille.ai sur Substack 🙏.
👉 Et c’est par ici pour nous suivre sur Linkedin et Twitter 👈