专栏首页PaddlePaddle助力前沿基础科学研究,飞桨联手深度势能推动分子模拟新生态建设

助力前沿基础科学研究,飞桨联手深度势能推动分子模拟新生态建设

开源开放已经成为驱动技术创新和加速产业发展的核心动能。开源开放对人类社会过去几百年科学和技术的发展起到非常重要的作用,让我们可以更快追踪到最新的技术进展。

深度势能【1】(Deep Potential)开源方法通过运用“机器学习+多尺度建模+高性能计算”的方式解决了传统分子模拟过程中难以兼顾精度与速度的痛点,成功实现在第一性原理精度基础上的上亿原子的分子动力学模拟【2】。

以深度学习为代表的机器学习方法在力场开发中的应用为发展高效精确的分子动力学方法带来了新机遇和新思路。无需从头学习难度高、迭代快的前沿科技,避免重复“造轮子”,应用AI的门槛更低、成本更低、效率更高。其中DeePMD-kit和DP-GEN是围绕Deep Potential Molecular Dynamics(DeePMD,深度势能分子动力学)开发的开源科学软件包。发布以来,在凝聚态物理、化学物理、材料理性设计、生物物理、药物分子设计等领域均得到广泛应用

图片来源:http://chemlabs.princeton.edu/csi2020/

近期飞桨(PaddlePaddle)开源深度学习框架和深度势能开源社区的开发者们就深度势能分子动力学开源项目(DeePMD-kit)进行了跨领域深度合作,依托飞桨框架成熟的底层功能和动静统一的开发体验实现深度势能分子动力学模型的构建和运行,促进了双方在开发者生态上的双向融合,拓展了DeePMD-kit原有能力边界,增强在国产化硬件和大规模分布式训练上的能力,也让飞桨支持的科学计算开源项目中增加了重量级的一员。

DeePMD算法包括两部分,用神经网络深度学习方案来模拟材料势能面的DeepPot(深度势模型)和用深度势模型跑MD(分子动力学)。这里就用DeePMD当中较为典型的SeA势模型为例来为大家介绍一下如何利用飞桨进行人工智能和计算材料学领域的结合开发。

1 技术背景

SeA指DeepPot smooth edition constructed from all information including angle and radial information of atomic configurations。从原子坐标信息(包括原子间的相对径向坐标和角向坐标)出发,通过神经网络构造复杂材料体系的势能面。

SeA模型由两部分构成:

a. Embeding网络,输入中心原子i与其所有近邻原子j的相对坐标信息,输出Feature Matrix。

b. Fitting网络,输入Feature Matrix,输出中心原子i的局域能量。

DeepPot已被用于准确描述包括分子结构、各种周期性结构,以及表面、高熵、电池等等多种复杂结构。

2 使用飞桨框架来实现SeA

首先,飞桨依托于百度多年的深度学习技术研究和业务应用,是国内第一个自主研发、功能完备、并且向开发者全面开源开放的产业级深度学习平台。其次,飞桨提供了兼顾效率和性能的动态图模式;以及帮我们脱离算子的繁琐编译和集成,专注实现计算逻辑的自定义算子方案。接下来就为大家介绍下具体的实现方法,让大家感受一下。

2.1构建SeA

2.1.1 SeA算法结构

a.Embedding网络:要想让随机性的神经网络能准确描述物理体系,Embedding输出的Feature Matrix应该满足体系的物理对称性,包括平移、置换和旋转对称性。

因此,Embedding网络的构造基于以下两个数学原理:

  1. 矩阵

满足体系的所有平移和旋转对称性;

  1. 所有满足置换对称性的函数形式可以变换成如下形式:

,比如函数

对于任意标量函数都满足置换对称性。

基于以上两个原理,Feature Matrix的构造过程如上图:将weighting function矩阵输入Embedding网络(其中

),输出维矩阵,并取的前列得到。最后通过矩阵相乘构造Feature Matrix:

b.F‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍itting网络:将Embedding网络输出的Feature Matrix输入Fitting网络,输出i原子的局域能量。

2.1.2使用飞桨框架动态图来构建SeA

飞桨框架动态图使用了相比tensorflow 1.x更加灵活的可以支持更加贴近Python语法和执行逻辑的执行机制,使得算法实现可以按照顺序的执行逻辑来进行。

2.1.2.1构建能量模型:

我们只需要简单的继承 paddle.nn.Layer就可以使用飞桨框架内部的各类操作网络的方法,具体可以参见:

https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/fluid/dygraph/layers/Layer_cn.html#layer

在__init__方法中我们像使用python一样设置网络结构(包括层数和每层的维度)。

在forward()方法中我们就可以实现加权求和+激活函数

逻辑。

而深度学习中反向的计算逻辑飞桨框架的动态图此时已经使用autograd技术自动为我们完成了。我们只需要在整个网络完成后使用backward()方法即可执行反向网络。

飞桨框架2.0支持用户使用动态图完成深度学习相关领域全类别的模型算法开发。动态图模式,可以让开发者随时查看变量的输入、输出,方便快捷的调试程序,从而带来最佳的开发体验。为了解决动态图的部署问题,飞桨提供了全面完备的动转静支持,在Python语法支持覆盖度上达到领先水平。开发者在动态图编程调试的过程中,仅需添加一个装饰器paddle.jit.to_static,即可无缝平滑地自动实现静态图训练或模型保存。同时飞桨框架2.0还做到了模型存储和加载的接口统一,保证动转静之后保存的模型文件能够被纯动态图加载和使用。https://github.com/deepmodeling/deepmd-kit/tree/paddle

2.1.3使用飞桨框架自定义算子

我们使用飞桨框架的自定义算子方案来实现这种和深度势能领域强相关的计算单元。相比tensorflow 1.x当中需要实现一个内部算子,飞桨框架的自定义算子方案可以让我们更加专注于实现相关的计算逻辑,尽量脱离繁琐的编译算子和集成算子到框架的过程。

1.实现算子:飞桨框架的自定义算子方案中我们实现一个计算逻辑只需要像写一个函数一样将输入和计算逻辑作为函数的参数和执行逻辑加入即可。例如我们输入体系中原子坐标,找出给定截断距离cutoff内中心原子i的所有近邻j,并构造神经网络的输入矩阵descriptor:

具体的实现可以参考:

https://github.com/deepmodeling/deepmd-kit/tree/paddle/source/op/paddle_ops/srcs

2.编译算子:飞桨框架甚至支持jit的方式来编译算子使得我们可以使用简单的几行Python代码就可以完成算子的编译和集成。

使用飞桨框架自定义算子的介绍可以参见:

https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/new_custom_op.html

3.DoubleGrad的使用:训练模型所用的label包括力和维里应力,两者都要通过对能量关于坐标求导得出。加上back propagation,就对模型的输出值能量进行了两次求导。

在飞桨框架的动态图中可以简单的使用paddle.grad来实现。

https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/fluid/dygraph/base/grad_cn.html#grad

Paddle.grad可以自动实现对给定函数的求导。对于输入多个自变量x,并输出多个因变量y的函数,paddle.grad对每个x分别返回这个x对所有y的导数之和,也就是说返回值个数与x的个数相同。

2.2 最终效果

使用飞桨框架我们可以很完美的重现C++算法实现的能量关于坐标求导的功能,并且我们可以看到相关的实现精度也可以达到以下的效果:

其中,训练后模型计算能量和力的精度都与Tensorflow版本完全一致。

代码节选自:

https://github.com/deepmodeling/deepmd-kit/tree/paddle

未来展望

本次百度飞桨深度学习平台与DeePMD-kit的合作,将进一步提升双方的产品竞争力,不断完善产品能力矩阵。后续基于飞桨的DeePMD-kit软件包将在算法优化、高性能适配等方面持续迭代。欢迎飞桨社区与深度势能开源社区的开发者关注该项目,并为之贡献力量。

参考文献

[1] L Zhang, J Han, H Wang, R Car, W E, Deep potential molecular dynamics: a scalable model with the accuracy of quantum mechanics, Physical review letters 120 (14), 143001

[2] W Jia, H Wang, M Chen, D Lu, J Liu, L Lin, R Car, L Zhang, Pushing the limit of molecular dynamics with ab initio accuracy to 100 million atoms with machine learning, Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC '20), IEEE Press, Article 5, 1–14.

参考链接

DeePMD-kit项目地址:

https://github.com/deepmodeling/deepmd-kit

关于飞桨

飞桨以百度多年的深度学习技术研究和业务应用为基础,是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。目前,飞桨已凝聚超265万开发者,服务企业10万家,基于飞桨开源深度学习平台产生了 34万个模型。飞桨作为百度“AI大生产平台”的基础底座,以大规模分布式训练、全硬件平台支持、端到端全流程工具,助力企业和开发者加速AI生产。

当前在科学计算领域,飞桨联合各高校、科研机构和企业已为开发者建设支持了量子机器学习开发工具PaddleQuantum、生物计算开源工具集PaddleHelix和贝叶斯深度学习ZhuSuan。本次又在分子动力学研究领域新增DeePMD-kit。如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

·飞桨官网地址·

https://www.paddlepaddle.org.cn/

·飞桨开源框架项目地址·

GitHub: https://github.com/PaddlePaddle/Paddle

Gitee: https://gitee.com/paddlepaddle/Paddle

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个开源开放、技术领先、功能完备的产业级深度学习平台,包括飞桨开源平台和飞桨企业版。飞桨开源平台包含核心框架、基础模型库、端到端开发套件与工具组件,持续开源核心能力,为产业、学术、科研创新提供基础底座。飞桨企业版基于飞桨开源平台,针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。

END

本文分享自微信公众号 - PaddlePaddle(PaddleOpenSource)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 本周AI热点回顾:学者向Linux提交「恶意代码」,结果整个大学被封;Deepfake这次不换脸了,直接换了座城市

    让神经网络学习了如何解决偏微分方程是令人兴奋的,但还有很大的不足。一旦在一定的网格尺寸上进行训练,神经网络就变得非常特定于该分辨率。深度网络已经学会了预估将数据...

    用户1386409
  • 国内首个支持量子机器学习,520的「飞桨」再次全新升级!

    5月20日,在这个空气中弥漫中浓浓爱意的日子,又迎来了百度一年一度的“Wave Summit 2020”深度学习开发者峰会。本次大会由深度学习技术及应用国家工程...

    AI科技评论
  • 斩获23项冠军,日均调用破万亿!百度交出年度AI成绩单:语音语言领衔技术突破,国产自研成大趋势

    作为中国AI头雁,百度的成绩单不止代表巨头公司业绩,也代表了技术前沿现状和产业基本情况。

    量子位
  • AI开源的硬核战场:领军者百度如何亮剑?

    《西部世界》中的 AI 机器人引发了人们对于 AI 技术的惶恐——因为它描绘出了一个机器人拥有意识和意志的世界。埃隆·马斯克不止一次在公开场合重申了他对超级 A...

    用户1386409
  • OpenKS知识计算引擎发布,飞桨持续助力产学研智能化加速

    4月24日,浙江大学召开OpenKS(知目)知识计算引擎开源项目发布会,宣布浙大与合作单位研发的OpenKS知识计算引擎取得重大进展。中国工程院院士、国家新一代...

    用户1386409
  • 飞桨轻量化推理引擎再升級,新增适配国产AI芯片寒武纪思元

    近日,百度飞桨旗下高性能的轻量化推理引擎Paddle Lite,与国内AI芯片独角兽寒武纪旗下云端人工智能处理器芯片思元270正式完成兼容性适配,而思元220边...

    用户1386409
  • AI 界的黄埔军校 | 业界首批“首席AI架构师”毕业

    在传统产业“遭遇”智能时代,科技革新亟待深化的当下,“革新者”的队伍该如何壮大?

    用户1386409
  • 支持量子机器学习,王海峰发布最新百度飞桨全景图

    刚刚,WAVE SUMMIT 2020深度学习开发者峰会上,百度CTO王海峰开场即披露了一组飞桨数据:飞桨累计开发者数量已超过190万,服务企业数量达8.4万家...

    AI科技大本营
  • AI技术领跑、23个国际冠军、产业智能化全面落地,2019百度AI如何彰显核心竞争力

    截至 2019 年 10 月,中国人工智能专利申请量累计 44 万余件,已超越美国成为 AI 领域专利申请量最高的国家。

    机器之心

扫码关注云+社区

领取腾讯云代金券