模型压缩
DP 模型的 Embedding net 网络数目是原子类型数目N的N2倍,随着原子类型增多,Embedding net 数目会快速增加,导致用于反向传播求导的计算图的规模会增加,成为 DP 模型做推理的瓶颈之一。如下我们对于一个五元合金系统在 DP 模型的推理过程的时间统计所示,对于 Embedding net 计算以及梯度计算的时间占比超过 90%,这存在大量的优化空间。Embedding net 的输入为一个Sij的单值,输出为m个值(m为 Embedding net 最后一层神经元数目)。因此,可以将 Embedding net 通过m个单值函数代替。我们在这里实现论文DP Compress中使用的五阶多项式压缩方法,同时我们也提供了基于 Hermite 插值方法的三阶多项式压缩方法供用户自由选择。在我们的测试中,当网格大小 dx=0.001 时,三阶多项式与五阶多项式能够达到相同的精度,详细测试数据见性能测试。
![proportion_time](/assets/images/proportion_time_inference-25985d56f499de5e8f3bc35fd68e53fe.png)
对于一个训练后 DP 模型做模型压缩,完整的模型压缩指令如下:
PWMLFF compress dp_model.ckpt -d 0.01 -o 3 -s cmp_dp_model
- compress 是压缩命令
- dp_model.ckpt为待压缩模型文件名称,为必须要提供的参数
- -d 为S_ij 的网格划分大小,默认值为0.01
- -o 为模型压缩阶数,3为三阶模型压缩,5为五阶模型压缩,默认值为3
- -s 为压缩后的模型名称,默认名称为“cmp_dp_model”
模型压缩之后,在 lammps 中做分子动力学模拟使用方式与标准的DP 模型相同。
我们在 Bulk 铜和五元合金体系上对 DP 模型 做了模型压缩,并在测试集上分别做了测试。结果如下图中所示,对于铜体系,我们加入了对二阶插值方法的精度对比,相比于三阶和五阶方法,二阶方法的精度达不到要求。
![cu_compress_dp_valid_abs_error](/assets/images/cu_compress_dp_valid_abs_error-8cb76d7bc3d8a93a2ca812bf8b60bcb9.png) 图1: Bulk铜体系DP模型二阶、三阶与五阶多项式压缩对比 | ![alloy_compress_dp_valid_abs_error](/assets/images/alloy_compress_dp_valid_abs_error-fdf339f257dedd29f312e29e63cc0cfc.png) 图2: 五元合金体系DP模型三阶与五阶多项式压缩对比 |
我们统计了五元合金体系下 DP 模型三阶多项式压缩以及未压缩时,在整个测试集上的推理时间。经过多项式压缩后明显减少了反向求导(autograd)时间,这是因为多项式方法能够显著减少 Embedding net 在 pytorch 自动求导时的计算图大小。
![alloy_compress_forward_time](data:image/png;base64,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) 图1: 五元合金体系三阶多项式压缩(dx=0.01)与未压缩对比 |
我们扫描全部训练集,得到sij的最大值,由于sij是原子i和j的三维坐标距离rij函数,当rij = rcut时取最小值。根据sij取值范围按照dx值等分为L份,则共有l+1个插值点,分别记为x1,x2,⋯,xl+1。在实际的使用中,由于训练集的不完备,可能存在一些sij值超出训练集之外,这里我们在上述网格之外,继续增加了sij到10×sij的网格,网格大小设置为10×dx。
对于每个[xl,xl+1)区间,采用如下的三阶多项式替代 Embedding net:
gml(x)=amlx3+bmlx2+cmlx+dml
这里m为 Embedding net 最后一层神经元数量,即 Embedding net 输出值数目,多项式的自变量x值应为sij−xl。在每个网格点上,都需要满足如下两个限定条件。
在每个网格点上限制如下条件。
多项式值与 Embedding net 输出值一致:
yl=Gm(xl)
多项式一阶导数与 Embedding net 对Sij的一阶导一致:
yl′=Gm′(xl)
解得对应系数为
aml=Δt31[(yl+1′+yl′)Δt−2h]
bml=Δt21[−(yl+1′+2yl′)Δt+3h]
cml=yl′
dml=yl
我们也实现了DP Compress中的五阶多项式压缩方法。
对于五阶多项式,对Sij的划分方法与五阶方法相同,采用如下的多项式代替 Embedding net:
gml(x)=amlx5+bmlx4+cmlx3+dmlx2+emlx+fml
注意:此时多项式的自变量x值应为sij−xl。在每个网格点上,都需要满足如下三个限定条件。
多项式值与 Embedding net 输出值一致:
yl=Gm(xl)
多项式一阶导数与 Embedding net 对Sij的一阶导一致:
yl′=Gm′(xl)
多项式二阶导数与 Embedding net 对Sij的二阶导一致:
yl′′=Gm′′(xl)
由此可得六个系数值分别为:
aml=2Δt51[12h−6(yl+1′+yl′)Δt+(yl+1′′−yl′′)Δt2]
bml=2Δt41[−30h+(14yl+1′+16yl′)Δt+(−2yl+1′′+3yl′′)Δt2]
cml=2Δt31[20h−(8yl+1′+12yl′)Δt+(yl+1′′−3yl′′)Δt2]
dml=21yl′′
eml=yl′
fml=yl
其中 h=yl+1−yl,Δt=xl+1−xl