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) 分子内子结构的拓扑距离 轻量、可解释的特征——无需预训练

如何开始

  1. 创建Conda环境
    conda create -n fm4m python=3.9.8
    conda activate fm4m
    
  2. 安装依赖项
    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
    
  3. 选择使用方式
    • 直接模型 – 进入 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引入材料科学和化学研究。

相关

  • 项目
  • 项目
  • 项目
  • 项目