IBM/materials
Foundation Model for Materials - FM4M
IBM /materials – 材料科学基础模型 (FM4M)
是什么
- 一组开源、预训练的基础模型,能够理解分子和材料的不同表示形式(SMILES字符串、SELFIES字符串、分子图、3D原子坐标、电子密度网格等)。
- 每个模型均在大规模化学数据集上训练(最多9100万SMILES,超过10亿个分子,超过150万个3D结构),可直接使用进行特征提取,或微调用于下游任务,如性质预测、量子性质回归或生成式设计。
- 仓库包含一个轻量级包装器 FM4M‑Kit,可通过统一的Python API或Hugging Face Spaces托管的简单Web UI调用任意模型。
主要模型
| 模型 | 模态 | 核心架构 | 典型应用场景 |
|---|---|---|---|
| SMI‑TED | SMILES字符串 | Transformer编码器-解码器(约2.89亿参数) | 量子性质预测、序列到序列任务 |
| SMI‑SSED | SMILES字符串 | 基于Mamba的编码器-解码器(快速推理) | 与SMI‑TED相同,但速度更高 |
| SELFIES‑TED | SELFIES字符串 | BART风格Transformer | 性质预测及自回归分子生成 |
| MHG‑GED | 分子图 | GNN编码器 + 分子超图语法解码器 | 有效分子生成和基于图的回归 |
| POS‑EGNN | 3D原子图 | 等变几何张量网络 | 用于MD模拟的机器学习势能 |
| 3DGrid‑VQGAN | 3D电子密度网格 | VQ‑GAN编码器-解码器 | 将高维量子数据压缩为潜在向量 |
| SMILESDFT‑CLIP | 多模态(SMILES + 3D密度) | 联合VQ‑GAN + Transformer(对比学习) | 学习字符串与场模态之间的对齐表示 |
| MOL‑MOE | 多视图(SMILES, SELFIES, 图) | 专家混合(Mixture‑of‑Experts) | 融合互补视图以实现更高精度的性质预测 |
| STR‑Bamba | 字符串(SMILES/SELFIES) | 混合Transformer‑Mamba‑2 | 灵活处理多种字符串编码 |
| TDiMS | 描述符(SMILES) | 分子内子结构的拓扑距离 | 轻量、可解释的特征——无需预训练 |
如何开始
- 创建Conda环境
conda create -n fm4m python=3.9.8 conda activate fm4m - 安装依赖项
pip install -r requirements.txt # 安装与CUDA版本匹配的torch-scatter,例如: pip install torch-scatter -f https://data.pyg.org/whl/torch-$(python -c "import torch; print(torch.__version__.split('+')[0])")+cu118.html - 选择使用方式
- 直接模型 – 进入
models/<model_name>/并按照其中的README或笔记本操作。 - FM4M‑Kit(推荐) – 导入包装器并调用单个函数:
import fm4m # 从SELFIES‑TED提取特征 feats = fm4m.get_representation(model="selfies-ted", data=my_smiles) # 使用单个模型训练下游回归器 score = fm4m.single_modal( model="MHG-GED", x_train=X_train, y_train=y_train, x_test=X_test, y_test=y_test, downstream_model="DefaultRegressor" ) # 组合多个模态 score = fm4m.multi_modal( model_list=["SELFIES-TED", "MHG-GED", "SMI-TED"], x_train=X_train, y_train=y_train, x_test=X_test, y_test=y_test, downstream_model="DefaultRegressor" ) - Web UI – 打开仓库中链接的Hugging Face Space,使用拖拽界面上传数据、选择模型,并快速运行XGBoost下游任务。
- 直接模型 – 进入
仓库结构
materials/
├─ models/ # 每个单模态模型一个文件夹(smi_ted/, selfies_ted/, …)
│ ├─ fm4m.py # 核心包装器工具
│ └─ …
├─ examples/ # 展示端到端流程的Jupyter笔记本
│ ├─ fm4m_example.ipynb
│ └─ battery_example.ipynb
├─ requirements.txt # Python依赖项
└─ README.md (此文件)
何时使用FM4M
- 您拥有化学或材料数据(SMILES、图、3D结构),需要高质量嵌入但无需从头训练模型。
- 想要比较不同分子表示对下游预测的影响。
- 需要预训练的机器学习势能(POS‑EGNN)以实现接近DFT精度的分子动力学模拟。
- 对生成式化学(SELFIES‑TED、MHG‑GED)感兴趣,希望生成语法上有效的分子。
社区与支持
- 在IBM友好许可下开源;欢迎通过拉取请求贡献代码。
- 模型托管在Hugging Face,提供GUI以快速探索。
- 团队定期举办教程和研讨会(MRS 2025、AAAI 2025、NeurIPS 2024等),并在AI Alliance中维护工作组。
参考文献
- README列出了每个模型的论文(Nature Communications Chemistry 2025、NeurIPS 2024等),可深入了解技术细节。
简而言之,IBM/materials 提供了一套即用型的大规模、多模态基础模型工具箱,将最先进的AI引入材料科学和化学研究。
相关
- 项目
- 项目
- 项目
- 项目