GPUMD专题

GPUMD:训练与使用偶极模型

从完整nep.in到独立测试和旋转检查,展示model_type 1的水分子偶极模型。

更新于 2026-11-05约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

这篇用真实水分子偶极标签训练model_type 1模型,完整走一遍准备数据、提交、预测和画图。它学习几何到偶极矢量的映射,不是用来运行分子动力学的能量/力势。模型类型定义见GPUMD手册。

1. 准备数据与目录#

下载水分子标签、完整输入、训练模型、原生输出和绘图脚本,保存为gpumd-tnep-water-wave215.zip。在自己的工作目录执行:

unzip gpumd-tnep-water-wave215.zip -d water-tnep
cd water-tnep
bash view.sh
ls figures

view.sh读取随包参考结果并重新画图,不提交计算。已生成analysis和figures时会停止;再次处理请解压到新的目录,避免混用结果。

标签来自前一篇真实电子结构计算,使用ORCA6.1.1 PBE/def2-SVP。GPUMD/nep为5.9.1;P100和V10016G分别加载对应模块。本例每个任务一张卡,不要求多卡。

module load ase/3.29.0
python3 prepare_models.py
cd cases/dipole-p100-s13579
head -n 5 training.xyz
cat base-nep.in

准备程序按原几何15/5/5分组,再生成旋转朝向;不把同一原几何同时放入训练和测试。独立测试文件在训练结束后才交给预测程序。

2. 完整训练输入#

version 4
model_type 1
type 2 O H
cutoff 4.0 3.0
n_max 4 4
basis_size 4 4
l_max 4 2 1
neuron 12
population 30
batch 60
lambda_1 0.0
lambda_2 0.0
lambda_e 0.0
lambda_f 0.0
lambda_v 1.0
seed 13579
generation 10000
output_interval 100

model_type 1选择偶极模型,type 2 O H定义元素顺序;两类截断为4与3 Å。lambda_v在本辅助模型分支中控制目标响应拟合,不应按能量势训练把它误解为这里存在DFT维里标签。能量与力权重设零,因为这不是能量/力模型。10,000代是固定教学预算,不根据测试集选择停止点。

3. 提交单卡任务#

sbatch job.slurm
squeue -u "$USER"

要在当前算例目录提交,脚本以此作为运行目录。任务依次完成训练、训练集回算、验证集预测、独立测试及变换对照;完整输入会留在training及各prediction-*目录。

另一个种子的算例位于cases/dipole-v100-s24680,使用V10016G模块和队列。本例同时报告两个固定种子,不按误差挑一个替代另一个。两种子分别在两类卡上训练,二者差异不能解释为GPU型号造成的精度差异。

如果手动拆开训练和预测,训练目录需要nep.in、train.xyz、test.xyz;其中原生test.xyz在训练时是验证集,另留的heldout.xyz才是本例独立测试。预测目录保留相同架构与训练好的nep.txt,设置prediction 1,输入预测对象为train.xyz。

4. 提取整分子偶极#

head prediction-heldout/dipole_train.out
head training/nep.txt

原生每行6列,前3列预测xyz,后3列目标xyz;输出除以原子数。本例每个分子3个原子,所以恢复整分子结果须乘3,见官方偶极输出说明。输入标签本来就是整分子值,不要在输入端再除3。

所有4个模型完成后,回到包的根目录处理新结果:

cd ../..
module load ase/3.29.0
python3 analyze_models.py --new
head analysis-new/dipole-p100-s13579-heldout.csv

如果只运行了一个模型,最后一条改为:

python3 analyze_models.py --new --case dipole-p100-s13579

不要接着再运行另一条分析命令写同一目录;需要换分析范围时使用新的解压目录。analysis-new读取自己的cases,而不加--new读取随包参考输出。

5. 本次实际结果#

偶极独立测试和各分组误差

每个种子均训练10,000代,独立测试为5个不同几何、每个2个朝向,按所有xyz分量计算RMSE:

固定种子 使用平台 独立测试分量RMSE,e·Å/分子
13579 P100 0.00028156
24680 V10016G 0.00036120

这是相对于PBE/def2-SVP标签的小范围拟合误差,不是相对于实验的误差。旋转版本不增加独立测试几何数量;图中全部分量保留,未剔除不利点。

两个辅助模型固定预算下的验证误差

还检查了旋转、平移、交换两个H及反射后的预测是否遵守相应变换。对中性分子,平移不改变总偶极;对带电体系不能直接套用这一处理。

本例没有生成液态轨迹或红外谱。若要研究IR,除合适的偶极模型外,还需要可靠的动力学势、轨迹采样与偶极时间相关函数;仅有这份孤立分子辅助模型不构成液态水谱学工作流。下一篇是极化率模型,不要与qNEP电荷势混淆。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗