← Retour aux articles
Recherche  ·  Apprentissage fédéréOctobre 2024 · 8 min de lecture

Introduction à l'apprentissage fédéré

Pourquoi entraîner un modèle sans centraliser les données ? Un tour d'horizon de FL, de FedAvg aux défis de la non-IID-ité.

federated-learningmlrecherche

Le problème de fond

Le machine learning classique repose sur une hypothèse simple : toutes les données sont accessibles en un seul endroit. On agrège les données, on entraîne un modèle, on déploie. Mais dans la réalité, cette hypothèse s'effondre rapidement.

Imaginez un hôpital qui souhaite entraîner un modèle de détection précoce du cancer à partir de scanners. Les données sont sensibles, soumises au RGPD, et chaque établissement refuse — à juste titre — de les centraliser. Résultat : chaque hôpital a trop peu de données pour entraîner un modèle performant seul, mais partager les données est impossible.

Le paradoxe : les données les plus précieuses sont souvent les plus difficiles à centraliser. Données médicales, financières, comportementales — toutes contraintes par la vie privée, la régulation, ou la compétition.

C'est exactement le problème que l'apprentissage fédéré cherche à résoudre.

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

L'apprentissage fédéré (Federated Learning) est un paradigme d'entraînement distribué introduit par Google en 2017. L'idée centrale : le modèle va aux données, pas l'inverse.

Voici comment fonctionne un round d'entraînement fédéré classique :

  1. Un serveur central diffuse le modèle global actuel à un sous-ensemble de clients.
  2. Chaque client (hôpital, téléphone, institution) entraîne le modèle localement sur ses propres données.
  3. Les clients renvoient leurs mises à jour (gradients ou poids) — pas leurs données.
  4. Le serveur agrège ces mises à jour pour améliorer le modèle global.
  5. On répète jusqu'à convergence.

Les données ne quittent jamais le client. C'est la promesse fondamentale du paradigme.

L'algorithme FedAvg

L'algorithme de référence est FedAvg (Federated Averaging), proposé par McMahan et al. (2017). Son principe d'agrégation est d'une simplicité élégante : la mise à jour globale est la moyenne pondérée des mises à jour locales, pondérée par la taille du dataset de chaque client.

Formellement, à chaque round tt, le serveur sélectionne un sous-ensemble St[K]\mathcal{S}_t \subset [K] de clients et diffuse le modèle courant wtw^t. Chaque client kk résout localement :

wkt+1=wtηLk(wt)w_k^{t+1} = w^t - \eta \, \nabla \mathcal{L}_k(w^t)

puis le serveur agrège via une moyenne pondérée par la taille des datasets locaux nkn_k :

wt+1=kStnknwkt+1ouˋn=kStnkw^{t+1} = \sum_{k \in \mathcal{S}_t} \frac{n_k}{n} \, w_k^{t+1} \quad \text{où} \quad n = \sum_{k \in \mathcal{S}_t} n_k
# Pseudocode simplifié de FedAvg
for round t in 1..T:
    clients = sample(all_clients, fraction=C)

    for each client k in clients:
        w_k = local_SGD(w_global, data_k, epochs=E)

    # Agrégation pondérée
    w_global = sum(n_k / n * w_k for k in clients)
    # où n_k = nb samples client k, n = total

La beauté de FedAvg réside dans sa généralité : il fonctionne avec n'importe quel modèle différentiable. En pratique, le nombre de rounds TT, le taux de participation CC et le nombre d'époques locales EE sont les principaux leviers.

Le défi de la non-IID-ité

En statistique classique, on suppose que les données sont i.i.d. (indépendantes et identiquement distribuées). En apprentissage fédéré, cette hypothèse est systématiquement violée.

Les données de chaque client reflètent ses usages propres, sa démographie, son environnement. Un téléphone utilisé à Paris a une distribution de données très différente d'un téléphone utilisé à Lomé.

"Non-IID data is arguably the most fundamental challenge in federated learning." — Li et al., 2020

Cette hétérogénéité crée plusieurs problèmes concrets :

Au-delà de FedAvg : quelques réponses

Depuis 2017, la communauté a proposé de nombreuses variantes pour adresser ces problèmes. En voici quelques-unes qui jalonnent ma recherche :

Ce que j'explore dans ma recherche : comment l'hétérogénéité des données (distribution des labels, quantité de données, features drift) affecte-t-elle la convergence de ces algorithmes, et dans quelles conditions chacun excelle ?

Limites et questions ouvertes

L'apprentissage fédéré est loin d'être un problème résolu. Quelques tensions majeures :

Conclusion

L'apprentissage fédéré n'est pas une solution miracle — c'est un compromis. Un compromis entre performance et confidentialité, entre centralisation et distribution, entre modèle global et personnalisation locale.

Ce qui le rend fascinant, c'est qu'il force à repenser des hypothèses profondes du machine learning : qu'est-ce qu'un modèle "bon" quand les données sont intrinsèquement disparates ? Comment garantir l'équité dans un système décentralisé ? Ces questions, à l'intersection des mathématiques, de l'informatique et de l'éthique, sont celles qui guident ma recherche.

Dans un prochain article, je présenterai un benchmark comparatif de FedAvg et FedProx sur des données MNIST partitionnées de façon non-IID — avec du code, des courbes, et des conclusions concrètes.