计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1929|回复 Reply: 18

[其它程序] MAPLE 程序介绍——基于机器学习势函数(MLIP)的计算化学一站式工具

[复制链接 Copy URL]

89

帖子

1

威望

1340

eV
积分
1449

Level 4 (黑子)

发表于 Post on 2026-5-17 22:46:16 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 AxiEJohn 于 2026-5-19 19:25 编辑

MAPLE(MAchine learning Potential for Landscape Exploration程序介绍——基于机器学习势函数(MLIP)的计算化学一站式工具,原生支持几何优化、过渡态搜索、IRC、频率分析与分子动力学(内含多张GIF)
Introduction to MAPLEMAchine learning Potential for Landscape Exploration: an MLIP-native computational chemistrytoolkit for geometry optimization, transition-state search, IRC, frequencyanalysis, and molecular dynamics
注:本文计算流程在笔者的RTX 4060 笔记本 GPU上整体wall time 295.0 s,这是MLIP的优势。

Written by AxiEJohn; First release: 2026-05-17



承接上文:
MAPLE: 机器学习力场计算化学平台 http://bbs.keinsci.com/forum.php?mod=viewthread&tid=57731&fromuid=64457(出处: 计算化学公社)

202605172135369272..png

一、引言最近几年机器学习原子间势函数(machine-learning interatomic potential,简称 MLIP,或称机器学习力场 MLFF)的发展非常迅猛。早些年的 MLIP 多需要针对具体体系自己采样、训练,门槛极高,因此并未在量子化学界普及。但随着 ANI、AIMNet2、MACE、MACE-OFF、UMA 等通用预训练模型相继问世——尤其是 MACE-OMol、UMA 等基于 OMol25 或多域大规模数据训练的模型——MLIP 对落在训练域内的主族有机分子和部分有机金属/材料体系,UMA、MACE-OMol 等通用 MLIP 已开始接近其中等到高阶 DFT 训练标签的精度、速度比传统 DFT 快 2–4 个数量级,但具体反应和元素组合仍必须用小体系 DFT benchmark 校验
笔者读到 Sobereva 老师在《2024 年计算化学公社举办的计算化学程序和 DFT 泛函的流行程度投票结果》(http://sobereva.com/706 )中对 ωB97M-V、PBE、B3LYP 等泛函的总结时颇有感触——计算化学日常工作流里跑得最多的几个任务(几何优化、过渡态搜索、IRC、构象采样),其实并不需要一直坚持“每步都用DFT算能量和梯度”。如果用一个训练良好的 MLIP 来代替这些任务里的能量/梯度评估,再在关键单点上做高精度 DFT精修,整体效率可以提升一个甚至两个数量级。
然而对量化研究者来说,从已熟悉的 Gaussian/ORCA 工作流切换到 MLIP,最大的两个门槛是:
(1) 现成模型想直接拿来用特麻烦。 ANI、AIMNet2、MACE-OFF 这些预训练模型大多是 PyTorch 模型,需要通过 Python API 调用,学习成本还是比较高的,得折腾不少时间。对习惯了直接用Gaussian/ORCA等用户而言,光是把模型整好、算个单点都要折腾半天。
(2) 任务覆盖零碎。 单纯算个单点不够。日常工作流需要几何优化、过渡态搜索、IRC、频率分析、势能面扫描……这些功能虽然在 ASE 里都有,但要把它们和 MLIP 接起来、再让 NEB/P-RFO/IRC 等算法跑通,本身就是一件工程量不小的事情。
本帖介绍的 MAPLE 程序就是为了解决这两个麻烦之处而开发的开源工具。简单地说,MAPLE 是一个 MLIP 原生的计算化学工具包,内部封装了 ANI / AIMNet2 / MACE / MACE-OFF / MACEPol / UMA 等流行模型,对外提供与 Gaussian 风格类似的纯文本输入文件接口,把几何优化、过渡态搜索、IRC、频率分析、势能面扫描统统打包到一个命令里。
202605172136337541..png

二、MAPLE 当前支持的任务和方法按计算类型分类如下(以 enhance 分支 v0.1.2 为准;具体关键字见 maple/function/read/command_control.py):
[td]  
   任务类型
   
   #task(method=...) 关键字
   
  几何优化 #opt
  
  lbfgs(默认)、rfosdcgsdcg
  
  过渡态搜索 #ts
  
  neb(可附 refine=cineb/refine=nebts)、prfodimerstring(可附 refine=stringts)、autoneb
  
  反应路径 #irc
  
  积分器 gs / lqa / hpc / eulerpc
  
  振动分析 #freq
  
  mw(默认,质量加权)/ nonmw / both;RRHO 热化学量含  Grimme/Truhlar/Minenkov 低频校正
  
  势能面扫描 #scan
  
  1D 到多维;底层与 #opt 同(relaxed 模式)
  
  分子动力学 #md
  
  系综 nve / nvt / npt;恒温器 Langevin/Bussi/Nosé-Hoover;恒压 c-rescale (目前还在完善中,PBC的支持还在更新中
  
  MLIP 模型 #model
  
  ani1x / ani2x / ani1ccx / ani1xnr / aimnet2 / aimnet2nse / maceoff23s/m/l / maceomol / macepols/m/l / egret / uma
  
  额外功能
  
  D4 色散校正(仅 ANI 系列)、GBSA 隐式溶剂、周期性边界(#pbc)(还在完善中)、轨迹重启、DCD 输出
  
可以看到,MAPLE 已经覆盖了 Sobereva 老师在其经典博文《过渡态、反应路径的计算方法及相关问题》(http://sobereva.com/44)中提到的几乎所有过渡态/IRC 算法。读者如果已经熟悉这些算法的物理含义,迁移到 MAPLE 几乎没有额外学习成本——区别只在于底层是 MLIP 在算能量和梯度,而不是 DFT。
值得一提的是,相比 DFT,MLIP 下获得 Hessian 或 Hessian-vector product 的代价低得多,因此 P-RFO、Dimer、频率分析等步骤可以更频繁地使用;但 Hessian 的物理可靠性强烈依赖模型和体系,最终仍必须通过频率模式和 IRC 连通性验证。Sobereva 老师在《量子化学计算中帮助几何优化收敛的常用方法》(http://sobereva.com/164)中讨论过的很多 Hessian 初猜与更新策略,在 MLIP 场景下仍有借鉴意义;不同之处在于,MLIP 让更频繁地评估 Hessian / Hessian-vector product 在计算成本上更可承受。


三、使用示例:丁二烯 + 乙烯的 Diels–Alder 反应全流程(基于本人机子实测)下面用经典的 Diels–Alder 反应(s-cis 1,3-丁二烯 + 乙烯 → 环己烯)演示 MAPLE 的完整工作流:反应物/产物预优化 → P-RFO 搜索同步过渡态 → 频率分析验证 → IRC 双向验证连通性
本节所有数据都是笔者在本机实际跑出来的真实输出,硬件/版本环境:

  • GPU:NVIDIA     RTX 4060 Laptop(8 GB VRAM)
  • CUDA 13.0,PyTorch     cu118
  • MAPLE 0.1.2,enhance 分支
  • MLIP 模型:uma(size=uma-s-1p1, task=omol) —— UMA 是 Meta FAIR Chemistry 的 Universal Models for Atoms 系列,训练覆盖 molecules、materials、catalysts 等多个任务域;本例使用其中面向 organic molecules 的 omol task,其 DFT 标签层级为 ωB97M-V/def2-TZVPD。MAPLE 文档中 uma-s-1p1 为默认兼容性 checkpoint,约 6.6M active parameters / ~150M total parameters, 在小分子有机体系与反应相关构型上覆盖较广.需要注意的是,UMA 官方模型卡对中国等地区有使用/分发限制,国内用户实际复现时可能需要换用 AIMNet2、MACE-OMol、MACE-OFF 等可获取模型。
  • 体系:16 原子,闭壳层,电荷 0 / 自旋多重度 1

3.1 反应物预优化MAPLE的输入文件是纯文本格式,开头几行以 # 起头的指令规定计算细节,再下面是 XYZ 格式的几何或 XYZ /path/to/file.xyz 外部引用。R_opt.inp
  1. #model=uma(size=uma-s-1p1,task=omol)
  2. #opt(method=lbfgs,level=tight)
  3. #device=gpu0

  4. XYZ 0 1 /home/axie/MAPLE/Tutorial/OPT/diels_alder/r_opt/reactant.xyz
复制代码

reactant.xyz (605 Bytes, 下载次数 Times of downloads: 1)
202605172152303077..png
202605172145398013..png
202605172145301837..png

评分 Rate

参与人数
Participants 13
威望 +1 eV +58 收起 理由
Reason
SiqiLee + 5 好物!
wang7344412 + 5 好物!
红红的太阳 + 5 好物!
yxplzu + 5 好物!
mizu-bai + 5 とてもいい!
洛兰希尔 + 5 好物!
Reminder + 5 GJ!
zsu007 + 5 好物!
Ning-Z + 3 赞!
Assiduitas + 5 牛!
sobereva + 1
Chao666 + 5 GJ!
student0618 + 5 赞!

查看全部评分 View all ratings

改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

70

帖子

0

威望

1544

eV
积分
1614

Level 5 (御坂)

发表于 Post on 2026-5-19 01:17:31 | 显示全部楼层 Show all
非常棒的工作。请问是否支持周期性,无限延展得有机聚合物得变胞优化呢?

1621

帖子

0

威望

5278

eV
积分
6899

Level 6 (一方通行)

发表于 Post on 2026-5-19 07:17:12 | 显示全部楼层 Show all
请帮忙解决一下,由于网络问题,我的服务器没法直连这个文件。我在win下载了,传到MAPLE目录,仍然提示找不到,那么应该放到哪个地方去啊
[INFO] Model file 'ani1xnr.pt' not found locally.
[INFO] Downloading from: https://huggingface.co/Wayne7815 ... lve/main/ani1xnr.pt
ERROR:  [ERROR] Network error: [Errno 110] Connection timed out
又菜又爱玩

89

帖子

1

威望

1340

eV
积分
1449

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2026-5-19 07:54:25 | 显示全部楼层 Show all
本帖最后由 AxiEJohn 于 2026-5-19 08:00 编辑
牧生 发表于 2026-5-19 07:17
请帮忙解决一下,由于网络问题,我的服务器没法直连这个文件。我在win下载了,传到MAPLE目录,仍然提示找 ...

您好,谢谢您的尝试!
如果您是按照教程安装的maple
  1. pip install -e .
复制代码

那么.pt文件应该放到
  1. /your/path/MAPLE/maple/function/calculator/model
复制代码
calculator目录下没有model文件夹的话您需要创建一个model文件夹放到同样位置
所有模型都会存放到此处,在使用时先检查这里有没有,故其他模型也可以下好了放这里。

谢谢您的提问,这个是我们要改进的地方,下次我们会显式报错路径,让用户能直接知道在哪里读取本地模型权重文件。
改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

1621

帖子

0

威望

5278

eV
积分
6899

Level 6 (一方通行)

发表于 Post on 2026-5-19 07:59:51 | 显示全部楼层 Show all
我是用的pip install -e .  但是/MAPLE/maple/function/calculator/model 里面是空的。。现在把ani1xnr.pt放进去就OK了
又菜又爱玩

89

帖子

1

威望

1340

eV
积分
1449

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2026-5-19 08:01:40 | 显示全部楼层 Show all
本帖最后由 AxiEJohn 于 2026-5-19 08:02 编辑
牧生 发表于 2026-5-19 07:59
我是用的pip install -e .  但是/MAPLE/maple/function/calculator/model 里面是空的。。现在把ani1xnr.pt ...

您说WIN下载了传到maple目录,可能是位置放错了,您把.pt文件手动放到/MAPLE/maple/function/calculator/model就能解决了
祝使用愉快!
改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

89

帖子

1

威望

1340

eV
积分
1449

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2026-5-19 08:48:25 | 显示全部楼层 Show all
本帖最后由 AxiEJohn 于 2026-5-19 08:54 编辑
DwyaneWan 发表于 2026-5-19 01:17
非常棒的工作。请问是否支持周期性,无限延展得有机聚合物得变胞优化呢?

您好,固定胞pbc在 当前版本上是支持的(只有uma模型(task=omat) 一条 PBC 路,其他暂不支持,目前还不成熟)

  1. #model=uma(task=omat)
  2. #opt(method=lbfgs)
  3. #device=gpu0
  4. #pbc(18.19160,18.19160,24.90230,90,90,120)

  5. XYZ 0 1 /path/to/your/pbc_cu.xyz
复制代码
pbc_cu.xyz (13.05 KB, 下载次数 Times of downloads: 4)
改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

1621

帖子

0

威望

5278

eV
积分
6899

Level 6 (一方通行)

发表于 Post on 2026-5-19 12:07:26 | 显示全部楼层 Show all
本帖最后由 牧生 于 2026-5-19 12:46 编辑

请能不能把command_control.py提及的这些都传到网盘啊。
  SUPPORTED_MODELS = {
        "ani2x",
        "ani1x",
        "ani1ccx",
        "ani1xnr",
        "maceoff23s",
        "maceoff23m",
        "maceoff23l",
        "egret",
        "aimnet2",
        "aimnet2nse",
        "uma",
        "maceomol",
        "macepols",
        "macepolm",
        "macepoll",


因为我在城~墙上下载的时候,提示需要用户名和密码
202605191206392655..png



直接在浏览器输入https://huggingface.co/Wayne7815 ... lve/main/ani1ccx.pt则显示Repository not found  

又菜又爱玩

89

帖子

1

威望

1340

eV
积分
1449

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2026-5-19 13:41:14 | 显示全部楼层 Show all
牧生 发表于 2026-5-19 12:07
请能不能把command_control.py提及的这些都传到网盘啊。
  SUPPORTED_MODELS = {
        "ani2x",

谢谢建议,这是一个好问题。
您可以先使用https://hf-mirror.com/Wayne7815/MAPLE_models/tree/main,镜像站访问并下载,不大需要限速的网盘了。

改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

103

帖子

7

威望

2821

eV
积分
3064

Level 5 (御坂)

发表于 Post on 2026-5-19 22:31:20 | 显示全部楼层 Show all
Congrats! 非常好工作,爱来自重庆。

说起来我从更早的 sander 中实现 ML/MM 的项目就关注了,从 MAPLE 的展望来看,这两个项目的关注点似乎有些许重合的地方?我和 X. J. Wang 也聊过前者的细节,他说有些 model 没办法 jit trace,而且接入新 model 也不够灵活,似乎这些对 MAPLE 都不是问题了。

不过我有两点好奇的,一方面是 MAPLE 未来有望更优雅地做 ML/MM 吗,或者是接入 plumed 等做 enhanced sampling;另一点是我们组倒是有挺多 case-by-case 的小分子势能面(CC or MRCI level),但框架是 JAX 写的,接入 ASE 做一些简单的 landscape exploration 倒是不难,但 MAPLE 里的功能还是挺眼馋的,不知有没有什么建议?(虽然我们的体系可能太小了落到 MAPLE 的兴趣范围以外了)

我们的工作见

- https://github.com/CQPES/cqpes-legacy
- https://github.com/CQPES/JaxPIP

顺便向 X. J. Wang 问好(

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
AxiEJohn + 5

查看全部评分 View all ratings

231

帖子

4

威望

1693

eV
积分
2004

Level 5 (御坂)

发表于 Post on 2026-5-20 16:32:49 | 显示全部楼层 Show all
mizu-bai 发表于 2026-5-19 22:31
Congrats! 非常好工作,爱来自重庆。

说起来我从更早的 sander 中实现 ML/MM 的项目就关注了,从 MAPLE  ...

MAPLE短时间内不会有MLMM的计划 因为引入MM部分会是很大的工作量而且会让程序本身很臃肿 MLMM建议还是到AMBER上去做 JAX训练的模型可以先转化为.pt格式后用libtorch加载 这对MAPLE和sander都适用

103

帖子

7

威望

2821

eV
积分
3064

Level 5 (御坂)

发表于 Post on 2026-5-20 18:53:44 | 显示全部楼层 Show all
Huschein 发表于 2026-5-20 16:32
MAPLE短时间内不会有MLMM的计划 因为引入MM部分会是很大的工作量而且会让程序本身很臃肿 MLMM建议还是到A ...

好好,thx

337

帖子

0

威望

1435

eV
积分
1772

Level 5 (御坂)

发表于 Post on 2026-5-21 21:48:55 | 显示全部楼层 Show all
请问这项工作目前或者未来是否计划支持微调的大模型呢?

89

帖子

1

威望

1340

eV
积分
1449

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2026-5-22 06:43:42 | 显示全部楼层 Show all
ljh123 发表于 2026-5-21 21:48
请问这项工作目前或者未来是否计划支持微调的大模型呢?

谢谢提问,这是一个好问题!这让我们想得更多。
就目前来说,如果是基于MAPLE支持的模型系列微调的,您可以试试把微调后的checkpoint改名并替换maple/function/calculator/model/下的对应.pt文件。至于未来是否支持,我们会讨论之。
改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

337

帖子

0

威望

1435

eV
积分
1772

Level 5 (御坂)

发表于 Post on 2026-5-22 11:28:05 | 显示全部楼层 Show all
AxiEJohn 发表于 2026-5-22 06:43
谢谢提问,这是一个好问题!这让我们想得更多。
就目前来说,如果是基于MAPLE支持的模型系列微调的,您 ...

谢谢!我相信如果能支持微调模型的话,应用范围将会大大提升

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-6-16 10:58 , Processed in 0.277925 second(s), 27 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list