Nicolas Rougier :
« Il y a encore des progrès à faire en matière de reproductibilité des codes »
⏱ 5 minOn parle depuis quelques années d’une « crise de la reproductibilité » de la recherche, les chercheurs ne parvenant pas toujours à reproduire les travaux de leurs pairs. La transparence des recherches est en jeu. La science des données et l’IA sont elles aussi concernées, et les premières initiatives pour lutter contre ce fléau ont vu le jour, explique Nicolas Rougier, chercheur Inria, cofondateur, en 2015, de ReScience, la première revue consacrée à la réplication de codes.
Data Analytics Post : Quand cette crise s’est-elle déclarée ?
Nicolas Rougier : Dans les années 1990, on a pris conscience du nombre croissant d’erreurs dans les programmes, mais aussi de résultats d’études précliniques, cliniques ou psychologiques qui ne pouvaient pas être reproduits, et donc confirmés. Avec l’explosion du numérique et les quantités sans cesse accrues de données, la qualité de leur indexation et de leur analyse a un impact croissant sur les résultats des recherches. La situation semble avoir atteint un point critique. C’est devenu un phénomène mondial et largement transdisciplinaire, qui concourt à la défiance de la société à l’égard du monde de la recherche.
Que faut-il entendre par « reproductibilité » ?
N.R. : L’expression « recherche reproductible » dans les sciences computationnelles apparaît pour la première fois, en 1992, dans une communication de Jon Claerbout et Martin Karrenbach au congrès de la Society of Exploration Geophysics. Il est difficile de fournir une définition satisfaisante pour toutes les disciplines, car la précision attendue en termes de reproductibilité est variable. Je retiendrai la définition de Lorena Barba¹, de l’université George Washington, aux États-Unis. Un travail de recherche est dit reproductible si toutes les informations qui le concernent sont disponibles : texte, données, code de programmation, de telle sorte que n’importe quel chercheur indépendant puisse reproduire les résultats. Une autre démarche importante est la réplication du code², autrement dit sa réécriture à partir de sa description, pour s’assurer que la méthode et les paramètres sont bien décrits, et ainsi vérifier les résultats. Nous avons créé, en 2015, la revue ReScience pour inciter à la publication des codes, d’abord dans notre domaine de recherche, les neurosciences, et dans tous ceux où il y a du code. Nous avons récemment scindé la revue en deux : ReScience C est consacrée, comme l’était ReScience, aux articles de réplication de codes, tandis que ReScience X est réservée aux réplications en sciences expérimentales.
Quelles sont les principales causes du déficit de reproductibilité des codes ?
N.R. : C’est souvent le fruit d’une forme de méconnaissance, d’un déficit de compétences techniques, de pratiques plus ou moins hasardeuses ou simplement d’un manque de temps. Une question de culture, donc, et non de malhonnêteté scientifique. Concrètement, le problème peut venir d’une difficulté ou d’une impossibilité d’accès au code, aux données ou encore à l’infrastructure. Même si les codes sources sont de plus en plus partagés, cela ne garantit pas la reproductibilité. Il faut aussi garantir l’accès à l’ensemble des applications et bibliothèques logicielles utilisées, au générateur de nombres aléatoires, qui peut changer d’une version à l’autre comme cela a été le cas pour Python. Parfois, ce sont les données qui font défaut, notamment quand elles sont sensibles, comme des données de santé, ou propriétaires. Avec les grandes masses de données, l’équipement informatique utilisé aussi est devenu une question importante : peu de chercheurs académiques disposent de la puissance de calcul nécessaire pour faire simplement tourner les programmes. D’autres aspects matériels auxquels on pense moins peuvent aussi être problématiques : en chauffant, les processeurs d’un cluster peuvent perturber l’ordre des calculs lors d’un apprentissage en parallèle, et ainsi modifier les performances…
En quoi l’IA et le machine learning sont-ils spécifiquement concernés ?
N.R. : En apprentissage profond, un des problèmes récurrents est que les performances varient énormément en fonction de l’initialisation du générateur de nombres pseudo-aléatoires, à tel point que, pour certains, cela devient un hyper-paramètre comme un autre. Idéalement, il faudrait moyenner les performances d’un modèle en le faisant tourner par exemple dix fois, ce qui peut être assez coûteux. De même, la phase d’apprentissage étant critique, il faut qu’elle soit documentée dans les moindres détails³ pour que quiconque puisse la reproduire et obtenir les mêmes résultats. Par exemple pour les données brutes, il faut expliquer comment elles ont été prétraitées, sélectionnées, testées, etc. Or, fournir toutes ces informations exige beaucoup de travail, sans véritable reconnaissance institutionnelle pour l’instant.
Quelle est la responsabilité des éditeurs scientifiques ? On a vu, fin 2020, des chercheurs s’élever⁴ contre la publication dans Nature d’un article de Google Health sur l’analyse d’images médicales pour détecter des cancers du sein, qui s’apparentait à de la promotion, vu le manque de précisions sur l’algorithme.
N.R. : Une telle publication est inacceptable et fait beaucoup de tort ! Springer, Elsevier ou l’AAAS [qui édite notamment Science, NDLR], évoquent dans leur politique éditoriale l’open-science, le partage de code et de données mais ne l’imposent pas dans les faits. Par exemple, ni Elsevier ni Springer n’ont de compte sur GitHub, la plateforme de référence pour partager les codes. Trop de publications mentionnent encore « Pour les données, contactez l’auteur ». Sans compter que les revues scientifiques acceptent encore très rarement des publications de réplication. Certains éditeurs comme la Royal Society jouent néanmoins déjà le jeu. D’autres acteurs devraient également inciter à changer les pratiques : les bailleurs de fonds comme l’Europe, l’ANR (Agence nationale de la recherche), les universités.
Cette réaction contre Nature et Google Health a eu le mérite de déclencher un mouvement dans le monde de l’IA…
N.R. : Effectivement. Depuis, les grandes conférences en IA comme NeurIPS ou ICML sont très clairement sensibilisées au problème de la reproductibilité et de la réplication. NeurIPS a été précurseur, en 2019, avec le premier challenge de reproductibilité organisé par Joëlle Pineau, data scientist à Facebook AI Research et à l’université McGill : 173 articles ont été soumis à reproduction et les résultats ont été publiés⁵ dans ReScience. Joëlle Pineau a par ailleurs proposé une sorte de check-list de reproductibilité pour les articles soumis, incluant une liste des informations à fournir au minimum, comme le nombre de runs, la puissance de calcul utilisée, des liens vers le code et les données. L’expérience s’est amplifiée en 2020, et d’autres conférences ont emboîté le pas.
Plus largement, quelles sont les solutions ?
N.R. : Il y en a de plus en plus. Software Heritage permet de sauvegarder le code à long terme et d’en garantir l’accès. Il y a aussi l’environnement Docker, qui permet d’accroître la flexibilité d’exécution d’une application en intégrant les logiciels et leurs dépendances (codes provenant de bibliothèques…) en un « container logiciel » portable. GuiX permet de connaître les dépendances entre les différentes bibliothèques logicielles. L’Inria a par ailleurs conçu un Mooc sur la recherche reproductible. Dans le domaine du traitement d’images, la revue scientifique IPOL a publié en dix ans plus de 200 algorithmes qui peuvent être réutilisés et testés sur de nouvelles données. Quant à ReScience, nous avons publié une centaine d’articles de réplications de codes en cinq ans.
Propos recueillis par Isabelle Bellin
1. Lorena Barba, “Terminologies for Reproducible Research”, 2018. arxiv.org
2. Fabien Benureau et Nicolas Rougier, “Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions”, Front. Neuroinform., 2018. doi.org
3. Matthew Hutson, “Artificial Intelligence Faces Reproducibility Crisis“, Science, 2018. doi.org
4. Benjamin Haibe-Kains et al., “Transparency and Reproducibility in Artificial Intelligence“, Nature, 2020. doi.org arxiv
5. Koustuv Sinha et al., “NeurIPS 2019 Reproducibility Challenge“, ReScience C, 2020. doi.org