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引入材料科學與化學研究。
相關
- 專案
- 專案
- 專案
- 專案