MoMa: Modular Deep Learning Framework for Material Property Prediction
π Overview
MoMa introduces a revolutionary modular approach to material property prediction that fundamentally shifts from traditional pre-training paradigms. Instead of using a single pre-trained model fine-tuned for each task, MoMa trains specialized modules across diverse material properties and adaptively composes them for downstream applications.
π― Key Achievements
- π State-of-the-art performance on 17 material property prediction datasets
- π 14% average improvement over strongest baselines
- π§ 100+ specialized modules covering major material property domains
- β‘ Superior few-shot and continual learning capabilities
π§ Why MoMa?
| Traditional Approach | MoMa Framework |
|---|---|
| Single pre-trained model β Fine-tune | Multiple specialized modules β Adaptive composition |
| Limited task specificity | Task-specific optimization |
| Poor generalization to new properties | Enhanced generalization through modularity |
| High computational cost for each task | Efficient module reuse and composition |
π¦ Available Modules (107 Total)
Our repository contains 107 pre-trained modules spanning 6 major domains of material science:
π Module Distribution by Domain
| Domain | Count | Description |
|---|---|---|
| ** Electronic Structure** | 28 | Band gaps, HOMO-LUMO, DOS, dielectric properties |
| ** Thermodynamics** | 20 | Formation energy, Gibbs free energy, stability |
| ** Spectroscopy** | 24 | EXAFS, XANES spectral features |
| ** Mechanical** | 8 | Elastic moduli, piezoelectric properties |
| ** Photovoltaic** | 8 | Solar cell performance metrics |
| ** Adsorption** | 8 | Gas adsorption in MOFs |
| Thermoelectric | 8 | Seebeck coefficients, thermal conductivity |
| ** Other Properties** | 3 | Specialized material characteristics |
π Featured Modules
π¬ Electronic Structure Modules
| Module | Property | Description |
|---|---|---|
HL_Gap.pt |
HOMO-LUMO Gap | Electronic band gap prediction |
HOMO_Energy.pt |
HOMO Energy | Highest occupied molecular orbital energy |
LUMO_Energy.pt |
LUMO Energy | Lowest unoccupied molecular orbital energy |
Polarizability.pt |
Polarizability | Electron cloud deformation under external field |
jarvis_bandgap.pt |
Band Gap | Fundamental electronic property |
mp_bandgap.pt |
Material Band Gap | Electronic structure parameter |
π‘οΈ Thermodynamics Modules
| Module | Property | Description |
|---|---|---|
jarvis_eform.pt |
Formation Energy | Thermodynamic stability indicator |
mp_eform.pt |
Formation Energy | Energy of formation from elements |
gibbs_free_energy.pt |
Gibbs Free Energy | Chemical reaction spontaneity |
surface_energy.pt |
Surface Energy | Cost of creating new surfaces |
mp_energy_above_hull.pt |
Energy Above Hull | Phase stability metric |
βοΈ Spectroscopy Modules
| Module | Property | Description |
|---|---|---|
spec_EXAFS_Fe_EdgeEnergy.pt |
EXAFS Edge Energy | Iron K-edge absorption |
spec_XANES_Co_PeakHeight.pt |
XANES Peak Height | Cobalt absorption intensity |
spec_EXAFS_Cu_WhiteLineHeight.pt |
White Line Height | Copper spectral feature |
π₯ Download Individual Modules
import shutil
from huggingface_hub import hf_hub_download
# see all module names at https://huggingface.co/yuanhangtangle-air/moma-modules/blob/main/module-names.csv
# Download a specific module
cached_file = hf_hub_download(
repo_id="yuanhangtangle-air/moma-modules",
filename="Dipole_M.pt", # Replace with desired module
repo_type="model"
)
# Copy to your local directory
save_path = "./moma-hub/"
shutil.copy(cached_file, save_path)
π¦ Download All Modules
import shutil
import pandas as pd
from huggingface_hub import hf_hub_download
from tqdm import tqdm
# fetch
cached_file = hf_hub_download(
repo_id="yuanhangtangle-air/moma-modules",
filename="module-names.csv",
repo_type="model"
)
df = pd.read_csv(cached_file)
MODULE_LIST = df['module_names']
cached_files = []
for module_name in tqdm(MODULE_LIST, desc="Downloading Modules"):
cached_file = hf_hub_download(
repo_id="yuanhangtangle-air/moma-modules",
filename=module_name + ".pt",
repo_type="model"
)
cached_files.append(cached_file)
# save to local path
save_path = "./moma-hub/"
for cached_file in cached_files:
shutil.copy(cached_file, save_path)
π Citation
If you use MoMa in your research, please cite our paper:
@article{wang2025moma,
title={MoMa: A Modular Deep Learning Framework for Material Property Prediction},
author={Wang, Botian and Ouyang, Yawen and Li, Yaohui and Wang, Yiqun and Cui, Haorui and Zhang, Jianbing and Wang, Xiaonan and Ma, Wei-Ying and Zhou, Hao},
journal={arXiv preprint arXiv:2502.15483},
year={2025}
}
π License
This project is licensed under the MIT License.
π Acknowledgments
We gratefully acknowledge the materials science community and the datasets that made this research possible. Special thanks to:
- Materials Project
- Open Quantum Materials Database
- Joint Automated Repository for Various Integrated Simulations
- And all other data contributors
π Star this repository if you find it useful! π
π Accelerating Materials Discovery Through Modular AI π