PFD-kit上手:微调、蒸馏与模型交付
用小Si真实例子串起数据、预训练势、DFT补标、微调和学生势,提供短命令入口。
阅读本篇目录
下载输入、五个参考模型、真实数据与短命令脚本(ZIP)。本专题分为六篇:本篇上手 → 数据与标签 → 微调 → 蒸馏 → 误差与模型选择 → 查询、取回与续接。
1 最后能得到什么#
PFD把已有原子势、结构探索、补标和训练衔接起来。本例首先用已有模型探索Si构型,挑选四帧交给VASP,得到新的能量、力和virial标签,再微调注意力模型。随后用微调教师模型产生标签,训练体积更小的SE学生模型。
微调使用真实DFT标签;蒸馏使用教师预测标签。学生学会教师不等于超过教师的DFT准确性,最后仍需独立DFT对照。

本包初始注意力势由我们在32个Si2/Si8构型上训练产生,是用于学习的小模型。它没有覆盖多组分、缺陷、熔化等生产范围,也不是随软件安装就自带的通用大模型。
2 先查看结果#
unzip pfd-practical-wave265-*.zip
cd pfd-practical-wave265
bash run.sh
重画六张PNG、六张CSV,不提交计算。参考数据始终放在最外层,自己新算的结果放在work。
ls figures
cat analysis/PFD-independent.csv
cat analysis/PFD-selected.csv
3 自己完整运行#
首次在新目录执行:
bash prepare.sh
bash calculate.sh
bash status.sh
prepare建立自己的work,并用VASPKIT 1.5.1的103任务生成与标签一致的授权Si赝势;附件不含POTCAR。calculate通过Slurm申请一张P100,依次完成微调与蒸馏,每阶段都是真实计算。不要直接运行work里的内部执行脚本,也不要在已经提交后删除记录再提交。
流程是:32个原训练结构 + 初始注意力势 → 两温度各0.1 ps探索 → 熵选样四帧 → 四次VASP单点 → 三帧加入训练、一帧内部检查 → 微调2000步 → 教师预测原32个训练几何与12个新候选 → 学生训练16000步。
两阶段结束后:
bash status.sh
bash evaluate.sh
cat work/OWN-MODEL-ERRORS.json
微调势在 work/final-finetune/model/,学生势在 work/final-distill/model/;各目录下包含训练器实际导出的frozen_model.pb。内部目录层次按原生输出保留,使用find可以查看:
find work/final-finetune/model -name '*.pb'
find work/final-distill/model -name '*.pb'
4 版本和运行位置#
本例使用集群PFD-kit 0.10.13、DeePMD-kit 3.2.0 TensorFlow路线、Python 3.12;VASP 6.6.1采用NVHPC 25.3/MKL 2023.2环境。阶段脚本分别装载匹配环境。 PFD本地debug模式会实际训练、跑MD和计算标签;本包将它放在Slurm计算节点中执行。一个作业使用一张GPU,不表示多卡训练或已搭建云工作流服务。
module show pfd-kit/0.10.13
module show vasp/6.6.1-p100
程序到达max_iter=1表示本教学任务按预算结束。参考微调和蒸馏的内部力误差都没有达到0.05 eV/Å的生产收敛目标;模型能否使用要继续看独立测试、目标状态覆盖和轨迹表现。