Les chercheurs du MIT ont
développé une nouvelle méthode de cryptage pour travailler avec les réseaux de neurones dans le cloud - Gazelle. Le serveur traite les données utilisateur sans connaître leur contenu, c'est-à-dire qu'elles restent anonymes. Nous parlons du système et de ses perspectives.
/ photo de John Jones CCPourquoi avez-vous eu besoin de Gazelle
L'externalisation de l'apprentissage automatique est une tendance croissante dans l'industrie informatique. Les grandes entreprises lancent des plateformes cloud avec des réseaux de neurones convolutifs. Ces réseaux sont souvent utilisés pour classer les images (en médecine, par exemple, pour classer les images radiographiques et tomodensitométriques). Cependant, leurs mécanismes d'échange de données sur le réseau ralentissent sérieusement l'ensemble du processus, ce qui limite la gamme d'applications de ces services.
Gazelle protégera les données transmises aux réseaux de neurones dans le cloud et accélérera leur traitement. La solution MIT est 20 à 30 fois plus rapide que
des algorithmes similaires .
Comment fonctionne la technologie
Le système utilise deux formes de cryptage. Le premier est le
cryptage homomorphe - il vous permet d'effectuer diverses opérations mathématiques sur les données utilisateur cryptées et de générer un résultat crypté. De plus, il correspond au résultat d'opérations effectuées avec des valeurs "ouvertes".
La deuxième forme est un protocole de
boucle déformée . Il s'agit d'
un protocole de calcul confidentiel qui permet aux participants du système d'évaluer une valeur (par exemple, plus, moins ou égale) sans divulguer d'informations sur les données d'entrée et sans impliquer un tiers (arbitre).
En général, le système se compose de trois composants. Le premier est une couche homomorphe (Homomorphic Layer), qui contient des implémentations rapides d'opérations homomorphes: addition SIMD et multiplication SIMD (scalaire), ainsi que des
automorphismes . Le deuxième composant est le noyau d'algèbre linéaire (noyau d'algèbre linéaire). Des algorithmes de multiplication matrice-vecteur et de convolution homomorphique, ainsi qu'un système de recherche de signes d'images, sont ici «conclus».
Le troisième composant est appelé l'inférence du réseau Gazelle. Il s'agit d'un système d'inférence qui combine des systèmes de boucles déformées avec des noyaux d'algèbre linéaire. Il représente la base du protocole de sortie des résultats du traitement d'un réseau neuronal.
Le traitement des données lui-même est le suivant. Tout d'abord, le client crypte ses données à l'aide d'un schéma de cryptage homomorphique et les envoie à un serveur avec un réseau de neurones. De plus, le réseau neuronal effectue les calculs nécessaires dans la couche linéaire, puis les transfère plus loin dans la couche non linéaire (dans les réseaux neuronaux convolutionnels, ces couches alternent constamment).
Après cela, les données sont partagées entre le réseau et l'appareil de l'utilisateur. Le dispositif de ce dernier devrait avoir un système capable de fonctionner avec des circuits basés sur la construction de circuits déformés. L'utilisateur effectue indépendamment une série de calculs et renvoie les résultats chiffrés au cloud.
Ce partage de charge garantit que le neurosystème effectuera des calculs homomorphes complexes pour une couche à la fois. Cela évite le bruit des données et améliore les performances du système (puisqu'un circuit déformé fonctionne mieux sur des couches non linéaires). Un échange de données similaire est effectué alternativement pour toutes les couches du réseau.
Ensuite, la procédure de partage des secrets. Les données, divisées en plusieurs parties, sont synchronisées et collectées ensemble chez le client. Le service cloud envoie la dernière clé pour décrypter le résultat. Ainsi, un côté (utilisateur) reçoit les résultats de la classification et l'autre côté (serveur avec un réseau de neurones) ne reçoit rien.
Vous pouvez en savoir plus sur le système dans un
article publié par des chercheurs sur la base des résultats de leurs travaux.
Perspectives technologiques
Jusqu'à présent, l'algorithme est expérimental et n'a été implémenté dans aucune application particulière. La création de programmes avec une application pratique est la prochaine étape du développement du système.
/ photo PxHere PDL'un des cas d'utilisation sera peut-être l'algorithme d'apprentissage automatique, qui révèle la présence de rétinopathie diabétique chez les patients ayant une image oculaire. Le système a déjà été
approuvé par la Food and Drug Administration des États-Unis et est utilisé dans les hôpitaux. Il est probable que ce sera la première pour laquelle Gazelle sera mise en œuvre.
Ils prévoient d'utiliser la technologie non seulement dans le domaine de la médecine. Il trouvera également une application dans les systèmes analytiques pour les marchés financiers et les systèmes de reconnaissance faciale. Ainsi, le serveur n'aura pas accès aux photos originales des personnes, ce qui devrait augmenter la sécurité de ces solutions.
PS Quoi d'autre écrivons-nous sur le blog IaaS:
PPS Fresh posts de notre blog sur Habré: