©️ Copyright 2023 @ Authors
发布日期:2023-11-18
更新日期:2023-11-21
共享协议:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
一、背景介绍
戈登贝尔奖(ACM Gordon Bell Prize)设立于1987年,由美国计算机学会颁发,被称为超算界的「诺贝尔奖」。近日,ACM戈登贝尔奖授予密歇根大学机械工程、材料科学与工程教授Vikram Gavini领导的国际团队,他们在Frontier超级计算机上使用了集成计算框架,模拟近7.5万原子组成的镁系统中的错位或缺陷。相关项目名称为「量子精度的大规模材料建模:金属合金中准晶体和相互作用扩展缺陷的从头计算模拟」。
合金的生产过程有关金属的熔化与混合。镁合金是轻质合金的候选者,但镁原子结构中的空缺错位可能会导致脆性和开裂。材料的原子结构在这些线缺陷(通常称为位错)的行为中起着至关重要的作用。了解镁合金中的位错可以为工业带来更轻、更灵活的合金。为了更好地理解位错行为,往往需要开展原子尺度的计算研究。然而在实际的分子动力学计算中,往往会遭遇计算效率和计算精度无法兼得的问题。Gavini等人使用密度泛函理论(DFT)和深度学习相结合的方法,实现了在量子多体精度下,7.5万原子镁合金体系的缺陷行为的计算。为了实现这样的计算,该团队使用了Frontier超级计算机的数万块GPU。团队负责人Gavini在介绍该工作时评述道:"如果没有百亿亿次计算和Frontier超级计算机,我们将无法进行这些类型的计算。现在我们知道了如何去做,我们可以广泛应用这些方法来探索其他问题。"
如果没有Frontier计算机,我们对于这类计算就真的无能为力了吗?正如标题所言——"杀鸡焉用牛刀?"
材料模拟的两难境地在于基于量子力学的第一性原理方法准而不快、通常只能算成百上千的原子,即便在当下最大的超级计算机上进行的本次戈登贝尔奖的工作,也只能模拟数万原子的很短的过程;但是基于经验近似的力场方法往往快而不准,特别是在描述多组分、结构复杂的体系时难以接近真实场景。
近些年来人工智能辅助势函数建模的发展已经大大地改变了这个两难局面。早在2020年,深度势能(Deep Potential,DP)团队便结合人工智能、物理模型、高性能计算,以第一性原理精度对上亿原子进行了分子动力学模拟,相关成果曾获得2020年戈登贝尔奖深度势能(DP)团队喜获戈登贝尔奖。在当下,DeePMD能进行的模拟规模已达百亿;此外,该方法不但可以运行在CPU、GPU等传统冯·诺依曼架构的硬件上,还可以运行在基于非·冯诺依曼架构(NVNMD)的FPGA集群上。值得一提的是,相较于部署在GPU的计算,FPGA的计算速度提升了1-2个数量级,计算功耗降低了2-3个数量级。由于计算效率大大提升,我们可以基于DeePMD做更多、更充分的探索。DP还能这么跑?基于非冯·诺依曼架构的DP高速计算
在计算机上研究7.5万原子镁合金体系的缺陷行为,实际需要做的是在给定的合金体系势能函数下对体系进行结构优化及有限温压条件下的模拟。在实际的复现工作中,我们基于团队已有的MgZnY三元合金DP势函数进行模拟,建立了6.9万原子数的小尺寸体系,与原文7.5万原子数接近,复现了pyramidal-I reflection孪晶与pyramidal-II <c+a> 螺位错的相对距离,并完成了结构弛豫。进一步,我们建立了78万原子数和85万原子数的大尺寸体系,考虑了孪晶与螺位错距离较大的情况。在计算效率方面,DeePMD在资源使用量减少四个数量级的同时,模拟速度提升三个数量级。
尽管DeePMD跑1218步便得到的结构弛豫(即能量极小化)的结果与原文类似,但有限温压下则不然。在100K NPT下弛豫30000步后,我们发现原文图中的孪晶结构并不能在有限温度下保持稳定,而是产生了复杂的缺陷。经过更细致的模拟,我们给出了相同取向下,DeePMD预测的更加稳定的孪晶结构,在50K、100K和200K下进行30000步弛豫,发现孪晶结构保持完好,并不会产生缺陷或向基体内发射位错。
上述问题仍需更进一步探究,来确保模型精度、模拟设置等方方面面没有问题,但用过去的方法即便在最大的超算 Frontier 上做,需要的时间也是经年累月的。然而,深度结合并推向极致的 AI、物理模型、高性能计算,正在让超级计算机这样的“旧时王谢堂前燕”能做的事情“飞入寻常百姓家”。如果你感兴趣,只需根据下面的 Notebook 内容,使用 DP Combo,就可以一键跑起来!
- 本Notebook包含5个数据集:
- inputfiles:包含6.9万、78万和85万原子体系的minimize输入文件,势函数为FPGA版;
- outputfiles:包含6.9万、78万和85万原子体系的minimize输入文件和结果文件,势函数为FPGA版;
- moreinputfiles:包含2.7节讨论中所涉及的孪晶缺陷能对比、新孪晶结构的稳定性等的输入文件,势函数为FPGA版;
- trainingdata:包含第三部分所需Mg-Y合金的训练集(仅供流程测试,无法用于实际生产),教程展示 FPGA 版训练流程;
- gpufiles:包含GPU版本势函数,GPU训练输入文件,GPU推理输入文件;
- 如果你在使用本Notebook的过程中遇任何问题,或者有其他想法,欢迎直接通过评论进行交流,也欢迎添加深度势能微信号(deeppotential)与我们取得联系。
二、利用Bohrium,云端直接复现结果
在这部分,我们使用已经训练好的DeePMD模型,通过Bohrium科学计算云平台的“网页提交”功能,直接在浏览器中提交Lammps计算任务。
首先,你需要从本Notebook的数据集部分,下载本节所需的Lammps输入文件。
2.1 登录Bohrium主页
- 访问 https://bohrium.dp.tech/ , 点击开始体验,注册并登录
2.2 通过网页端提交LAMMPS任务
- 在网页提交任务区域,点击LAMMPS图标
2.3 软件设置
- 所属项目:根据自己的项目进行选择
- 输入文件:点击“上传文件”,上传inputfiles文件夹中的69240-minimize子文件夹中的所有文件;
- 软件版本:选择lammps_dp:29Sep2021
- Command:
lmp_mpi -i in.lammps -v restart 0
- 完成设置后,点选下一步
2.4 硬件设置
- 机型配置:在下滑菜单中选择FPGA进行筛选,使用默认推荐机型c4_m16_2 * FPGA 即可
- 节点数量:默认为 1
- 点选下一步
2.5 任务信息确认
- 再次检查任务名称、所属项目、软件设置、硬件设置等,确认无误后点击提交。
2.6 任务监控及下载
点击侧边栏任务按钮,进入任务管理页面
点击任务ID进入任务详情页,在结果文件中点击下载。
2.7 复现结果分析
本部分6.9万、78万和85万原子体系的结构弛豫文件在“outputfiles-2023GordonBell”数据集中,进一步讨论孪晶稳定性的输入文件在“morefiles-2023GordonBell”数据集中。
在本部分,我们建立了三个体系,小尺寸体系原子数为69240,大尺寸体系原子数分别为780570和856231。
图示采用了ovito的common neighbor analysis方法识别结构中的缺陷,绿色原子是HCP结构,蓝色原子是其他类型,晶体结构不确定,通常代表缺陷,红色放大的原子是Y,其它原子是Mg。pyramidal-II <c+a> 螺位错核心扩展为两个分位错,这种位错核心扩展的现象DFT和MD都能观察到。
2.7.1 Ovito具体操作与设置
2.7.2 结果复现对比
- 小尺寸体系的minimize结果如下,原子数为69240,稍少于文中工作,复现了pyramidal-I reflection 孪晶与pyramidal-II <c+a> 螺位错的相对距离。
- 大尺寸体系的minimize结果如下,原子数分别为780570和856231,前者尽量复现TB与位错相对距离,后者考虑位错与TB距离较大的情况。图片中的标记、颜色定义与前面相同。
在材料科学领域,构建缺陷体系是研究的第一步,该例包含pyramidal-I reflection 孪晶和pyramidal-II <c+a> 螺位错,pyramidal-II <c+a> 螺位错很容易滑动,滑动一段时间会向pyramidal-I面发生交滑移。文章里位错和孪晶距离比较近,通常这种设置是为了研究位错和孪晶相互作用的,位错跑到孪晶界上然后出现进一步的现象,可以想象的问题包括位错是否穿过孪晶界,穿过后的柏氏矢量如何变化,是否有位错分量沿孪晶界滑动,随机固溶的Y原子对这些过程有什么影响。
这些问题讨论起来比较复杂,不做过多展开,研究以上问题的基础是,该初始结构是否“真正”稳定,即不仅是minimize的情况下结构可靠,在含温条件下是否依然可靠。对于原子数分别为780570和856231的这两个大体系,在100K NPT系综弛豫30000步,结果如下图:
- 780570体系初始位错和孪晶间距较小,螺位错运动至孪晶界,并被孪晶界完全吸收,但是很难进一步分析,因为孪晶界上产生了复杂的缺陷。对于856231体系,尽管螺位错没有运动至孪晶界上,孪晶界依然不稳定,向基体发射了分位错,然后形成了另一种可能比较稳定的孪晶结构。于是我们做了这样一种比较:
如上图所示,构建了两个小的孪晶结构(猜测由于孪晶结构太小没有弛豫出缺陷),原子数分别为2624和2608。初步计算了两者的缺陷能量,计算发现初始戈登贝尔文章呈现的孪晶结构的孪晶能量更高(3~4eV),更不稳定。
⚠️构型包含表面和孪晶,所以比较的缺陷能量不只包含孪晶,严格来讲不太严谨,但是表面设计的尺寸和层数一样所以表面的缺陷能是相同的,认为表面引入的能量升高对两者影响相同,能量的差值贡献完全来自孪晶结构的不同。
为了验证新孪晶结构是否稳定,采用上述相同条件,即100K,NPT系综,弛豫3000步,对新孪晶+位错结构进行了如下模拟:
- 结果证明新孪晶结构稳定,即使对于Y浓度偏高的局部区域,孪晶结构依然保持完好,并不会产生缺陷或向基体内发射位错。进一步,缩短螺位错与孪晶界的距离,研究温度对弛豫结果的影响:
由图可见,温度对螺位错的运动能力有影响,相同模拟时间内,50 K下螺位错与孪晶有一定距离,但是100 K和200 K的结果发现,螺位错已运动至孪晶界上,但是没有进一步的现象出现。原因可能是模拟时间有限,也可能是需要应力辅助,深入研究这里不再展开。
综上,模拟材料缺陷性质是一件不容易的事情,从缺陷结构是否合理,到温度、加载条件对缺陷结构、运动能力,等等的影响,这些问题都不是搭建一个合理性存疑并只计算一个离子步可以解答的。
三、利用DP Combo APP,云端快速训练模型
开始训练前,需要提供带标注的数据。其中训练集必须,测试集可选。文件需要tgz、tar.gz或者zip格式的压缩包,数据的格式是deepmd/npy,目录的层级无要求,APP会递归地搜索内部的体系。
本部分我们将提供一个简化版的Mg-Y数据集,演示如何使用DP Combo APP在线训练势函数。
请下载数据集中的trainingdata-2023-Gordonbell文件夹。
注意本数据集无法进行生产使用。如果希望训练模型请参考DeePMD模型训练相关介绍。如有任何疑问,可以在本Notebook中通过评论进行反馈,或者通过添加深度势能微信号(deeppotential)联系我们。
3.1 登录DP Combo APP主页
- 访问 https://app.bohrium.dp.tech/dp-combo/
- 根据界面提示,点选 Logout,进入 Bohrium 登录界面,领取 50 元体验卡。
3.2 上传数据集
- 通过页面提示,点击Training Data栏目下的Browser files按钮,上传数据集,上传完成后点击Next进入参数设置界面
3.3 设置训练参数
- 点选上方“Train Nvnmd”,使用默认参数,点击Next进行训练
3.4 确定工作链接分享范围
- 使用默认选型,点击Next
3.5 提交任务
选择任务运行的项目ID,根据需要修改Job Description
之后点击同意条款,点击Submit即可提交任务
提交后界面如下
至此,我们完成了使用DP Combo APP训练势函数的流程。接下来你可以下载训练好的势函数,参考第二部分的流程和输入文件,在Bohrium云平台进行分子动力学模拟。
四、更多资料
- 如果希望了解更多关于DeePMD训练、NVNMD、DP Combo的使用等,可以通过一下链接进行学习。