HPE aussi se l’est approprié, mais dans une autre discipline. En l’occurrence, l’apprentissage automatique. Il l’a appliqué à un projet de recherche en cours depuis plusieurs années et désormais ouvert aux contributions externes depuis la mi-2021 : Swarm Learning.
Swarm Learning s’inscrit, entre autres, dans la veine des travaux sur l’apprentissage dit fédéré. Et reprend le concept fondamental : ancien des modèles sans centraliser les données d’entraînement. Avec les mêmes logiques de réduction des coûts, des goulets d’étranglement techniques, des problèmes de sécurité et des enjeux juridiques. Il y ajoute la décentralisation de l’apprentissage (exécution en périphérie, plus près des données)… et une brique blockchain.
La fonction de cette brique ? Décentraliser complètement le partage des connaissances qu’acquièrent les modèles. À chaque cycle d’entraînement, l’opération échoit à un nœud que les autres ont élu.
Swarm Learning réunit cinq grandes caractéristiques :
– Des nœuds d’apprentissage
Ils contiennent l’algorithme d’entraînement (implémenté en Python 3, sur Keras ou PyTorch).
– Des nœuds de réseau
Ils utilisent la fameuse couche blockchain (la version de base d’Ethereum ; d’autres options pourraient s’ajouter à terme, affirme HPE) pour créer les nœuds d’apprentissage. Certains peuvent jouer le rôle de « sentinelles » : ils ont pour rôle d’initialiser le réseau en découvrant les paires.
– Des nœuds de commande
Avec un outil en ligne de commande qui peut se connecter par API REST à tout nœud de réseau.
– Des nœuds SPIRE
Ils implémentent la norme SPIFFE pour attester – sur gRPC – de l’identité des nœuds d’apprentissage et de réseau.
– Un nœud qui exécute le serveur de licence (HPE AutoPass)
Swarm Learning reste à l’état de projet
Pour des questions de performance, on nous recommande de dédier un système (VM ou matériel nu) à chaque nœud. Configuration indicative : 4 cœurs, 32 Go de RAM, 200 Go de disque et réseau 1 Gbit/s. Le cadre est conteneurisé (Docker ou Kubernetes requis). Il ne prend actuellement en charge que l’architecture AMD64. OS recommandé : Ubuntu. L’entraînement sur GPU NVIDIA est possible (certifié sur les Tesla K80, P100 et V100).
En l’état, tous les nœuds doivent exécuter le même algorithme, avec les mêmes paramètres. La centralisation des poids des modèles se fait pour le moment sur la méthode de la moyenne (extension prévue, en particulier, à la médiane et à la moyenne pondérée).
Faire d’un modèle classique un modèle Swarm Learning implique essentiellement de modifier les dossiers source et destination, et d’inclure une classe.
La couche blockchain permet de stocker – sur contrat intelligent – l’état du système (cycle d’entraînement actuel, liste des membres du réseau et de leurs adresses IP, URI des fichiers contenant les poids) et ses capacités (mécanisme d’élection du leader, résilience = nombre minimal de nœuds fonctionnels requis , procédure de réparation automatique…). Elle apporte aussi une solution de monétisation, capable de rétribuer les fournisseurs de données et de puissance de calcul.
Swarm Apprendre à faire, entre autres initiatives, l’objet d’une mise à l’épreuve dans le domaine de la santé, pour la détection de la tuberculose et la prévention de la leucémie.
Illustration principale © Siarhei – Adobe Stock