🗃️ examples
1 个项目
📄️ compress model
DP 模型的 Embedding net 网络数目是原子类型数目$N$的$N^2$倍,随着原子类型增多,Embedding net 数目会快速增加,导致用于反向传播求导的计算图的规模会增加,成为 DP 模型做推理的瓶颈之一。如下我们对于一个五元合金系统在 DP 模型的推理过程的时间统计所示,对于 Embedding net 计算以及梯度计算的时间占比超过 90%,这存在大量的优化空间。Embedding net 的输入为一个$S$的单值,输出为$m$个值($m$为 Embedding net 最后一层神经元数目)。因此,可以将 Embedding net 通过$m$个单值函数代替。我们在这里实现论文DP Compress中使用的五阶多项式压缩方法,同时我们也提供了基于 Hermite 插值方法的三阶多项式压缩方法供用户自由选择。在我们的测试中,当网格大小 $dx=0.001$ 时,三阶多项式与五阶多项式能够达到相同的精度,详细测试数据见性能测试。
📄️ type embedding
由于 DP 模型的 Embedding Net 数目是元素类型数目$N$的$N^2$倍。一方面,当体系中元素类型较多时制约了模型的训练速度,以及推理速度。另一方面,这也制约了 DP 模型在通用大模型方面的潜力。考虑到$N^2$个 Embedding net 其实隐含了对元素类型的编码,因此我们通过调整$S$,将元素类型的物理属性信息与$S{ij}$做拼接,则只需要一个 Embedding net 即可达到与$N^2$相似效果。
📄️ Python inference
我们提供了两种 python inference 方式,一种是直接对结构做预测,使用infer命令,如 章节-预测结构 所示,第二种是对大量的 pwmlff/npy、vasp/outcar、pwmat/movement 格式或者它们的混合格式做预测,对于这类需求,我们提供了使用 json 配置文件的方式,使用 test 命令,如 章节-混合数据预测 所示。