DeePMD-kit项目介绍
DeePMD-kit是一个用Python和C++编写的软件包,专注于通过深度学习技术构建原子间势能与力场模型,进行分子动力学模拟。它为提升分子模拟中精确度与效率之间的平衡带来了新的希望。DeePMD-kit可以用在从有限规模的分子到扩展系统,以及从金属系统到化学键合系统的各种应用中。
主要功能
- 与TensorFlow整合:使训练过程高度自动化和高效。
- 兼容高性能经典MD和量子路径积分MD软件包:支持LAMMPS、i-PI、AMBER、CP2K、GROMACS、OpenMM和ABUCUS等平台。
- 实现 Deep Potential 系列模型:适用于有机分子、金属、半导体、绝缘体等多种系统。
- 支持MPI和GPU:适合高性能并行和分布式计算。
- 模块化设计:易于适应不同的深度学习描述符,用于潜在能量模型的创建。
许可证和鸣谢
DeePMD-kit的项目在GNU LGPLv3.0许可证下发布。如果在未来的出版物中使用该代码,请引用相关的几篇论文,包括文章 “DeePMD-kit: A deep learning package for many-body potential energy representation and molecular dynamics” 和 “DeePMD-kit v2: A software package for deep potential models”。
版本亮点
初始版本
Deep Potential的目标是利用深度学习技术,实现一个通用、精确、计算高效且可扩展的原子间势能模型。其关键在于为每个原子分配一个局部参考框架和环境,并通过子网络转化为原子能量,然后汇总为系统的潜在能量。初始版本解决了以往模型中计算量大和精确度不足的问题。
v1版本
- 代码重构以实现高度模块化。
- 为描述符提供GPU支持。
v2版本
- 模型压缩:推理效率提高了4-15倍。
- 新增描述符:包括
se_e2_r
、se_e3
和se_atten
(DPA-1)。 - 描述符混合:通过多个描述符的合并构建混合描述符。
- 原子类型嵌入:降低训练复杂度,提高性能。
- 偶极矩(向量)和极化率(矩阵)的训练与推理。
- 训练与验证数据集分离。
- 优化GPU上的训练,包括CUDA和ROCm。
- 非冯诺依曼架构支持。
- 提供C API接口以便与第三方软件包联动。
如何安装和使用DeePMD-kit
有关DeePMD-kit的安装与使用方法,请查阅相关的在线文档。
代码结构
代码结构设计合理,包含了示例、核心库的源码、C++ API、Node.js API等多个部分,以便于开发和使用。
贡献
DeePMD-kit邀请所有有兴趣的人士为项目做出贡献。具体参见贡献指南。
DeePMD-kit通过其先进的功能和高效的设计,在深度学习领域尤其是模型的势能表示与分子动力学模拟方面表现出色,是科研人员和开发者的重要工具。