AI FOR COMPUTATIONAL CHEMISTRY · CH 4

等變,然後一輪聽完一桌人MACE:把對稱性寫進架構、把多體效應打包進單輪訊息

從 VASP 資料到跑 MD 的五步流程・MIT 與 ASL 的 license 地圖

Ch3 的兩個不足,MACE 的兩個答案

不足後果MACE 的答案
特徵是純量,不帶方向旋轉體系時力的方向變換靠「學」,學得近似就破對稱E(3)-equivariance:對稱性內建
每輪訊息只看成對關係鍵角、二面角要堆很多輪才湊得出來higher-order message passing:一輪聚合多體
外加一件改變領域的事:MACE 發布了一整個家族的 foundation models——89 種元素、下載即用。
「不訓練、直接模擬」從 2024 年起成為現實選項——但有條件(本章講清楚)

轉杯水:equivariance 的思想實驗 等變性——物理定律,不是模型該「學」的事

把一杯水整體轉 90°:能量不變(invariant);每個原子受的力向量跟著轉 90°(equivariant)。
定義式:f(R·x) = R·f(x)——「先轉再算」等於「先算再轉」。
物理量旋轉體系時怎麼變術語
能量、電荷不變invariant
力、偶極矩跟著轉(向量)equivariant(一階)
應力、極化率跟著轉(張量)equivariant(二階)
就像「能量與座標系選取無關」——它是公理,直接內建,不必每學期重新證明

內建 vs 硬背 為什麼不用 data augmentation 解決對稱性

Data augmentation(硬背)每個訓練構型旋轉幾百份餵給模型。代價:資料爆量;學到的對稱性永遠是近似的——MD 跑久了,破對稱的小誤差累積成漂移。
內建等變架構(MACE)旋轉輸入,輸出的力精確地跟著旋轉——誤差為零,不是近似。e3nn 記號解碼到這就夠:0e=純量特徵、1o=向量特徵、128=通道數。
內建勝過硬背——對稱性是物理,不是資料量問題

一桌人:higher-order message passing 為什麼 MACE 兩輪就夠

成對訊息(Ch3 的陽春版)飯桌上一次只跟一個人講話——要拼出「整桌的氣氛」(鍵角、二面角等多體幾何),得聽很多輪。
高階訊息(MACE)correlation=3 ≈ 4-body:一輪就把「這桌人彼此的相對位置」整包聽進來。數學血統:Atomic Cluster Expansion(ACE)——知道名字即可。
結果:兩輪 message passing = 別人五六輪,又快又準;感受野 2 × 5 Å ≈ 10 Å。
多體效應不必靠堆層數去湊——提高單輪訊息的階數

五步:從 VASP 到 MD

五步工作流
第④步 hold-out 驗證不可跳過——沒驗證的模型不能上生產

Foundation model 家族與 license 地圖 2026-06 當日查證

模型訓練資料/理論層級License適合
MACE-MP-0a / 0b3MPTrj(PBE+U,bulk 軌跡)MIT無機材料入門
MACE-MPA-0MPTrj + sAlexMITMIT 系最準,推薦預設
MACE-OMAT-0OMat24ASL(僅學術)非平衡構型較強
MACE-OFF23SPICE(ωB97M+D3)ASL(僅學術)有機分子
MACE-MH-1OMAT/OMol/OC20/MATPES 多 headASL(僅學術)跨域,含表面催化 head
教學金句:code 的 MIT ≠ 權重的 MIT——產學合作前先看這張表

Fine-tuning 與 multihead replay 補修專門領域,但不能把普化忘光

  • 拿 foundation model 權重當起點,用你的幾十~幾百個 DFT 構型繼續訓練
  • 天真做法 → catastrophic forgetting:你的體系變準了,原本會的通用化學崩了
  • 官方解法 multihead replay:微調時混入一部分原始訓練資料一起「複習」——複習進度表是制度,不是自覺
mace_run_train \
  --name="hea_ft" \
  --foundation_model="medium-mpa-0" \
  --multiheads_finetuning=True \
  --train_file="train.extxyz" --valid_fraction=0.1 \
  --E0s="estimated" --device=cuda
微調協議照抄官方,不要自由發揮——E0s 設錯會把整個能量面平移到錯的地方

最小 code:三行推論+吸附能 CPU 可跑(device="cpu")

from mace.calculators import mace_mp
from ase import build

atoms = build.molecule("H2O")
atoms.calc = mace_mp(model="small", device="cpu", default_dtype="float32")
print(atoms.get_potential_energy())          # eV

# 吸附能(對照你的 VASP 工作流;完整版見教材 ch04)
# E_ads(H*) = E(slab+H) − E(slab) − ½ E(H₂)   ← 三項同一個模型、同一參考系
已知的坑(當日查證)套件名 mace-torch(不是 MACE);先裝對 torch(2.4.1 整版不支援);舊教學的 --swa 已改名 --stage_two
官方資源4 份 Colab tutorial(快速上手/訓練/fine-tuning/理論);訓練可在免費 T4 跑玩具規模。連結:docs/repo-analysis/mace.md。
notebooks/mace-minimal-demo.ipynb:mock 零安裝可跑,Colab 開關真跑 MACE

常見誤解

「資料增強也能等變」只能近似;長時間 MD 裡近似誤差累積成漂移。內建的誤差是零。
「MACE 是一個 foundation model」MACE 是架構與框架;MACE-MP-0、MPA-0 才是用它訓練出的具體權重。
「下載得到=可以商用」一半的權重是 ASL。查表,再簽產學合約。
「微調只會更好」沒有 replay 會遺忘;E0s 設錯會平移整個能量面。照官方協議。
MPTrj 是 bulk 軌跡:MACE-MP 算表面吸附能=外推(Ch5 給證據,Ch6 給解法)

我學完後應該能說出什麼

  • 「equivariance 是什麼、為什麼內建勝過資料增強。」(轉杯水,60 秒版)
  • 「higher-order message passing 解決什麼,讓 MACE 兩輪就夠。」
  • 「從 VASP 資料到能跑 MD 的模型要五步,第四步驗證不可跳過。」
  • 「MIT 與 ASL 的 foundation model 各有哪些、去哪查。」
下一章:不訓練、直接用的世界——CHGNet 與 MatterSim 的能與不能(Ch5)
MACE 給你「自己訓練」的完整武器——什麼時候可以不訓練?下一章