Des chercheurs du laboratoire national d’Argonne, rattaché au département de l’Énergie américain (DOE), ont réécrit une partie du code d’une analyse génétique pour la faire tourner sur processeurs graphiques (GPU). Dans sa version d’origine, ce calcul aurait demandé environ 481 000 heures-cœur de processeur (CPU), et il est devenu praticable après cette modification. Le travail porte sur les données génétiques collectées auprès de vétérans américains.
- Des chercheurs d’Argonne ont réécrit une analyse génétique pour la faire tourner sur processeurs graphiques.
- Le problème venait d’un défaut de programmation, et le logiciel SAIGE est devenu SAIGE-GPU.
- L’étude du Million Veteran Program a identifié 13 672 régions du génome liées à des affections, et le temps de calcul est passé de 14 jours à moins de deux heures.
- Les résultats restent précliniques, et l’apprentissage fédéré pourrait permettre de partager des modèles sans partager les données.
Plus d’un million de vétérans ont transmis leur ADN dans le cadre du « Million Veteran Program », mis en place par le département des Affaires des vétérans. Ravi Madduri, scientifique senior de la division Data Science and Learning du laboratoire d’Argonne, qui occupe également un poste conjoint au département de génétique humaine de l’université de Chicago, décrit cet engagement avec gravité : « Même après avoir tout donné à leur pays, ils ont trouvé dans leur cœur de donner encore, sans rien attendre en retour. » Pour lui, cette générosité crée une dette : « Quand je regarde ces données, j’ai l’obligation de tenir la promesse faite aux vétérans. »
Un problème de code avant un problème de machine
Une étude d’association pangénomique (GWAS) cherche à savoir si une variante génétique accompagne une maladie donnée. La question est simple, mais elle se multiplie par chaque variante testée et chaque pathologie recensée dans les dossiers des patients, ce qui en fait un immense problème mathématique. L’équipe de Madduri a d’abord lancé ce calcul sur le système Summit du centre Oak Ridge Leadership Computing Facility, puis sur le système Aurora du centre Argonne Leadership Computing Facility. Sur Summit, la tâche ne parvenait pas à se terminer sur les processeurs : à mesure que la cohorte grossissait, la matrice nécessaire à chaque groupe ne tenait plus dans la mémoire, et le calcul se bloquait.
« Nous avons décidé d’ouvrir la boîte et de regarder le code », explique Madduri. Le problème s’est révélé être un défaut de programmation plutôt qu’une simple question de vitesse. Le code, écrit pour des processeurs classiques comme ceux qu’utilisait la communauté de la génétique, passait presque tout son temps à multiplier de très grandes grilles de nombres, une opération pour laquelle les processeurs graphiques sont conçus. Sous la direction d’Alex Rodriguez, d’Argonne, l’équipe a réécrit cette partie pour les GPU. L’outil d’origine, SAIGE, a ainsi donné naissance à une version nommée SAIGE-GPU, décrite dans un article distinct publié dans la revue Bioinformatics.
Des données qui ne peuvent pas voyager
Les résultats ont été publiés dans la revue Science par le consortium du Million Veteran Program, dont le groupe de Madduri fait partie des auteurs. L’étude porte sur 2 068 traits chez 635 969 vétérans et a mis en évidence 13 672 régions du génome liées à une ou plusieurs affections. Environ 1 600 de ces régions n’apparaissent que parce qu’près d’un tiers des participants n’ont pas d’ascendance européenne, alors que, selon l’article de Science, la plupart des études génétiques menées jusqu’ici reposaient majoritairement sur des personnes d’origine européenne.
Madduri insiste sur les limites de ces résultats : « Tout cela est préclinique. Nous sommes dans la phase de découverte. » L’analyse produit une carte statistique indiquant où chercher, mais transformer l’une de ces régions en traitement demande des années de travaux complémentaires. Il souligne aussi le gain de temps : des opérations qui prenaient 14 jours au moment de l’article de Science ne demandent plus que « moins d’un ou deux heures ».
Pour les données médicales, le partage reste un obstacle. Madduri relève que les données génétiques ne peuvent pas être partagées aussi librement que, par exemple, des données de cosmologie. L’apprentissage fédéré (federated learning) propose de déplacer le modèle plutôt que les données : chaque institution entraîne le modèle sur ses propres données, puis renvoie seulement les ajustements appris, qui sont combinés en un modèle commun. Madduri est l’un des développeurs d’APPFL, un cadre logiciel de l’Argonne Privacy-Preserving Federated Learning. Il ajoute toutefois que la difficulté principale reste l’autorisation : chaque collaborateur doit travailler avec ses propres identifiants institutionnels, sur une machine à laquelle il a droit. Selon lui, « un site qui détient des données uniques rend le modèle partagé plus robuste pour tous ».
