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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Travaux voisins dans notre archive
L'archive est vide autour de ce travail : l'analyse la plus proche n'est qu'à 0.55, contre 0,64 d'ordinaire. Il semble qu'on ait peu foré à côté.
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.