Bibliothèque MatGL : des réseaux de graphes pour la science des matériaux en accès libre ✛

Original: "Materials Graph Library (MatGL), an open-source graph deep learning library for materials science and chemistry"
arXiv:2503.03837 · 2025-03-05 · CC BY 4.0 · 4 min
MatGL réunit cinq architectures de graphes et des potentiels interatomiques prêts à l'emploi dans une seule bibliothèque ouverte.

Contexte

Les réseaux de neurones à graphes pour les matériaux se sont multipliés ces dernières années, mais chaque implémentation vivait dans son propre dépôt : MEGNet sur TensorFlow, M3GNet sur PyTorch, CHGNet avec ses propres scripts. Transférer un modèle vers de nouvelles données ou comparer les architectures était un projet en soi. Des bibliothèques pour une architecture unique et des paquets comme PyTorch-Geometric existaient déjà, mais il manquait une couche commune pour la science des matériaux qui relierait les structures cristallines, l'entraînement et le lancement de la dynamique moléculaire. MatGL comble cette niche en s'appuyant sur DGL, une bibliothèque qui, selon les benchmarks, surpasse PyTorch-Geometric en mémoire et en vitesse sur les grands graphes.

Méthodes

MatGL repose sur quatre composants : le pipeline de données, les architectures de modèles, l'entraînement et les interfaces de simulation. Le pipeline accepte les structures de Pymatgen ou ASE, construit des graphes avec un rayon de coupure donné et les met en cache pour une réutilisation. Les architectures (MEGNet, M3GNet, CHGNet, TensorNet et SO3Net) sont implémentées de manière modulaire : les couches, le pooling et les fonctions d'activation sont réutilisés entre les modèles. L'entraînement passe par PyTorch Lightning, ce qui permet de faire évoluer les calculs sur plusieurs GPU. Pour les potentiels interatomiques, une classe Potential est implémentée, qui prend automatiquement en compte la normalisation des énergies et calcule les forces, les contraintes et les hessiennes par autodifférenciation. Les interfaces vers ASE et LAMMPS permettent de lancer la relaxation de structure et la dynamique moléculaire en une seule commande.

Résultats

Les benchmarks sur quatre ensembles de données montrent que MatGL reproduit la précision des modèles originaux. Sur QM9, l'erreur de prédiction de l'énergie libre est de 0.025 eV pour M3GNet, 0.027 eV pour TensorNet et 0.025 eV pour SO3Net ; MEGNet est en retrait avec 0.037 eV. Sur Matbench, pour l'énergie de formation, M3GNet, TensorNet et SO3Net donnent une erreur de 0.020 à 0.024 eV/atome, tandis que MEGNet atteint 0.037 eV/atome. Pour les potentiels sur ANI-1x, le SO3Net équivariant atteint une erreur sur les forces de 0.035 eV/Å contre 0.075 eV/Å pour M3GNet avec transfert d'apprentissage. Sur les cristaux de Materials Project, CHGNet surpasse M3GNet et TensorNet : erreur en énergie de 19.9 meV/atome contre 23.0 et 30.3 meV/atome. La vitesse d'inférence de TensorNet sur QM9 est de 14.9 secondes pour 6541 molécules sur une seule RTX 3090, contre 12 secondes pour MEGNet, mais avec une moins bonne précision.

Implications

MatGL fait pour les modèles de graphes de matériaux ce que scikit-learn a fait pour l'apprentissage automatique classique : elle fournit une interface unifiée où l'on peut prendre un modèle prêt à l'emploi, entraîner le sien ou comparer des architectures sur les mêmes données. Cela abaisse le seuil d'entrée pour les expérimentateurs et accélère la reproductibilité. Contrairement aux travaux voisins qui se concentrent sur une seule architecture ou sur l'apprentissage par renforcement, MatGL propose cinq modèles et les relie à ASE et LAMMPS, transformant la bibliothèque en plateforme pour un cycle complet, des données à la dynamique moléculaire.

Développements futurs

La prochaine étape est le support de l'entraînement multiprocesseur sur plusieurs GPU et le travail avec des bases de données dépassant le million de structures. Les auteurs prévoient d'utiliser des bases mappées en mémoire pour stocker les graphes, afin de lever la limitation de mémoire. Cela permettra d'entraîner des potentiels universels sur l'ensemble de Materials Project et de lancer la dynamique moléculaire de systèmes comportant des centaines de milliers d'atomes.

Impact

La bibliothèque est déjà intégrée dans MatSciML et Amsterdam Modeling Suite, ce qui étend son application dans le criblage haute performance de matériaux et la modélisation industrielle.

Prochaines étapes

Dans les prochaines versions, on attend le support de l'apprentissage distribué et l'optimisation du pipeline de données pour travailler avec des ensembles de dizaines de millions de structures.

Problèmes ouverts clés

Pour la science des matériaux, le problème clé non résolu est le transfert des modèles vers des compositions chimiques et des structures éloignées de l'ensemble d'entraînement. MatGL fournit un outil pour vérifier systématiquement cette généralisabilité : on peut rapidement entraîner un modèle sur un ensemble de données et l'exécuter sur un autre, sans réécrire le code. Cela est directement lié à la question de savoir à quel point les potentiels universels sont réellement universels au-delà des configurations d'équilibre.

Le regard de la machine du savoir

Cette section s'adresse à l'auteur du travail et à ses collègues. Les travaux voisins ont été trouvés par une recherche sémantique dans notre archive, et non par correspondance de mots. Nous n'évaluons pas : nous montrons le champ autour.

Ce que fait ce travail

MatGL regroupe cinq architectures de graphes (MEGNet, M3GNet, CHGNet, TensorNet, SO3Net) dans une bibliothèque unique, avec un pipeline de données, un entraînement via PyTorch Lightning et des interfaces vers ASE/LAMMPS. Les auteurs ont reproduit la précision des modèles originaux sur QM9, Matbench, ANI-1x et MPF-2021.2.8, montrant des erreurs comparables à la DFT et une vitesse d'inférence élevée.

Où est sa force

Une interface unifiée pour entraîner, comparer et exécuter cinq architectures, reliant les structures cristallines à la dynamique moléculaire, ce qui fait de la bibliothèque une plateforme de bout en bout.

Vers où avancer

À essayer

  • Essayer d'ajouter une caractéristique de moment magnétique au pipeline de graphes de MatGL et entraîner TensorNet sur des données avec aimantation non nulle.
  • Utiliser l'approche de l'article sur les contraintes dans les pièces pour augmenter les données lors de l'entraînement sur des structures défectueuses.
  • Vérifier dans quelle mesure les potentiels pré-entraînés de MatGL se transfèrent aux cristaux avec un ordre magnétique, et les ré-entraîner si nécessaire.

Pourquoi cela peut compter

Une telle extension permettrait à MatGL de couvrir une autre classe de problèmes en science des matériaux, à savoir la prédiction des propriétés magnétiques, et renforcerait son rôle de plateforme universelle pour les modèles à graphes dans ce domaine.

Le potentiel pré-entraîné M3GNet dans MatGL prédit l'énergie et les forces d'un cristal de 1000 atomes en une fraction de seconde, alors qu'un calcul DFT du même système prendrait des heures sur un supercalculateur.

Chiffres clés

  • erreur en énergie sur ANI-1x pour SO3Net: 1.596 meV/atome
  • erreur sur les forces sur ANI-1x pour SO3Net: 0.035 eV/Å
  • temps d'inférence de TensorNet sur QM9: 14.9 s pour 6541 molécules
  • nombre d'architectures dans MatGL: 5
  • nombre de modèles pré-entraînés: 28 pour les propriétés et 6 pour les potentiels
Notions
matériaux par apprentissage automatique réseau neuronal de graphe apprentissage profond en imagerie médicale prédiction des propriétés moléculaires modèle de langage protéique modélisation physique par réseaux de neurones graphite ensemble de données grands modèles de langage modèle génératif cartographie de l'image médicale au génome potentiel interatomique appris par machine science des matériaux graphes