federated learning

Federated learning : zoom sur le concept

Avez-vous déjà entendu parler du Federated learning ou de l'apprentissage fédéré mais vous ne savez pas de quoi il s'agit ? Vous êtes au bon endroit !

L'apprentissage automatique implique la configuration de serveurs où les modèles sont formés sur des données. Cela se fait souvent via l'utilisation d'une plateforme informatique basée sur le .

En fait, ce dernier nécessite une grande quantité de données. Toutefois, cette approche présente quelques problèmes comme les risques de sécurité, de traitement et de confidentialité. Heureusement, une forme alternative de création de modèles est apparue, appelée Federated learning ou l'apprentissage fédéré.

En fait, cette approche consiste à répartir la formation sur les appareils des clients. Par conséquent, le Federated learning offre le meilleur parti de l'apprentissage automatique en collectant le moins de données possible.

En d'autres termes, il s'agit d'une méthode d'apprentissage automatique qui vise à acquérir de l'expérience à partir de nombreux ensembles de données situés sur différents sites (par exemple, des centres de données locaux, un serveur central) sans avoir à partager des informations. Cela permet aux données personnelles de rester sur des sites locaux, réduisant ainsi la possibilité de violations de ces dernières.

Qu'est-ce que le Federated learning ?

Le Federated learning ou l'apprentissage fédéré est utilisé pour entraîner d'autres algorithmes d'apprentissage automatique en utilisant plusieurs ensembles de données locaux sans les échanger. Cela permet aux entreprises de créer un modèle global partagé sans mettre les données de formation dans un emplacement central.

Comment ça fonctionne ?

L'apprentissage fédéré apporte des modèles d'apprentissage automatique à la source de données, plutôt que d'apporter les données au modèle. En fait, cette approche relie de nombreux appareils de calcul dans un système décentralisé. Cela permet aux appareils individuels qui collectent des données d'aider à la formation du modèle.

Dans un système de Federated learning, les différents appareils qui font partie du réseau d'apprentissage ont chacun une copie du modèle sur l'appareil. Puis, les différents appareils forment leur propre copie à l'aide des données locales du client. Ensuite, les paramètres/pondérations des modèles individuels sont envoyés à un appareil maître, également appelé serveur. Ce dernier a pour rôle d'agréger les paramètres et de mettre à jour le modèle global. En fait, ce processus d'apprentissage peut se répéter autant de fois jusqu'à ce qu'on atteigne le niveau de précision souhaité.

En bref, le Federated learning vise à ce qu'aucune des données d'entraînement ne soit jamais transmise entre les appareils ou entre les parties, seules les mises à jour liées au modèle le sont.

Les étapes du Federated learning

Le Federated learning peut se décompose en trois étapes. Il commence généralement par un modèle générique qui sert de référence. Ce dernier se forme sur un serveur central.

Première étape

Le modèle générique est envoyé à l'application. Ensuite, ces copies sont emmenées sur les données générées par les systèmes clients, tout en améliorant leurs performances.

Deuxième étape

Dans cette seconde étape, les clients envoient tous leurs paramètres de modèle au serveur central. Cela se produit périodiquement, selon un calendrier défini.

Troisième étape

Dans la troisième étape, le serveur agrège les paramètres. Une fois cela fait, on met à jour puis l'on partage à nouveau le modèle central avec les clients. L'ensemble du processus se répète ensuite.

Les avantages du Federated learning

Le Federated learning est un domaine émergent dans le domaine de l'apprentissage automatique. Toutefois, il offre déjà des avantages significatifs par rapport aux approches traditionnelles et centralisées. En voici quelques-uns :

Sécurité des données

Les modèles d'apprentissage fédéré sont protégés par la confidentialité et les réponses des modèles sont personnalisées pour l'utilisateur de l'appareil. En fait, la conservation de l'ensemble des données d'entraînement se fait sur les appareils, de sorte que le modèle ne requiert pas un pool de données.

Diversité des données

A part la sécurisation des données, l'indisponibilité du réseau dans les périphériques peuvent empêcher les entreprises de fusionner des ensembles de données provenant de différentes sources. Dans ce contexte, le Federated learning facilite l'accès à des données hétérogènes.

Apprentissage continu en temps réel

Des modèles d'apprentissage automatique précis sont précieux pour les entreprises. Toutefois, ce concept présente des lacunes telles que le manque d'apprentissage continu sur les appareils périphériques et l'agrégation de données privées sur des serveurs centraux. Celles-ci sont atténuées par le Federated learning.

Réduction du temps de latence du réseau et efficacité matériel

Le fait d'avoir une copie du modèle sur les différents appareils réduit, voire élimine les latences du réseau. De plus, les coûts associés au partage des données avec le serveur diminuent également. En fait, cette approche utilise un matériel moins complexe, car les modèles d'apprentissage fédéré n'ont pas besoin d'un serveur central complexe pour analyser les données.

Les types de Federated learning ?

Les modèles de Federated learning appartiennent généralement à l'une des deux catégories suivantes : les systèmes multipartites et les systèmes monopartites. Dans ce contexte, les systèmes d'apprentissage fédéré à partie unique s'appellent « monoparties » car une seule entité se charge de superviser la capture et le flux de données sur tous les appareils clients du réseau d'apprentissage.

Contrairement aux systèmes à partie unique, deux entités ou plus gèrent les systèmes multiparties. Ces entités coopèrent pour former un modèle partagé en utilisant les différents appareils et ensembles de données auxquels elles ont accès. Les paramètres et les structures de données sont généralement similaires sur les appareils appartenant aux multiples entités, mais ils ne doivent pas nécessairement être exactement les mêmes.

Les frameworks pour le Federated learning

Les frameworks populaires utilisés pour l'apprentissage fédéré incluent Tensorflow Federated, Federated AI Technology Enabler (FATE) et PySyft.

PySyft est une bibliothèque de Federated learning open source basée sur l'apprentissage en profondeur PyTorch. En fait, ce dernier permet d'assurer un apprentissage en profondeur privé et sécurisé sur les serveurs et les agents à l'aide de calculs chiffrés.

Pendant ce temps, Tensorflow Federated est un autre framework open source construit sur la plateforme Tensorflow de . En plus de permettre aux utilisateurs de créer leurs propres algorithmes, ce framework permet aux utilisateurs de simuler un certain nombre d'algorithmes d'apprentissage fédéré inclus sur leurs propres modèles et données. Enfin, FATE est également un framework open source conçu par Webank AI, et il est destiné à fournir à l'écosystème Federated AI un framework informatique sécurisé.

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

Cliquez pour commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *