计算化学公社

标题: MAPLE: 机器学习力场计算化学平台 [打印本页]

作者
Author:
Huschein    时间: 2026-1-6 03:55
标题: MAPLE: 机器学习力场计算化学平台
本帖最后由 Huschein 于 2026-1-7 10:23 编辑

MAPLE: 机器学习力场计算化学平台



  机器学习力场(MLFF)已经热门好几年了,大家也逐渐看到了它的优势:快速、高效,能够适应不同的体系。虽然目前它仍受限于训练集数据,但随着 Open Molecules 2025 数据库的发布,MLFF 正在朝着更加工业化的方向迈进——从以前的特定体系、有机小分子,扩展到如今的激发态、化学反应、金属有机体系,MLFF 正日趋成熟。我认为这种发展和二十年前力场拟合的历程有相似之处:它虽然不是全知全能的,但已经可以胜任大部分任务了。

  然而,目前存在一个问题:现有平台如 ASE、MLatom 等并非专门为 MLFF 设计,而一些商业化平台(如 Rowan)却不开源。这在很大程度上限制了 MLFF 的进一步应用。同时,大部分平台的设计者满足于编写接口调用外部程序(如 Gaussian/ORCA),这种做法省事且无需额外验证,但 MLFF 的 GPU 推理、并行计算、自动微分等特性,是这些平台在设计之初就没有考虑在内的。

  因此,MAPLE 设计的初衷就是:尽可能减少对第三方库/软件的依赖,原生手动实现所有方法,并针对不同的 MLFF 做针对性优化。在共享算法层面,MAPLE 将 MLFF 与并行算法(B-LBFGS)、自动微分(Modified Dimer)深度融合,进一步释放 MLFF 的潜力。同时,MLFF 兼顾了性能与精度,使得很多常规 MM 或 QM 难以实现的任务成为可能。例如,MAPLE 提供了近 100 种平衡态显式溶剂模型,使得化学反应计算可以直接采用显式溶剂建模,避免传统 QM 中隐式溶剂模型不准确的问题;配合限制性优化和构象搜索功能,溶剂中化学反应的计算将更加贴近真实世界。

  MAPLE 目前发布了第一个版本。第一阶段的目标是实现 Gaussian/ORCA(G/O)中的大部分功能,并针对 MLFF 进行算法优化。但 MAPLE 存在的意义并非再造一个 Gaussian 或 ORCA——只有先实现基础功能,更多进阶功能才能得以构建。值得一提的是,MAPLE 采用了与 Gaussian/ORCA 相似的输入格式和输出风格,使得大多数 G/O 用户可以几乎零成本地学习和使用 MAPLE;这样设计的另一个目的是兼容更多现有的后处理分析平台。此外,MAPLE 也正在构建一套官方工具包 MAPLEtoolkits,以便快速进行后处理分析,为大家提供便利。我们还与深圳湾实验室Zhang Jun老师课题组合作,成功将 MAPLE 接入了 Qbics-MolStar 平台,用户可以直接在该平台使用 MAPLE 的结构优化和过渡态搜索功能。

  MAPLE 提供的功能和 TODO list 远不止于此,难以一一介绍,但我们希望大家可以在实际任务中试一试 MAPLE。例如,在高通量结构预优化场景下,MAPLE 可以直接对一个文件夹中的所有分子批量执行优化;又如大分子优化,在我们的测试中,最大体系接近 10000 个原子,可以在一天内完成 超过 200 个 iteration 的NEB(12 个 image) 计算。

  MAPLE 不会止步于一篇文章、一个体系的测试——我们的目标是将 MAPLE 打造为下一代 MLFF 计算化学平台。

MAPLE文章: https://chemrxiv.org/engage/chem ... 9bbafb3b11118e9807e
MAPLE仓库: https://github.com/ClickFF/MAPLE
MAPLE文档(尚未完成): https://maple-org.netlify.app/
Qbics-MolStar: https://molstar.szbl.ac.cn/viewer/
MAPLE交流企鹅群:757103155

快速上手指南
更多使用细节请等待我们的文档完善,或者可以参考 /example 目录下的测试案例。

安装步骤:


环境要求:
Python ≥ 3.9 强烈建议配备 CUDA 兼容的 GPU(生产环境几乎必需)


git clone https://github.com/ClickFF/MAPLE.git
cd MAPLE
pip install -e .

# 安装核心依赖
conda install -c conda-forge numpy ase

# 安装 PyTorch(根据你的 CUDA 版本选择
# CUDA 11.8:
pip install torch --index-url https://download.pytorch.org/whl/cu118
# 仅 CPU:
pip install torch --index-url https://download.pytorch.org/whl/cpu

# 安装机器学习力场支持
pip install fairchem-core  # 支持 UMA模型


输入文件编写

MAPLE 采用类似 Gaussian/ORCA 的输入格式,学习成本极低。输入文件(`.inp`)的基本结构如下:
```
#model=ANI-1xnr
#opt
#device=gpu0

C   0.000   0.000   0.000
H   1.089   0.000   0.000
H  -0.363   1.028   0.000
H  -0.363  -0.514   0.890
H  -0.363  -0.514  -0.890

关键字说明:

#model=:指定 MLFF 模型(如 ANI-1xnr、AIMNet2 等)
#opt:执行几何优化;#ts(method=neb):过渡态搜索
#device=:指定计算设备(gpu0、cpu 等)
坐标部分:XYZ 坐标(与 Gaussian 格式一致)

运行 MAPLE
bash# 基本运行
maple input.inp

# 指定输出文件
maple input.inp output.out

就是这么简单!




作者
Author:
xiaowu759    时间: 2026-1-6 06:35
It sounds good.
作者
Author:
leleyi    时间: 2026-1-6 10:54
感叹,现在都是机器学习开发力场了,早些时候的那种针对单一或者几个相似工质,进行力场优化的工作基本没看到了
作者
Author:
Kenneth    时间: 2026-1-6 11:42
leleyi 发表于 2026-1-6 10:54
感叹,现在都是机器学习开发力场了,早些时候的那种针对单一或者几个相似工质,进行力场优化的工作基本没看 ...

那种更像是小作坊式的工作,在现在这个潮流下,继续做就是费时费力,也不是很受欢迎,做的人自然就少了
作者
Author:
leleyi    时间: 2026-1-6 15:38
Kenneth 发表于 2026-1-6 11:42
那种更像是小作坊式的工作,在现在这个潮流下,继续做就是费时费力,也不是很受欢迎,做的人自然就少了:s ...

也是常见物质的做的差不多了,批量化生产文章。并且初始力场的效果其实也能接受,后面其他改进版本大多提高效果有限,没啥实质性意义。
作者
Author:
Hugo_314cat    时间: 2026-1-6 20:17
提个小问题:据我所知已经有一个知名商业化数学计算软件叫Maple了,这是否会给大众造成混淆?我点进帖子看了一会儿才反应过来这是你们开发的新程序,而不是基于Maple软件开发的程序包。
作者
Author:
smooth85    时间: 2026-1-6 22:07
试了下,安装过程很简单
但是运行例子出错:ValueError: The provided filename /home/ybsi/MAPLE-v.0.1.0/maple/function/calculator/model/ani1xnr.pt does not exist

作者
Author:
Huschein    时间: 2026-1-7 04:07
smooth85 发表于 2026-1-6 22:07
试了下,安装过程很简单
但是运行例子出错:ValueError: The provided filename /home/ybsi/MAPLE-v.0.1.0 ...

感谢反馈 这是因为缺少MLFF模型 这个部分我们没有上传github 因为文件大小限制

但是目前已经上传huggingface了
https://huggingface.co/Wayne7815/MAPLE_model/tree/main

使用方法是下载需要的模型,或者下载全部模型,然后在
/MAPLE/maple/function/calculator 目录下新建一个/model目录 然后手动把这些模型copy到这个目录中去再执行就可以

我们已经在github上面更新了一个dev branch,并且配置了自动创建文件夹和下载文件的脚本,下个版本release的时候会自动下载需要的文件 (我们尽量做到小版本一个月一更新
作者
Author:
Huschein    时间: 2026-1-7 04:44
Hugo_314cat 发表于 2026-1-6 20:17
提个小问题:据我所知已经有一个知名商业化数学计算软件叫Maple了,这是否会给大众造成混淆?我点进帖子看 ...

是的 但这个不是问题 毕竟叫Gaussian的软件也不少,在计算化学领域里面似乎还没有重名,而且软件推出之后改名需要承担的代码修改 宣发等成本太高
作者
Author:
smooth85    时间: 2026-1-7 09:37
Huschein 发表于 2026-1-7 04:07
感谢反馈 这是因为缺少MLFF模型 这个部分我们没有上传github 因为文件大小限制

但是目前已经上传huggi ...

新的错误:RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

作者
Author:
Huschein    时间: 2026-1-7 09:42
smooth85 发表于 2026-1-7 09:37
新的错误:RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central dir ...

你是不是没解压 这不是软件问题
作者
Author:
smooth85    时间: 2026-1-7 10:05
问题解决了,是因为pt文件下载过程中断导致文件不完整造成的。
感谢Huschein
作者
Author:
zjxitcc    时间: 2026-1-7 10:41
Hugo_314cat 发表于 2026-1-6 20:17
提个小问题:据我所知已经有一个知名商业化数学计算软件叫Maple了,这是否会给大众造成混淆?我点进帖子看 ...

我也以为是在Maple里添加的工具箱或者插件,刚想着Maple是收费的那我怎么用。直到看到你这儿才知道跟数学软件Maple没关系。。。
作者
Author:
quanta    时间: 2026-1-15 09:49
Hugo_314cat 发表于 2026-1-6 20:17
提个小问题:据我所知已经有一个知名商业化数学计算软件叫Maple了,这是否会给大众造成混淆?我点进帖子看 ...

我还真以为是那个maple
作者
Author:
altex    时间: 4 day ago
本帖最后由 altex 于 2026-1-19 19:39 编辑

您好,请问报错ModuleNotFoundError: No module named 'ase'怎么解决

使用pip list查看已经安装了ase库
(base) [root@localhost MAPLE]# pip list
Package                            Version
---------------------------------- -----------
...
ase                                3.27.0
ase_db_backends                    0.11.0
...


作者
Author:
Huschein    时间: 3 day ago
altex 发表于 2026-1-19 19:37
您好,请问报错ModuleNotFoundError: No module named 'ase'怎么解决

使用pip list查看已经安装了ase库
...

能不能仔细讲一下如何运行的 因为正常情况下不会出现问题
pip install ase 直接这样就可以了 然后确保maple也装了
在maple根目录下 pip install -e .
作者
Author:
altex    时间: 3 day ago
本帖最后由 altex 于 2026-1-21 11:16 编辑
Huschein 发表于 2026-1-20 02:49
能不能仔细讲一下如何运行的因为正常情况下不会出现问题
pip install ase 直接这样就可以了然后确保ma ...

已经解决了,跑一遍conda install -c conda-forge fairchem-core后可以了
rockyOS想要自带py,可能没安装到conda的py里面去
——
安装流程:
1.conda
  1. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">wget https://mirrors.tuna.tsinghua.ed ... est-Linux-x86_64.sh </font></font>
  2. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3 </font></font>
  3. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">source ~/.bashrc</font></font>
复制代码


2.
  1. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">git clone [url=https://github.com/ClickFF/MAPLE.git]https://github.com/ClickFF/MAPLE.git[/url] </font></font>
  2. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">cd MAPLE </font></font>
  3. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">pip install -e .</font></font>
复制代码

3.
  1. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">conda install -c conda-forge numpy ase</font></font>
复制代码

4.
  1. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">pip install torch --index-url [url=https://download.pytorch.org/whl/cpu]https://download.pytorch.org/whl/cpu[/url]</font></font>
复制代码

5.
  1. <font dir="auto" style="vertical-align: inherit;"><font dir="auto" style="vertical-align: inherit;">pip install fairchem-core</font></font>
复制代码


作者
Author:
yuzc    时间: yesterday 15:11
请问下,这个势能形式和产生方法能做MD么,对温度转移性,Virial有考虑么?
作者
Author:
Huschein    时间: 14 hour ago
yuzc 发表于 2026-1-22 15:11
请问下,这个势能形式和产生方法能做MD么,对温度转移性,Virial有考虑么?

MD功能我们目前还没有加入 但是用这些MLFF做MD的例子有大把 openMM amber都有类似的例子 未来可能会考虑拓展MD功能




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3