ABACUS 专题

DeePKS:单卡训练与CPU模型导出

复用已有水分子标签,在P100或V100 16G训练DeePKS,并导出CPU ABACUS可读的TorchScript模型。

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

DeePKS训练教程已经介绍描述符、能量单位和六训练/两留出构型。本篇复用同一组实际DFT标签,把原生训练放到单张GPU上,再导出CPU模型,不重新计算DFT。

GPU只负责此处神经网络训练。后续ABACUS修正SCF仍使用独立ML环境的CPU求解器;不能因为训练用了GPU,就认为DFT求解也自动启用了GPU。

下载输入、脚本与实算参考数据。

unzip abacus-deepks-gpu-wave686-*.zip
cd abacus-deepks-gpu
bash results.sh
bash plot.sh

以上只读取参考数据并重绘,不启动新计算。重新计算请使用新解压的目录。

1. 选择训练环境与查看数据#

先按ML环境教程准备一次固定DeePKS-kit与依赖,然后在本包目录:

bash use-toolchain.sh ../abacus-ml-env/toolchain
ls data/train
ls data/heldout

dm_eig.npy是描述符,energy.npy和e_base.npy是Hartree能量。本版ABACUS导出的能量已经是Hartree,不能沿用旧接口脚本再除以2。训练只有6个水分子几何,2个留出几何不参与拟合或停止条件;不代表覆盖液态水或化学反应。

2. 选一张卡提交#

P100:

sbatch p100.slurm

V100 16G:

sbatch v100.slurm

一个解压目录只选一种执行。想比较两种设备,复制为两个独立目录分别提交,避免同时写model.pth。脚本分别指定gpu-8p100-hs、gpu-8v100-16g-hs,申请一张对应16GB显卡、1个CPU核和4GB主存。脚本保留Slurm分配的CUDA_VISIBLE_DEVICES,不要自行写成任意卡号。

关键原生训练参数:

train_paths = ['data/train']
test_paths = None
hidden_sizes = [16, 16]
n_epoch = 1200
start_lr = 0.003
decay_steps = 300
decay_rate = 0.5
force_factor = 0.0
seed = 68017
device = 'cuda:0'

这里只训练能量修正,未做受力损失拟合。PyTorch2.8.0+cu126,DeePKS-kit固定develop提交bf7175bf5;NumPy公开API兼容写法与CPU教程相同。

3. 训练后得到哪些文件#

ls model.pth model.ptg
cat NATIVE-RECEIPT.json
cat GPU-training-predictions.csv
  • model.pth:原生训练检查点。
  • model.ptg:把训练模型移到CPU后导出的TorchScript模型,可供CPU ABACUS读取。
  • GPU-training-predictions.csv:八个已有几何上的冻结密度预测。

程序先在GPU原生求值,再把同一权重导出到CPU读取;本例二者最大差约1.39×10⁻¹⁷ Ha。两种GPU模型在本组八个构型上的预测一致;模型文件序列化哈希可以不同,不应仅凭文件哈希判断预测是否相同。

4. 本集群两种显卡的实际结果#

单卡 本例原生训练用时 两个留出构型冻结密度总能MAE
P100 16G PCIe 9.98 s 0.00030459 eV
V100 16G SXM2 8.06 s 0.00030459 eV

这个模型很小,初始化和软件开销占比明显,上述时间不是GPU加速比基准。误差是已有描述符上的冻结密度预测,不能与修正SCF后的0.00019617 eV直接混为同一种指标。

同一六训练两留出水分子数据的两种GPU原生训练与CPU导出结果

5. 将模型用于ABACUS#

把model.ptg复制到修正SCF实例的模型目录,保持相同投影基、元素和描述符定义,再按该篇提交计算。

cp model.ptg ../abacus-deepks-water/training/model.ptg

路径中的目标目录应已经按SCF教程准备;在新目录做推断,避免覆盖以前的训练结果。真正自洽推断会改变电子密度,应读取新SCF能量和受力,不能把本篇CSV当成已经重新运行过SCF的数据。

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

查看配图

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

100%查看原图 ↗