Des chercheurs de l'EPFL améliorent une technique conciliant machine learning et privacy
Des chercheurs de l’EPFL et de l’INRIA ont développé un système permettant d’améliorer la performance de l’apprentissage fédéré. Cette technique émergente permet d’entraîner un algorithme centralisé de manière distribuée, sans que les utilisateurs n’aient à dévoiler leurs données.
On ne peut pas avoir le beurre et l’argent du beurre. Si l’on veut profiter d’algorithmes qui apprennent de nos interactions, il faut lâcher des données personnelles. En fait ce n’est pas vraiment le cas, il existe des moyens techniques de contenter tant le désir d’outils intelligents que celui légitime de garder un peu de vie privée. Conceptualisé dès 2016 par Google, l’apprentissage fédéré est l’une des solutions pour y parvenir, souvent en combinaison avec d’autres techniques (calcul multipartite sécurisé, confidentialité différentielle).
L’apprentissage fédéré dans les claviers Android
L’apprentissage fédéré consiste à confier les tâches d’apprentissage à un ensemble d’appareils (par exemple des smartphones) orchestrés par un serveur central. De manière itérative, les appareils effectuent la tâche qui leur est confiée avec leurs données locales et renvoient les résultats au serveur central qui les agrège et met le modèle à jour.
Beaucoup d’utilisateurs de smartphones utilisent à leur insu une application d’apprentissage fédéré puisque le concept sert aux prédictions de texte dans les claviers Gboard sur Android. Les bénéfices sont nombreux: les prédictions sont de meilleure qualité, l’exploitation de ces données ultra-sensibles est minimisée et la consommation d’énergie moindre.
Comment étendre le modèle à un apprentissage en continu?
Si l’apprentissage fédéré est idéal dans le cas du clavier Android, il n’est guère utilisable dans quantité d’autres applications, expliquent des chercheurs de l’EPFL et de l’INRIA dans un article récent. L’apprentissage fédéré exige en effet une grande disponibilité des appareils (connectivité, batterie). Dans la pratique les modèles ne sont ainsi mis à jour que toutes les 24 heures. Si ce rythme suffit pour la saisie de texte, ce n’est pas le cas pour d’autre services, comme les recommandations sur les réseaux sociaux, qui nécessitent des modèles actualisés en permanence.
Pour parvenir à un tel modèle d’apprentissage «en ligne», les chercheurs ont développé FLeet, un système qui fait office de middleware entre le système d’exploitation du smartphone et l’application ML. La solution repose sur deux composants. Le premier est un outil qui prédit et gère les périodes de calcul et la consommation énergétique de chaque tâche d’apprentissage en tenant compte des capacités singulières de chaque appareil.
L’autre idée de FLeet consiste à passer à des mises à jour asynchrones du modèle pour améliorer la performance et éviter le gaspillage de synchronisations incessantes. Le hic c’est qu’avec des mises à jour asynchrones, on risque qu’une tâche d’apprentissage effectuée sur un appareil ne serve plus à rien ou empêche la convergence du modèle qui a été mis à jour dans l’intervalle. C’est là qu’intervient le second composant de FLeet: un algorithme ML (gradient descent) qui tolère ce problème en atténuant l’impact des résultats périmés sur la base de divers critères. Au final, les chercheurs parviennent ainsi à améliorer la qualité de l’apprentissage fédéré tout en minimisant l’utilisation de la batterie.