概览
MACE 是一种基于高阶等变消息传递的机器学习原子间势参考实现。它既支持利用原子级参考数据构建势,也支持使用预训练基础模型进行推理或微调。该仓库将预测模型与训练、评估及计算器接口结合起来,而不是为所有化学体系提供单一固定势。
文档所述训练工作流程接受 XYZ 数据集,并提供单独的验证集和测试集、原子参考能量以及针对特定构型的标签权重等选项。该流程可处理同时包含带应力标签的体相结构和分子构型的数据集。对于较大的数据集,预处理会生成 HDF5 文件以支持在线加载。训练会生成模型检查点和诊断图;评估接口接收 XYZ 构型文件和已保存的模型,并写出一个输出 XYZ 文件。ASE 计算器示例展示了如何从预训练模型获取势能。
模型选择很重要:MACE-MP 面向材料,而 MACE-OFF 支持有机分子、晶体和分子液体。其他列出的模型系列面向更多领域,包括静电学。README 提醒,MACE-MP 的原始 DFT 能量不能直接与包含兼容性修正的 Materials Project 能量进行比较。代码与检查点的许可条款也需要分别考虑。
项目 README 指出,在 v1.0 重写期间,v0.3.x 是受支持的版本线,并计划在未来引入代码不兼容性及明确的检查点转换流程。文档被描述为不完整,安装部分还列出了特定的 PyTorch 排除项;这些是来源中说明的限制,并非经过独立测试的兼容性结果。
主要功能
- 高阶等变消息传递原子间势,可配置通道数和角特征阶数。
- 基于 XYZ 参考数据集进行训练,包括异构标签和针对特定构型的应力权重。
- 通过 `mace_eval_configs` 进行基于 XYZ 的模型评估,使用已保存的检查点并输出构型文件。
- 预训练基础模型推理与微调,包括面向材料的 MACE-MP 和面向有机化学的 MACE-OFF 系列。
- 用于预训练模型的 ASE 计算器接口,并以势能计算为例进行说明。
- 针对大型数据集的 HDF5 预处理和在线数据加载,以及分布式多 GPU 训练支持。
使用场景
- 建议的评估方式:使用参考构型训练特定体系的势,并在留出结构上评估能量和力误差。
- 建议的评估方式:在有代表性的体相构型上评估材料基础模型,同时考虑原始 DFT 能量与经过修正的 Materials Project 能量之间的差异。
- 建议的评估方式:在检查检查点适用范围和条款后,探索使用 MACE-OFF 进行有机分子、晶体或液体模拟。
- 建议的评估方式:在目标数据集上微调基础模型,并将留出数据上的预测结果与初始检查点的预测结果进行比较。
使用方式
- 从仓库 README和文档开始。选择环境前,先检查受支持的版本线、迁移说明以及文档中列出的 Python/PyTorch 要求。
- 按照 README 的安装部分和 PyTorch 安装指南操作。文档所述的软件包为
mace-torch;名称相似的MACE软件包与其无关。 - 选择使用参考数据训练,或使用预训练模型进行推理。查看材料模型发布页或有机模型发布页,并检查领域覆盖范围、参考理论和检查点特定的许可条款。
- 准备 XYZ 训练、验证和测试构型。遵循 README 关于原子参考能量和标签加权的说明;需要在线加载时,使用其中的 HDF5 预处理工作流程。
- 使用文档中的训练、微调或 ASE 计算器示例。训练与评估教程提供了一个循序引导的入门途径。
- 使用文档所述的
mace_eval_configs接口评估已保存的模型。作为预定的评估步骤,在将势用于模拟前,先将留出数据上的预测与参考标签进行比较。