README.md 2.84 KB
Newer Older
zhangxiao-stack's avatar
zhangxiao-stack committed
1
2
3
# DeePMD
## 论文
参考End-to-end Symmetry Preserving Inter-atomic Potential Energy Model for Finite and Extended Systems
4

zhangxiao-stack's avatar
zhangxiao-stack committed
5
6
## 模型结构
DeePMD-kit是深度势能分子动力学的开源项目。分子动力学是一套分子模拟方法,该方法主要依靠牛顿力学来模拟分子体系的运动。分子动力学在微观世界模拟中起着承载作用,在物理、化学、生物、材料科>学以及力学等领域都有着非常重要的应用。
zhangqha's avatar
zhangqha committed
7
8

深势科技成功将DeePMD-kit进行了并行化,首次实现了具有AIMD精度的第一性原理分子动力学模拟的商业与原子规模的应用,为分子动力学提供了革命性的高性能解决方案。
zhangqha's avatar
zhangqha committed
9
![DeePMD_backbone](DeePMD_backbone.png)
zhangqha's avatar
zhangqha committed
10

zhangxiao-stack's avatar
zhangxiao-stack committed
11
12
13
14
## 算法原理
DeePMD-kit使用第一性原理计算的输入、输出结果来训练模型。
模型输入:原子坐标x, y, z和元素种类;
模型输出:体系能量,能量对坐标的一阶导数值(原子受力);
zhangqha's avatar
zhangqha committed
15

zhangxiao-stack's avatar
zhangxiao-stack committed
16
17
18
19
20
21
22
23
1、首先根据原子坐标和种类生成矩阵,矩阵可在旋转和平移的情况下保持不变,以保证第一性原理的计算结果不变;
2、将矩阵输入一个多层全连接网络(fitting net),得到该体系中单个原子的能量,求和即可得到体系总能量;
3、体系总能量对原子坐标求一阶导,一阶导对应原子受力;
4、将模型输出结果(能量+原子受力)输入分子动力学模拟软件LAMMPS中求解动力学结果;

## 环境配置
### Docker(方法一)
提供[光源](https://www.sourcefind.cn/#/service-details)拉取的训练的docker镜像:
zhangqha's avatar
zhangqha committed
24

zhangxiao-stack's avatar
zhangxiao-stack committed
25
26
27
28
29
30
31
训练镜像:
```
  docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:deepmd
```
激活镜像环境及运行测试
```
  source /root/env_disc.sh
zhangqha's avatar
zhangqha committed
32

zhangxiao-stack's avatar
zhangxiao-stack committed
33
  cd /root/test_case/water
zhangqha's avatar
zhangqha committed
34

zhangxiao-stack's avatar
zhangxiao-stack committed
35
36
37
  sh run.sh
```
python依赖安装:
zhangqha's avatar
zhangqha committed
38

zhangxiao-stack's avatar
zhangxiao-stack committed
39
40
41
```
  pip3 install -r requirement.txt
```
zhangqha's avatar
zhangqha committed
42
## 数据集
43

zhangqha's avatar
zhangqha committed
44
45
示例中验证的数据集来自:

zhangqha's avatar
update  
zhangqha committed
46
```
zhangqha's avatar
zhangqha committed
47
wget http://pai-blade.oss-accelerate.aliyuncs.com/bladedisc_notebook_binaries/data/disc_deepmd_example/data.tar.gz
48

zhangqha's avatar
zhangqha committed
49
tar -xvf data.tar.gz
zhangqha's avatar
update  
zhangqha committed
50
```
51

zhangqha's avatar
zhangqha committed
52
53
54
55
实际业务测试请选择合适的数据集进行测试。

## 训练

56
### 安装(如使用镜像,则无需再次安装)
zhangqha's avatar
update  
zhangqha committed
57
```
zhangqha's avatar
zhangqha committed
58
export ROCM_ROOT=/opt/dtk-22.04.2
59

zhangqha's avatar
zhangqha committed
60
DP_VARIANT=rocm  python3 -m pip install .  -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
zhangqha's avatar
update  
zhangqha committed
61
```
zhangqha's avatar
zhangqha committed
62
63
64
### 单卡测试

使用BladeDISC加速的测试命令(此处以单机单卡规模为例说明),请根据实际使用的卡id号调整run.sh中指定的卡号:
zhangqha's avatar
update  
zhangqha committed
65
```
zhangqha's avatar
zhangqha committed
66
    bash run.sh
zhangqha's avatar
update  
zhangqha committed
67
```
zhangqha's avatar
zhangqha committed
68
如果需要关闭BladeDISC加速,需要注释掉main.py文件中的如下内容:
zhangqha's avatar
update  
zhangqha committed
69
```
70
    disc.enable()
zhangqha's avatar
update  
zhangqha committed
71
```
zhangqha's avatar
zhangqha committed
72
73
74
## 应用场景
### 算法类别
AI For Science
zhangxiao-stack's avatar
zhangxiao-stack committed
75

zhangqha's avatar
zhangqha committed
76
77
78
79
### 热点行业
分子动力学,AI For Science

### 源码仓库及问题反馈
80

zhangxiao-stack's avatar
zhangxiao-stack committed
81
https://developer.hpccube.com/codes/modelzoo/bladedisc_deepmd
zhangqha's avatar
zhangqha committed
82

zhangqha's avatar
zhangqha committed
83
### 参考
84

zhangxiao-stack's avatar
zhangxiao-stack committed
85
https://github.com/deepmodeling/deepmd-kit 
zhangqha's avatar
zhangqha committed
86