NepTrain专题

NepTrain上手:从数据到新一代NEP模型

六篇实操教程串起训练、MD探索、描述符选样、VASP补标与再训练。

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

下载输入、模型、真实数据和短命令脚本(ZIP)。本专题使用集群已部署的NepTrain 2.2.0,把一个小Si体系的真实流程拆成六篇:本篇入门 → 训练与独立误差 → MD探索 → 结构扰动与选样 → DFT补标闭环 → 接口与续算。

1 这个工具帮你完成什么#

NepTrain负责衔接程序:已有DFT标签 → NEP训练 → GPUMD采样 → 挑选新结构 → DFT补标 → 合并训练集再训练。训练程序是GPUMD配套的nep,轨迹由gpumd计算,新增标签来自VASP。自动衔接并不保证模型已经适合自己的材料或温压范围。

本例已有48个真实PBE构型,含Si2和Si8:32个训练、8个验证、8个独立测试。独立测试既不加入训练,也不参与选样。第一轮NEP训练一万代;八原子Si在300/600 K各跑1 ps;选四帧做四次VASP单点;训练集变成36帧,再训练一万代。

2 先重画结果,不用等待计算#

unzip neptrain-practical-wave263-*.zip
cd neptrain-practical-wave263
bash run.sh

输出 figures/ 六张PNG和 analysis/ 七张CSV。这里只读取包内实算数据,不提交训练、MD或DFT。

ls figures
cat analysis/neptrain-heldout.csv
cat analysis/neptrain-selected.csv

真实Si数据拆分与结构示意

图中的Si2、Si8为训练结构示意;MD使用下方另一个经过扰动的Si8,不要把示意图中的所有结构当成同一个初态。

3 从头计算一次#

首次在附件根目录执行:

bash prepare.sh
bash workflow.sh
bash status.sh

prepare.sh 用VASPKIT 1.5.1的103任务生成授权Si赝势,建立当前项目的独立配置。附件不包含POTCAR。每个训练、MD或DFT作业通过Slurm使用一张匹配GPU;两个温度任务可以分别调度,不是把多个GPU拼成同一个训练任务。

workflow.sh 依次运行上述阶段;已存在的目录继续执行同一命令即可续接,不要重新准备或删除结果。任务完成后:

bash evaluate.sh
cat analysis/my-model-errors.json
ls loop/cache/Generation-2/nep

第二代模型位于 loop/cache/Generation-2/nep/nep.txt,训练数据为同目录 train.xyz。evaluate.sh 测试自己新训练的模型;run.sh 始终重画附件参考数据,两者用途不同。

4 实际初始结构#

cat inputs/Si8.vasp
cat data/SPLIT.json

完整POSCAR:

Si
 1.0000000000000000
     5.3058697433035791    0.0000000000000000    0.0000000000000000
     0.0055851353951275    5.3391001067849837    0.0000000000000000
     0.0105110273798546    0.0192626566917539    5.3201582235905791
 Si 
   8
Cartesian
  5.3118431476942618  5.3410085887471386  5.3017422206790048
  1.3032473746995079  1.3364369228675974  1.2960315511289651
  5.2728227042976865  2.7428353065609468  2.6111441360193601
  1.3567508755463908  4.0132542941091254  4.0555532636584584
  2.6705299004867116  5.3311731397583797  2.5937845602407075
  4.0108826238470385  1.3488995213572761  3.9927884875297988
  2.7069402212560809  2.6796342335588550  5.3202563595707533
  3.9384333212150513  4.0427377270033986  1.3026110239058297

它是已有Si8结构再次扰动后的结果,晶胞体积150.712473 ų,没有先优化到常压平衡。本例NVT压力约9–11 GPa;如果目标是常压材料,请先准备适合该条件的结构和数据。

5 版本与适用范围#

本例NepTrain 2.2.0、Python 3.11;GPUMD 5.9.1采用GCC 13.3/CUDA 12.9环境;VASP 6.6.1采用NVHPC 25.3/MKL 2023.2。短脚本分阶段装载相应模块,配置保存在自己的项目目录。

module show gpumdkit/1.5.8
module show gpumd/5.9.1-p100
module show vasp/6.6.1-p100

本专题只完成一轮探索补标,不把小Si模型当成覆盖多组分、熔化、缺陷或断键的生产势。上游项目可能展示更新的配置模式,使用集群2.2.0时应以安装版帮助和本包输入为准。

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

查看配图

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

100%查看原图 ↗