主动学习
机器学习力场相比于传统方法,能够更快和精确地预测材料性质和反应机理,当前最先进的基于深度学习的分子动力学已经能够做到百亿原子体系的模拟。但是由于机器学习方法的插值特性,对于训练集之外的相空间,MLFF 很难做出准确预测。由于训练数据通常是使用昂贵的第一性原理计算生成的,现实中很难获取到大量的从头算数据集,生成具有足够代表性的训练数据但不依赖大量从头算数据,对于提升模型的外推能力至关重要。PWact (Active learning based on PWmat Machine Learning Force Field) 是开源的基于 MatPL 的一套自动化主动学习平台,用于高效的数据采样。
PWact
PWact 平台包含主任务和任务分发 器两部分,如 结构图 所示。
主任务包括 预训练数据制备
以及 主动学习
两个模块。负责预训练数据制备和主动学习过程中的计算任务生成、以及结果收集。任务分发器接收到任务调度请求之后,根据计算资源使用状态以及任务申请资源情况将任务调度到对应的计算节点上,待任务执行完毕之后,收集计算节点的执行结果返回给主任务程序。
预训练数据制备模块
包括驰豫 (支持 PWmat、VASP、CP2k和DFTB)
、阔胞、缩放晶格、微扰以及运行 MD (支持 PWmat、VASP、CP2k和DFTB)
四个模块,并支持对这些模块的组合使用。
主动学习模块
包括训练
、构型探索
以及标注
模块。首先,训练模块做模型训练;之后将训练好的模型送入探索模块。探索模块调用力场模型做分子动力学模拟,模拟结束后把得到的分子运动轨迹送入查询器做不确定性度量;查询完成后,把待标注构型点送入标注模块;最后标注模块做自洽计算,得到 能量和力,作为标签与对应构型一起送入已标注数据库中;重复上述步骤,直到收敛。
-
对于模型训练,我们这里支持 MatPL 中的 DP model、DP model with compress 以及 DP model with type embedding,以及 NEP 模型。
-
对于不确定性度量,提供了常用了基于多模型委员会查询的方法,并且也提供了我们最新设计的 单模型的基于卡尔曼滤波的不确定性度量方法 KPU (Kalman Prediction Uncertainty, KPU)。该方法能够在接近委员会查询精度的情况下,将模型训练的计算开销减少到 1/N, N为委员会查询模型数量,欢迎用户尝试。对于 KPU 方法,仅适用于DP模型。
-
对于标注,支持 PWmat、VASP、CP2k和DFTB。
依赖应用
-
PWact 作业调度采用 SLURM 集群管理和作业调度系统,需要您的计算集群上已安装 SLURM。
-
PWact 的 DFT 计算支持 PWmat 、VASP、 CP2K,需要您的计算机群已安装PWMAT、VASP或CP2K。
-
PWact 使用的力场模型使用 MatPL训练 , MatPL 安装方式参考 MatPL 在线手册。
-
PWact Lammps 分子动力学模拟 基于 lammps-MatPL,安装方式参考 MatPL 在线手册
安装流程
PWact 支持pip 命令安装与源码安装两种安装方式。
1.pip 命令安装
安装包已上传至pypi 官网,支持直接使用pip install 安装。
pip install pwact
#安装 pwact,如果已安装,则升级到最新版本
pip install pwact --upgrade
# 列出所有可安装版本
pip index versions pwact
# 输出结果示例:
# pwact (0.1.27)
# Available versions: 0.1.27, 0.1.25, 0.1.23, 0.1.10
# 安装指定版本
pip install pwact==n.m.o
2. github源码安装
源码安装适用于需要修改源码的用户,否则建议您通过 pip安装 即可。 源码下载
git clone https://github.com/LonxunQuantum/PWact.git
或者
git clone https://gitee.com/pfsuo/pwact.git
gitee更新可能没有github及时,建议优先从github下载
源码下载后,进入源码的根目录(与setup.py同一级)执行命令
pip install .
#或者加开发者选项, 安装时不复制文件,而是直接从源码文件读取,任何对源码的修改都会立即生效
# pip install -e .
# 从源码安装执行完毕后,需要把pwact加入环境变量
# export PYTHONPATH=/the/path/pwact:$PYTHONPATH
PWact 开发语言采用 Python ,支持 Python 3.9 以及以上的版本。建议用户直接使用 MatPL 的 Python 运行环境 即可。
如果您需要为 PWact 单独创建虚拟环境,只需要安装以下依赖包即可(与您的 Python 版本相匹配, 支持Python 3.9 以及以上)。
pip install numpy pandas tqdm pwdata
命令列表
PWact 包括如下命令,起始命令为pwact
1. 输出可用命令列表
pwact [ -h / --help / help ]
您也可以用这条命令检查您的PWact是否安装成功
2. 输出 cmd_name 对应的参数列表
pwact cmd_name -h