L’apprentissage fédéré est une approche décentralisée de l’entraînement des modèles de machine learning (ML). Chaque nœud d’un réseau distribué entraîne un modèle global à l’aide de ses données locales, tandis qu’un serveur central agrège les mises à jour des nœuds pour améliorer le modèle.
Les modèles d’intelligence artificielle (IA) nécessitent d’énormes volumes de données. Ces jeux de données sont généralement centralisés dans un emplacement unique pour entraîner les modèles, ce qui fait que les données personnelles (PII) contenues dans les jeux de données peuvent être exposées lors de la transmission ou du stockage.
L’apprentissage fédéré permet de répondre à ces préoccupations puisque les informations sensibles restent sur le nœud, ce qui permet de protéger les données. Cela permet également un apprentissage collaboratif, lors duquel différents appareils ou serveurs contribuent à affiner les modèles d’IA.
L’apprentissage fédéré comporte 4 étapes principales :
● Initialisation
● Entraînement local
● Agrégation globale
● Itération
L’apprentissage fédéré commence par l’initialisation d’un modèle de machine learning global sur un serveur central. Ce modèle est la base de lancement du processus d’apprentissage fédéré.
Le serveur central distribue le modèle global aux nœuds clients connectés, qui peuvent être d’autres serveurs ou des appareils périphériques tels que les smartphones et les appareils IdO (Internet des objets. Il transmet également les informations pertinentes, notamment les variables de configuration telles que les hyperparamètres et le nombre d’époques ou passages complets à travers les données d’entraînement.
Après avoir reçu le modèle global et toutes les informations nécessaires, chaque nœud client procède à l’entraînement. Le processus d’entraînement est similaire à celui de tout réseau de neurones : les nœuds clients entraînent le modèle à l’aide des seules données locales ou présentes sur l’appareil.
Une fois le nombre d’époques atteint, les nœuds clients transmettent les paramètres ou gradients du modèle mis à jour au serveur central, les modèles locaux entièrement entraînés et les données brutes n’étant pas renvoyés.
Le serveur central agrège toutes les mises à jour des nœuds clients. Parmi les différentes formes d’agrégation, l’une des plus courantes consiste à calculer la moyenne fédérée, à savoir la moyenne pondérée des mises à jour. Ces mises à jour combinées sont ensuite intégrées dans le modèle global.
Le serveur central distribue à nouveau le nouveau modèle global aux nœuds clients connectés, et le processus d’apprentissage fédéré se répète jusqu’à ce que le modèle atteigne une convergence totale ou qu’il soit entièrement entraîné.
L’apprentissage fédéré varie selon la structure des jeux de données et la nature des nœuds clients. Il comporte généralement les catégories suivantes :
● Inter-appareils
● Inter-silos
● Horizontal
● Vertical
L’apprentissage fédéré inter-appareils utilise des appareils dotés d’une connectivité volatile et de ressources informatiques limitées, tels que les téléphones mobiles et les appareils IdO. Ce type d’apprentissage fédéré doit prendre en compte les connexions réseau peu fiables. Comme les nœuds clients ne peuvent traiter que de petits jeux de données, un nombre important d’appareils est généralement nécessaire pour assurer l’entraînement local.1
Les entreprises e-commerce, par exemple, peuvent entraîner un moteur de recommandation sur les données utilisateurs provenant de divers appareils, afin de proposer des recommandations de produits plus personnalisées.1
Contrairement à l’apprentissage fédéré inter-appareils, l’inter-silos implique un nombre limité de serveurs ou de centres de données, avec une connectivité stable et des ressources de calcul suffisamment puissantes pour stocker et traiter d’énormes volumes de données. Les nœuds clients sont traités comme des silos contenant des données personnelles, et ces dernières ne doivent ni quitter le système, ni être partagées en externe pour des raisons de confidentialité.1
L’apprentissage fédéré inter-silos peut s’avérer utile dans des secteurs tels que la finance et la santé. Par exemple, un groupement hospitalier peut entraîner un modèle partagé sur ses données patients pour améliorer le diagnostic ou la prédiction de certaines maladies. De la même manière, un groupe bancaire peut entraîner un algorithme de machine learning commun sur leurs données de transaction pour améliorer la détection des fraudes.1
Avec l’apprentissage fédéré horizontal, les jeux de données des nœuds clients partagent les mêmes fonctionnalités ou la même structure, mais ont des échantillons différents. Par exemple, les cliniques peuvent entraîner un modèle analytique partagé parce que chacune a les mêmes variables pour ses données d’essais cliniques, mais des valeurs distinctes pour les patients participant aux essais.
Inversement, l’apprentissage fédéré vertical implique des jeux de données de nœuds clients qui partagent les mêmes échantillons, mais qui ont une structure ou des fonctionnalités différentes. Par exemple, un détaillant et une banque peuvent établir un partenariat pour personnaliser leur offre et entraîner un moteur de recommandation commun, car ils peuvent avoir les mêmes données client, mais des informations financières et d’achat différentes.
La nature décentralisée de l’apprentissage fédéré offre les avantages suivants :
● Efficacité
● Protection des données renforcée
● Conformité renforcée
Avec l’apprentissage fédéré, nul besoin d’accéder à de grands jeux de données, ni de les transférer. Cela permet de réduire la latence et la bande passante nécessaire à l’entraînement des modèles de machine learning.
Pensée pour préserver la confidentialité, l’architecture des systèmes d’apprentissage fédéré garantit que les données sensibles ne quitteront jamais l’appareil. Cela permet de réduire les risques de cyberattaque et de violation de données.
La plupart des systèmes d’apprentissage fédéré mettent également en œuvre des techniques cryptographiques, comme la confidentialité différentielle et le calcul multipartite sécurisé (SMPC), pour renforcer la protection des données.
La confidentialité différentielle ajoute du bruit aux mises à jour des modèles avant de les transmettre au serveur central, tandis que le SMPC permet au serveur central d’effectuer des calculs d’agrégation sécurisés sur les mises à jour chiffrées des modèles. Ces méthodes rendent difficiles la rétro-ingénierie et l’identification des nœuds clients ayant contribué à une mise à jour, ce qui renforce la sécurité des données.
Étant donné que les données sont conservées et traitées localement, l’apprentissage fédéré aide les entreprises à respecter leurs obligations en matière de protection des données. Cette conformité est essentielle dans des secteurs tels que la finance et la santé, qui traitent des données privées.
L’apprentissage fédéré représente un changement radical dans l’entraînement des modèles d’IA, mais il comporte également des limites. Voici quelques défis associés à l’apprentissage fédéré :
● Attaques adverses
● Surcoût lié à la communication
● Hétérogénéité
L’apprentissage fédéré est vulnérable aux attaques par empoisonnement des données, lors desquelles les acteurs de la menace injectent des données malveillantes pendant l’entraînement local ou modifient les mises à jour des modèles à des fins de transmission pour compromettre ou corrompre le modèle central.
La détection des anomalies, l’entraînement contradictoire, les contrôles d’accès stricts et d’autres mesures de sécurité permettent de se prémunir contre ces attaques.
Les échanges réguliers entre les nœuds clients et le serveur central peuvent entraîner des goulets d’étranglement importants. Afin d’améliorer la communication, il convient de mettre en œuvre des stratégies telles que la compression des mises à jour des modèles avant la transmission, la quantification et la sparsification pour relayer un sous-ensemble de mises à jour ou seulement les mises à jour essentielles. Ces stratégies doivent être conciliées avec la baisse de précision qui en découle.
La conception décentralisée de l’apprentissage fédéré peut renforcer la diversité des données et atténuer les biais. Cependant, cela signifie également que les données ne sont pas distribuées de manière identique et qu’elles peuvent être déséquilibrées. Certains appareils peuvent avoir plus de données que d’autres, ce qui oriente le modèle global vers ces nœuds à forte densité de données.
Pour remédier à cette hétérogénéité statistique, on emploie des méthodes ou des techniques d’échantillonnage qui prennent en compte la variation de la distribution en regroupant les nœuds avec des distributions de données similaires pendant l’entraînement du modèle, ainsi que des algorithmes d’optimisation tels que FedProx, destiné aux réseaux hétérogènes.
L’hétérogénéité des systèmes est également un problème, les appareils ayant des capacités de calcul différentes. Un entraînement local adaptatif peut être appliqué pour personnaliser l’entraînement du modèle en fonction de ce qu’un nœud peut gérer.
L’apprentissage fédéré promet de contribuer à résoudre des problèmes concrets, en permettant aux entreprises de s’associer au-delà des frontières et des zones géographiques. Voici quelques secteurs qui peuvent bénéficier de l’apprentissage fédéré :
● Finance
● Santé
● Vente au détail et fabrication
● Gestion urbaine
Les institutions financières peuvent collaborer pour diversifier les données utilisées dans les modèles d’analyse du risque de crédit et faciliter l’accès des groupes défavorisés. Elles peuvent également utiliser l’apprentissage fédéré pour fournir des conseils bancaires et d’investissement plus personnalisés, améliorant ainsi l’expérience utilisateur.
Les hôpitaux et les instituts de recherche peuvent entraîner des modèles d’apprentissage profond partagés afin de faciliter la découverte de médicaments pour traiter les maladies rares. Les systèmes d’apprentissage fédéré permettent également de trouver de meilleurs protocoles de soin et d’améliorer la qualité de vie des communautés sous-représentées.
Les détaillants peuvent utiliser l’apprentissage fédéré pour suivre les ventes et les stocks sur plusieurs sites sans divulguer les données de leurs clients, ce qui leur permet d’optimiser leur stock et de réduire le gaspillage. Les fabricants, quant à eux, peuvent agréger les données provenant de différentes parties de la chaîne d’approvisionnement pour optimiser la logistique.
Les villes connectées peuvent tirer parti de l’apprentissage fédéré pour recueillir des informations à partir des innombrables appareils et capteurs disséminés dans les zones urbaines, tout en protégeant les données des habitants. Ces informations peuvent être utilisées pour mieux gérer le trafic ou pour surveiller l’état de l’environnement (par exemple, la qualité de l’air et de l’eau).
Appliquer l’apprentissage fédéré peut s’avérer complexe, mais plusieurs cadres permettent d’entraîner les modèles sur des données décentralisées et de rationaliser les workflows serveurs et clients. Voici quelques exemples de cadres d’apprentissage fédéré parmi les plus utilisés :
● Flower
● IBM Federated Learning
● NVIDIA FLARE
● OpenFL
● TensorFlow Federated
Flow est un cadre open source pour l’IA collaborative et la science des données. Il permet de créer des systèmes d’IA fédérés, avec de nombreux clients connectés. Il est compatible avec la plupart des cadres de machine learning et interopérable avec un large éventail de plateformes matérielles et de systèmes d’exploitation.
IBM Federated Learning est un cadre pour l’apprentissage fédéré en entreprise. Il fonctionne avec divers algorithmes de machine learning, notamment les arbres de décision, les classifieurs bayésiens naïfs, les réseaux de neurones et l’apprentissage par renforcement.
IBM Federated Learning dispose également d’une riche bibliothèque de méthodes de fusion pour combiner les mises à jour des modèles, et prend en charge diverses approches d’équité pour lutter contre les biais de l’IA.
NVIDIA FLARE (Federated Learning Application Runtime Environment) est un kit de développement logiciel open source et agnostique, conçu pour l’apprentissage fédéré.
Il intègre des workflows d’entraînement et d’évaluation, des algorithmes préservant la confidentialité, ainsi que des algorithmes d’apprentissage pour le calcul de la moyenne pondérée et FedProx. NVIDIA FLARE propose également des outils de gestion pour l’orchestration et la surveillance.
OpenFL est un cadre d’apprentissage fédéré open source basé sur Python, créé par Intel et désormais intégré à la Linux Foundation. OpenFL fonctionne avec des cadres d’apprentissage profond tels que PyTorch et des bibliothèques de machine learning, dont TensorFlow. Parmi ses fonctionnalités de sécurité, citons la confidentialité différentielle et la prise en charge des environnements d’exécution de confiance matériels.
TensorFlow Federated (TFF) est un cadre open source développé par Google à des fins de machine learning sur des données décentralisées. Les interfaces de programmation d’applications (API) TFF sont divisées en deux couches :
● L’API d’apprentissage fédéré est la couche de haut niveau qui facilite la mise en œuvre de tâches d’apprentissage fédéré telles que la formation ou l’évaluation à l’aide de modèles de machine learning existants.
● L’API Federated Core est la couche de bas niveau, qui permet de créer de nouveaux algorithmes d’apprentissage fédéré.
Tous les liens sont externes au site ibm.com
1 Apprentissage fédéré intersilo et inter-appareil sur Google Cloud, Google Cloud, 3 juin 2024.
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.