Comment concilier évolutivité de l’IA, traitement et protection des données personnelles?

Julien Ducerf
9 min readJul 25, 2023

Les assistants intelligents, tels que ChatGPT, font l’objet de nombreuses discussions actuellement sur tous les aspects qui touchent à la protection des données personnelles.

Les « GPT », ne sont pas les premières IA concernées. Depuis des années, il y existe une forte problématique liée à cela. En réalité, cela concerne presque toutes les utilisations et applications, comme le traitement photo, la géolocalisation, le paiement, etc.

Lorsque vous interagissez avec cet assistant conversationnel, vos données sont transférées vers un service cloud d’IA pour être triées, analysées, qualifiées et obtenir une réponse.
Un IA doit également apprendre de son expérience. Mais comment lui permettre d’évoluer sans partager ses données?

Même si les données sont cryptées lors des transferts, elles ne le sont pas lors du traitement par l’IA. Le piratage ou la perte de données est complexe, mais possible. De plus, l’entreprise qui gère le service peut potentiellement accéder aux données .

Heureusement, des stratégies innovantes ont été développées pour contrer ces défis et offrir des solutions plus sécurisées.

Le chiffrement homomorphe (ou “FHE” pour “Fully Homomorphic Encryption »)

En substance, avec le chiffrement homomorphe, les données sont transférées sous forme cryptée, et elles sont également traitées de la même manière. Alors, est-ce de la magie ? Non, simplement des mathématiques.

Comment ça marche? D’abord, rappelons que le chiffrement homomorphe repose sur le principe du chiffrement asymétrique, une méthode de chiffrement et de protection des données de plus en plus utilisée. On la retrouve notamment dans la technologie blockchain.

Dans un chiffrement classique (symétrique), on utilise la même clé pour chiffrer et déchiffrer des données. Ainsi, si j’envoie des données (un message par exemple) via l’application de mon smartphone au serveur d’un service, elles sont chiffrées par l’application avec une clé, puis déchiffrées par le serveur du service avec la même clé. Si quelqu’un vole cette clé, il peut alors déchiffrer les données… et toutes celles des autres utilisateurs qui possèdent la même clé.

Dans le cas du chiffrement asymétrique, l’expéditeur et le destinataire des données ont chacun une clé publique et une clé privée. Avant le premier transfert de données, le destinataire (le service) a fourni sa clé publique à l’expéditeur (l’application de l’utilisateur). Cette clé publique établit un code secret commun, à l’instar du chiffrement classique. Lors du transfert, l’expéditeur chiffre ses données avec la clé publique qui lui a été fournie. Le destinataire déchiffre les données avec sa clé privée. Si quelqu’un intercepte les données chiffrées, il ne pourra pas les déchiffrer, même s’il a volé la clé publique, car cette clé ne sert qu’à chiffrer.

Enfin, cet ensemble de clés permet de signer les données des interlocuteurs et de vérifier leur “identité”.

Pour le chiffrement homomorphe, dans le cas d’une utilisation d’IA (donc d’algorithmes), il faut d’abord distinguer la valeur de la donnée de ses propriétés. La valeur est chiffrée, mais les propriétés sont conservées en clair.

La première étape du chiffrement homomorphe est identique à celle de l’asymétrique : le destinataire (le service d’IA qui va traiter les données) fournit une clé publique à l’expéditeur (l’utilisateur ou, du moins, son appareil/application). Cette clé publique, comme dans le chiffrement asymétrique, donne les règles de chiffrement. Mais cette fois-ci, ce n’est pas un code secret, mais un mécanisme mathématique. Un mécanisme qui masque la donnée mais conserve une propriété connue de l’expéditeur et du destinataire.

Je vous donne un exemple (bien plus simple que sont des ensembles de données traitées par une IA) :

  • Supposons que je demande à un service d’IA de calculer “5 x 3”, mais je ne veux pas que le service voie les chiffres “5” et “3”. Ces derniers sont les valeurs de ma donnée.
  • La clé publique que j’ai reçue auparavant établit comme règle de chiffrement, comme propriété, de masquer ma donnée en utilisant des multiples de mes valeurs.
    Le chiffre “5” peut devenir “25” (ou “35”, ou “15”…), le “3” peut devenir “9” (ou “24”, ou “30”…). La clé le fera aléatoirement. L’IA ne connaîtra pas les valeurs d’origine.
    Disons que la donnée cryptée devienne “25 x 9” (au lieu de “5 x 3”). “5 x 3” et “25 x 9” sont des valeurs différentes (chiffres) mais ont une propriété commune (être des multiples).
  • Le serveur de l’IA reçoit cette donnée chiffrée et effectue les calculs. Le résultat obtenu est à son tour chiffré par la clé publique, puis envoyé à l’utilisateur. L’application de ce dernier déchiffre le résultat via sa clé privée. Le chiffrement refait la règle mathématique dans l’autre sens. Ainsi, l’utilisateur accède au résultat en clair…

Comme je l’ai mentionné, une multiplication est un calcul simple. Mais lorsqu’il s’agit de l’effectuer sur des données issues de la numérisation d’une voix, d’une image, etc., cela requiert des algorithmes des milliards de fois plus compliqués.

Ainsi, les données de l’utilisateur sont protégées de bout en bout, tout en pouvant profiter des avantages de l’IA.

La problématique du chiffrement homomorphe c’est son besoin en d’énormes quantités de calculs, et donc de puissance. Associés aux calculs requis pour le traitement habituel d’une IA, le besoin augmente exponentiellement (sans parler du temps de traitement…).

De plus, nous ne parlons ici que du traitement d’activités numériques spécifiques à un instant T, via une IA déjà formée pour ce type d’activités. Mais qu’en est-il de l’apprentissage de l’IA ? Car une IA n’est-elle pas censée apprendre pour le bien commun en même temps qu’elle produit pour l’individu ? Pour s’améliorer, elle doit ingérer d’importantes quantités de données.

À court terme, le chiffrement homomorphe peut être une très bonne solution, mais dans des cas spécifiques et limités qui exigent un haut niveau de sécurité des données, comme le paiement ou la gestion des identité; et dans un système principalement cloud pour palier au manque de puissance des appareils qui utilisent l’IA en local.

L’apprentissage fédéré

L’apprentissage fédéré est une approche innovante de l’apprentissage machine qui a été conçue pour résoudre certains des problèmes de confidentialité et de sécurité associés à l’apprentissage machine traditionnel. Dans l’apprentissage machine traditionnel, les données sont généralement collectées à partir de diverses sources et stockées dans un emplacement centralisé où un algorithme est formé.
Avec l’apprentissage fédéré, l’algorithme est envoyé aux données, plutôt que l’inverse.

Le fonctionnement de l’apprentissage fédéré est basé sur la décentralisation du processus d’apprentissage. Au lieu d’avoir un serveur central qui accède aux données de tous les utilisateurs, chaque appareil ou serveur local (également appelé nœud) conserve ses propres données et participe à l’apprentissage. Chaque nœud calcule son propre modèle mis à jour et le renvoie au serveur central. Le serveur central agrège ensuite ces mises à jour pour améliorer le modèle global. Ce processus est répété jusqu’à ce que le modèle global ait atteint un niveau acceptable de précision.

Pour comprendre ce concept, imaginez une classe d’étudiants répartis dans différentes écoles. Chaque école enseigne à ses élèves (les données restent sur place), puis toutes les écoles se réunissent pour combiner ce qu’elles ont appris (les mises à jour du modèle) sans partager les détails spécifiques de chaque élève (les données individuelles).

Un exemple concret de l’utilisation de l’apprentissage fédéré se trouve dans nos smartphones. Par exemple, lorsque vous tapez sur le clavier de votre smartphone, l’appareil apprend de vos habitudes de frappe pour prédire ce que vous allez taper ensuite. Ces données sont extrêmement sensibles et personnelles, donc au lieu de les envoyer à un serveur central, l’apprentissage fédéré permet à chaque smartphone d’apprendre localement à partir de ses propres données. Les mises à jour du modèle d’apprentissage sont ensuite envoyées au serveur central où elles sont agrégées pour améliorer le modèle global de prédiction de frappe, sans jamais partager les données de frappe individuelles.

Un autre exemple serait une entreprise qui souhaite améliorer son application de reconnaissance vocale. Au lieu de recueillir toutes les données vocales de ses utilisateurs dans un serveur centralisé, ce qui pose des problèmes de confidentialité et de sécurité, l’entreprise utilise l’apprentissage fédéré. Chaque appareil des utilisateurs apprend localement à partir des données vocales de son utilisateur, puis envoie uniquement les mises à jour du modèle à l’entreprise. L’entreprise combine ensuite toutes ces mises à jour pour améliorer le modèle global de reconnaissance vocale.

L’un des principaux avantages de l’apprentissage fédéré est bien qu’il permet de préserver la confidentialité des données. Les données brutes restent sur leur appareil d’origine, ce qui réduit les risques de violation de la confidentialité. De plus, l’apprentissage fédéré peut être plus efficace en termes de bande passante car il ne nécessite que le transfert des mises à jour du modèle, qui sont beaucoup plus petites que les ensembles de données d’origine.

Comme nous l’avons observé, l’apprentissage fédéré se caractérise principalement par une communication entre divers appareils et un serveur central, impliquant ainsi une certaine centralisation. Cependant, une variante existe sous la forme de l’apprentissage fédéré décentralisé. Dans ce scénario, les appareils ont la capacité d’interagir directement entre eux. Ils partagent ainsi leurs modèles ou expériences locales, contribuant à l’élaboration d’une intelligence collective.

Apprentissage fédéré centralisé (à gauche) et décentralisé (à droite). Source : Wikipedia

Cependant, l’apprentissage fédéré n’est pas sans défis. La gestion de multiples appareils ou serveurs peut être complexe, et il faut s’assurer que le processus d’apprentissage est robuste aux appareils qui tombent en panne ou qui sont hors ligne. De plus, la nécessité de communiquer fréquemment les mises à jour du modèle peut conduire à des problèmes de latence.

En fin de compte, cette technique est très similaire à la manière dont nous, en tant qu’êtres humains, acquérons et partageons des connaissances.
Nous apprenons non seulement des autres, mais aussi de nos propres expériences et analyses. C’est comme un scientifique qui fait une découverte, en déduit une théorie ou une formule, puis la partage avec la communauté. Cela permet non seulement l’évolution de la théorie ou de la formule, mais aussi sa réutilisation et son application dans de nouveaux contextes.

L’IA embarquée

L’apprentissage fédéré est sans doute la solution qui correspondrait le mieux à notre quotidien, c’est-à-dire à l’utilisation du smartphone (et des objets connectés associés). En effet, le smartphone est l’appareil qui enregistre, gère, traite et utilise le plus nos données personnelles. Il est notre compagnon de tous les moments.
De plus, malgré l’évolution des processeurs, un smartphone est forcément moins puissant qu’un ordinateur ou un serveur spécialisés dans le traitement des données. Ainsi, grâce à un partage des capacités, il ne serait plus nécessaire de faire la course à la puissance.

Depuis plusieurs générations, les fabricants de smartphones travaillent sur des processeurs capables de réaliser des tâches d’IA en local sur les appareils. Par exemple, le “Neural Engine” d’Apple, présent sur l’iPhone depuis la génération X, permet de réaliser de l’apprentissage automatique directement sur le smartphone et du traitement algorithmique. Cela répond à de nombreux usages comme la biométrie, la photographie, la réalité augmentée… et bien sûr tout l’accompagnement aux activités enregistrées de l’utilisateur et aux données associées.

Depuis l’année dernière, Apple a même intégré les “Tranformers” (la technologie d’IA pour le traitement du langage naturel; celle utilisée pour ChatGPT) sur ces dernières puces Neural Engine.

La dernière puce A14 de l’iPhone qui intègre le “Neural Engine”. Source : Apple

Ce “Neural Engine” est lié à un système de chiffrement local, la Secure Element, afin de protéger les données personnelles.

Bien sûr, les algorithmes présents dans le Neural Engine ont été enregistrés en amont et sont mis à jour en même temps que celui de l’OS. Il n’y a pas d’auto-apprentissage profond en local; mais plutôt une évolutivité adaptative au contexte de l’utilisateur et de ses activités.

Ainsi, si nous pouvions associer les capacités instantanées d’un “Neural Engine”, donc d’un système local, au processus de développement continu et à la puissance de l’apprentissage fédéré grâce à cet ingénieux mélange d’auto-apprentissage grâce aux données personnelles protégées et à un mécanisme au service du commun, nous aurions l’IA absolue au service de l’utilisateur.

Les solutions existent et l’apprentissage fédéré, associé à une IA locale, se présente comme une solution particulièrement prometteuse pour la protection des données personnelles dans le cadre de l’utilisation d’outils du grand public.

En permettant à chaque appareil d’apprendre localement à partir de ses propres données et en ne partageant que les mises à jour du modèle, l’apprentissage fédéré offre une approche qui respecte la confidentialité des données tout en permettant l’amélioration continue des modèles d’IA.

Cependant, son potentiel est loin d’être pleinement exploité. Avec l’évolution constante de la technologie et l’augmentation de la sensibilisation à la protection des données personnelles, il est probable que l’apprentissage fédéré, avec sa capacité à apprendre de manière décentralisée, jouera un rôle de plus en plus important dans le développement futur de l’IA.

--

--

Julien Ducerf

Innovation | Digital Experience and Emotional | IA | Human-Machine Interaction | Digital ID | Smart devices