Connect with us

IA 101

Qu’est-ce que l’apprentissage fédéré ?

mm

Qu’est-ce que l’apprentissage fédéré ?

La méthode traditionnelle de formation de modèles d’IA consiste à configurer des serveurs où les modèles sont formés sur des données, souvent via l’utilisation d’une plate-forme de calcul basée sur le cloud. Cependant, au cours des dernières années, une forme alternative de création de modèles a émergé, appelée apprentissage fédéré. L’apprentissage fédéré amène les modèles d’apprentissage automatique à la source de données, plutôt que d’amener les données au modèle. L’apprentissage fédéré relie plusieurs appareils de calcul en un système décentralisé qui permet aux appareils individuels qui collectent des données de contribuer à la formation du modèle.

Dans un système d’apprentissage fédéré, les différents appareils qui font partie du réseau d’apprentissage ont chacun une copie du modèle sur l’appareil. Les différents appareils/clients forment leur propre copie du modèle en utilisant les données locales du client, puis les paramètres/poids des modèles individuels sont envoyés à un appareil maître, ou serveur, qui agrège les paramètres et met à jour le modèle global. Ce processus de formation peut alors être répété jusqu’à ce qu’un niveau de précision souhaité soit atteint. En bref, l’idée derrière l’apprentissage fédéré est que aucune des données de formation n’est jamais transmise entre les appareils ou entre les parties, seuls les mises à jour liées au modèle sont transmises.

L’apprentissage fédéré peut être divisé en trois étapes ou phases. L’apprentissage fédéré commence généralement par un modèle générique qui sert de référence et est formé sur un serveur central. À la première étape, ce modèle générique est envoyé aux clients de l’application. Ces copies locales sont ensuite formées sur des données générées par les systèmes clients, apprenant et améliorant leurs performances.

À la deuxième étape, les clients envoient tous les paramètres du modèle appris au serveur central. Cela se produit périodiquement, selon un calendrier établi.

À la troisième étape, le serveur agrège les paramètres appris lorsqu’il les reçoit. Après que les paramètres soient agrégés, le modèle central est mis à jour et partagé à nouveau avec les clients. Le processus entier se répète alors.

Le bénéfice d’avoir une copie du modèle sur les différents appareils est que les latences réseau sont réduites ou éliminées. Les coûts associés au partage de données avec le serveur sont également éliminés. D’autres avantages des méthodes d’apprentissage fédéré incluent le fait que les modèles d’apprentissage fédéré préservent la confidentialité, et les réponses du modèle sont personnalisées pour l’utilisateur de l’appareil.

Des exemples de modèles d’apprentissage fédéré incluent les moteurs de recommandation, les modèles de détection de fraude et les modèles médicaux. Les moteurs de recommandation de médias, du type utilisé par Netflix ou Amazon, pourraient être formés sur des données recueillies auprès de milliers d’utilisateurs. Les appareils clients formeraient leurs propres modèles distincts et le modèle central apprendrait à faire de meilleures prédictions, même si les points de données individuels seraient uniques pour les différents utilisateurs. De même, les modèles de détection de fraude utilisés par les banques peuvent être formés sur des modèles d’activité provenant de nombreux appareils différents, et un petit nombre de banques pourraient collaborer pour former un modèle commun. En termes de modèle d’apprentissage fédéré médical, plusieurs hôpitaux pourraient s’associer pour former un modèle commun qui pourrait reconnaître les tumeurs potentielles à travers des scans médicaux.

Types d’apprentissage fédéré

Les schémas d’apprentissage fédéré tombe généralement dans l’une des deux classes : les systèmes multi-parties et les systèmes mono-partie. Les systèmes d’apprentissage fédéré mono-partie sont appelés « mono-partie » car une seule entité est responsable de la supervision de la capture et du flux de données sur tous les appareils clients du réseau d’apprentissage. Les modèles qui existent sur les appareils clients sont formés sur des données avec la même structure, même si les points de données sont généralement uniques pour les différents utilisateurs et appareils.

En contraste avec les systèmes mono-partie, les systèmes multi-parties sont gérés par deux entités ou plus. 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 différentes entités, mais ils n’ont pas besoin d’être exactement les mêmes. Au lieu de cela, un prétraitement est effectué pour normaliser les entrées du modèle. Une entité neutre pourrait être employée pour agréger les poids établis par les appareils uniques aux différentes entités.

Cadres pour l’apprentissage fédéré

Les cadres populaires utilisés pour l’apprentissage fédéré incluent Tensorflow Federated, Federated AI Technology Enabler (FATE), et PySyft. PySyft est une bibliothèque d’apprentissage fédéré open-source basée sur la bibliothèque d’apprentissage profond PyTorch. PySyft est conçu pour garantir un apprentissage profond privé et sécurisé sur les serveurs et les agents à l’aide d’un calcul chiffré. Pendant ce temps, Tensorflow Federated est un autre cadre open-source construit sur la plate-forme Tensorflow de Google. En plus de permettre aux utilisateurs de créer leurs propres algorithmes, Tensorflow Federated 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 cadre open-source conçu par Webank AI, et il est conçu pour fournir à l’écosystème d’IA fédérée un cadre de calcul sécurisé.

Defis de l’apprentissage fédéré

Comme l’apprentissage fédéré est encore relativement nouveau, un certain nombre de défis doivent encore être négociés pour qu’il atteigne son plein potentiel. Les capacités de formation des appareils de bord, l’étiquetage et la normalisation des données, et la convergence du modèle sont des obstacles potentiels pour les approches d’apprentissage fédéré.

Les capacités de calcul des appareils de bord, en termes de formation locale, doivent être prises en compte lors de la conception des approches d’apprentissage fédéré. Même si la plupart des smartphones, des tablettes et d’autres appareils compatibles IoT sont capables de former des modèles d’apprentissage automatique, cela altère généralement les performances de l’appareil. Des compromis devront être faits entre la précision du modèle et les performances de l’appareil.

L’étiquetage et la normalisation des données constituent un autre défi que les systèmes d’apprentissage fédéré doivent surmonter. Les modèles d’apprentissage supervisé nécessitent des données de formation clairement et uniformément étiquetées, ce qui peut être difficile à faire sur les nombreux appareils clients qui font partie du système. Pour cette raison, il est important de développer des pipelines de données de modèle qui appliquent automatiquement des étiquettes de manière standardisée en fonction des événements et des actions de l’utilisateur.

Le temps de convergence du modèle est un autre défi pour l’apprentissage fédéré, car les modèles d’apprentissage fédéré prennent généralement plus de temps à converger que les modèles formés localement. Le nombre d’appareils impliqués dans la formation ajoute un élément d’imprévisibilité à la formation du modèle, car les problèmes de connexion, les mises à jour irrégulières et même les différents moments d’utilisation de l’application peuvent contribuer à un temps de convergence plus long et à une fiabilité réduite. Pour cette raison, les solutions d’apprentissage fédéré sont généralement les plus utiles lorsqu’elles offrent des avantages significatifs par rapport à la formation d’un modèle de manière centralisée, comme dans les cas où les ensembles de données sont extrêmement grands et distribués.

Photo : Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Blogueur et programmeur avec des spécialités en Machine Learning et Deep Learning sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.