PWMLFF(机器学习力场)手册
http://doc.lonxun.com/PWMLFF/
我们都知道从第一性原理出发的分子动力学(Ab Initio Molecular Dynamics, AIMD)计算非常精确,但需要消耗大量时间和计算资源,能模拟的空间尺度和时间尺度都比较有限。龙讯旷腾PWMLFF借助机器学习的方法,可以根据第一性原理计算数据集训练势函数,在保证高精度的同时,大幅加速分子动力学计算,提高了可模拟的体系尺寸以及模拟的时长。近日,龙讯旷腾推出PWMLFF V0.1.0版本,重构了操作界面,大大降低了软件使用门槛,同时优化了与分子动力学软件lammps的接口,提供了PWMLFF主动学习方案,并修复了多处已知bug。
PWMLFF架构
•减少取样:
Energy Decomposition
•特征丰富:
2B/3B(piecewise)、2B/3B(gauss)、MTP、SNAP等
•模型齐全:
Linear、VV、 NN、 DP
•加速训练:
Kalman filter techniques
•可扩展性:
Open source、user plug-in features
亮点
集成不同模型,可自由组合
对于扩展系统,PWMLFF假设系统的总能量是系统中每个原子能量的总和。我们用不同的局域原子描述符(即所谓“特征”)来描述局部原子结构,以这些特征作为回归模型的输入,拟合原子能量。PWMLFF支持的回归模型包括线性模型、VV模型(龙讯团队开发的一种独特的非线性模型)、神经网络(Deep NN)模型和DP模型,同时也包含大部分的常用特征,用户可以任意地重新组合它们。
Energy Decomposition
PWMLFF另一个独特功能是可以结合PWmat分子动力学计算中的能量分解功能,将局域的原子能量作为输入。由于局域原子能量可以直接作为数据输入回归模型,这可以显著减少训练所需的分子动力学步数,因此可以克服机器学习需要长时间预运算来产生训练数据这一困难。在PWMLFF中,总能量、局域原子能量和原子受力均可以作为训练输入。与此同时,使用市面上常规第一性原理软件的用户也可以使用PWMLFF进行训练,但将无法使用PWmat的能量分解功能。
Kalman Filter优化器加速训练
PWMLFF 在训练过程中引入分层Kalman滤波器(LKF),这是一种二阶梯度优化器,训练收敛速度远远快于Adam等一阶梯度优化器,而且龙讯团队创造性的采用了分层计算的方式,解决了此类优化器在计算中显存占用太多的问题,提高了实用性。详见下方链接:
https://ojs.aaai.org/index.php/AAAI/article/view/25957
KF优化器收敛速度最快
升级
新版操作界面
PWMLFF V0.1.0版本使用方式如下:
PWMLFF[train/test/explore/extract_ff]<input_file>
其中 train/test/explore/extract_ff 分别对应力场训练、力场测试、结构探索、提取力场文件任务,另外用户需准备训练集(如0_300_MOVEMENT、1_500_MOVEMENT)以及输入文件(如input.json),训练输入文件内容可精简如下:
{
"train_movement_file":["0_300_MOVEMENT", "1_500_MOVEMENT"],
"model_type": "DP",
"atom_type":[29],
}
然后使用命令 PWMLFF train input.json 即可开启训练,获得机器学习力场文件。更多参数设置可以参考用户手册。
优化lammps接口
除与PWMLFF自带的分子动力学工具main_MD.x接口外,Linear model, NN model, DP model均实现了与著名分子动力学计算软件lammps的接口,支持NVE, NVT, NPT等多种系综,提高了PWMLFF势函数的灵活性与通用性,使用方式如下:
pair_style pwmatmlff
pair_coeff * * 5 1 forcefield.ff 29
其中pair_coeff行第一个数字代表model类型,1:linear model, 3: NN model,5: DP model,第二个数字代表力场个数,如有四个力场文件,可
pair_coeff * * 5 4 ./1.ff ./2.ff ./3.ff ./4.ff 29
最后的数字代表原子序数。其余设置与标准lammp保持一致。
PWMLFF主动学习方案
机器学习力场的质量与其训练集密切相关。PWMLFF提供了主动学习方案建立训练集:
1.使用初始训练集训得的力场高效探索相空间构型
2.通过多个力场预测结果的偏差值评估力场质量
3.将候选构型用PWmat做DFT计算后加入训练集,从而实现训练集的高效构建
流程如下图所示
新版本的PWMLFF在功能强大的同时,始终关注软件的稳定性、可靠性和易用性。我们相信,PWMLFF将为用户带来更加高效、准确的计算体验,进一步提升用户在科研和工程应用中的工作效率。
应用和案例
应用场景
机器学习用于模拟硅由非晶态变成结晶态生长过程
应用场景
机器学习用于蒙特卡罗模拟薄膜生长过程
应用场景
机器学习用于裂纹扩展研究
应用场景
总能量、受力结果与测试数据比较
Code:
https://gitee.com/pfsuo/PWMLFF
Lammps接口:
https://gitee.com/pfsuo/Lammps_for_PWMLFF