当前位置: 首页 > 专利查询>湖南大学专利>正文

一种基于神经网络的分子动力学计算芯片设计方法及系统技术方案

技术编号:33794759 阅读:16 留言:0更新日期:2022-06-12 14:56
本发明专利技术涉及人工智能和集成电路设计领域,公开了一种基于神经网络的分子动力学计算芯片设计方法及系统。本发明专利技术首先生成训练深度神经网络所需的体系特征数据集;接着训练一个深度神经网络模型来精确拟合原子间受力;将训练好的模型部署到非冯诺依曼架构的芯片中,既能保证预测原子受力的精度又加速了分子动力学计算;然后搭建一个分子动力学计算系统;进行分子动力学计算并保存每一步的原子轨迹,利用原子轨迹信息计算体系的其他宏观性质,具有计算精度高、计算速度快等特点。计算速度快等特点。计算速度快等特点。

【技术实现步骤摘要】
一种基于神经网络的分子动力学计算芯片设计方法及系统


[0001]本专利技术涉及人工智能和集成电路设计领域,提供一种基于神经网络的分子动力学计算芯片设计方法及系统,用以加速分子动力学计算。

技术介绍

[0002]计算材料学是近年来飞速发展的一门新兴交叉学科,它涉及凝聚态物理学、材料物理学、理论化学、材料力学和工程力学、计算机算法等多个相关学科。其中分子动力学计算就是不可或缺的一部分。分子动力学是一套分子模拟方法,该方法主要是依靠牛顿力学来模拟分子体系的运动。分子动力学模拟将体系中每一个原子视为遵守牛顿第二定律的基本粒子,根据分子的势能函数得到作用在每一个原子上的力,在给定初始化条件和时间步长的前提下,利用牛顿第二定律求解运动方程便可得到原子在势能面上运动的轨迹。以分子动力学模拟计算的结果为基础可以进一步分析体系热力学性质及其他宏观性质。分子动力学模拟已成为物理学、化学、材料科学及制药方面研究必不可少的工具,且常应用于模拟原子的扩散、相变、薄膜生长和表面缺陷等过程。
[0003]经典的计算分子动力学的方法有:基于经验力场和基于第一性原理的方法。前者的模拟规模可达百亿原子,但精度受限,难以应对复杂体系模拟,开发周期长;后者基于密度泛函理论(Density Functional Theory,DFT),具有量子力学的精度,但所利用的函数关系复杂,计算量大,计算速度缓慢。近些年来随着人工智能技术的飞速发展,一种基于深度学习模型的分子动力学模拟方法被研究,此方法同时具有经验力场效率和DFT精度。
[0004]在分子动力学模拟计算的研究领域中,一般使用中央处理器(Central Processing Unit,CPU)和图形处理器(Graphics Processing Unit,GPU)进行分子动力学计算。目前CPU、GPU等主流芯片采用计算与存储相分离的“存算分离”芯片架构(“冯诺依曼”架构),存在“存储墙”瓶颈,大量的运算资源和时间被消耗在了CPU、GPU与存储器之间频繁的数据交互中,严重制约了人工智能算力的提升。

技术实现思路

[0005]为了克服现有技术的不足,本专利技术提供了一种基于神经网络的分子动力学计算芯片设计方法及系统来加速分子动力学模拟计算。目的是将能精确拟合原子间受力的深度神经网络模型部署到非冯诺依曼架构的硬件中,包括但不限于FPGA(FieldProgrammable GateArray)、ASIC(Application Specific Integrated Circuit)等,从而加速牛顿运动方程的求解,提升微观原子尺度运动的计算速度。该方法包括以下几个步骤:
[0006]步骤S1,生成训练深度神经网络所需的体系特征数据集。用DFT软件进行分子动力学计算,采样得到原子坐标r和原子受力F。对原子坐标进行特征提取,得到特征d。
[0007]步骤S2,训练一个神经网络模型来精确拟合原子间受力。数据集由S1步骤得到的特征d和受力F组成,记为X,神经网络的输入是特征d。将数据集X划分为训练集X1和测试集X2,通过训练得到一个网络模型M来精确拟合S1步骤中原子的受力,如下式所示:
[0008]Y=M(d)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0009]其中,网络的输出Y是拟合的原子受力;模型拟合受力的均方根误差rmse由下式定义:
[0010]rmse=||Y

F||2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0011]网络模型M是一个多层感知机(Multi

Layer Perceptron,MLP),其中每一层网络的计算可表示为:
[0012]y
i
=f(y
i
‑1·
w
i
+b
i
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0013]其中,y
i
表示第i层的输出;y
i
‑1表示第i层的输入(也指第i

1层的输出);w
i
是第i层的权重;b
i
是第i层的偏置;f代表非线性激活函数。在训练过程中,将w
i
和b
i
量化成wq
i
和bq
i
,wq
i
和bq
i
矩阵中元素的小数位被量化为n位,量化公式如下:
[0014]wq
i
=round(w
i
×2n
)/2
n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0015]bq
i
=round(b
i
×2n
)/2
n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0016]其中,round代表四舍五入取整,量化后的每一层网络推理过程可表示为:
[0017]y
i
=f(y
i
‑1·
wq
i
+bq
i
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0018]步骤S3,将训练完成的网络模型M部署到基于非冯诺依曼架构的芯片(包括,但不限于,FPGA、ASIC等)中。芯片前端设计采用Verilog语言,所有的网络模型参数(权值w和偏置b)存放在分布式的寄存器中,预测过程中网络计算的每一步中间结果都存在寄存器中,整个计算过程采用流水线的方式。
[0019]步骤S4,进行芯片的后端设计,并进行功能验证、时序验证等。
[0020]步骤S5,搭建一个分子动力学计算系统对流片结果进行功能测试。该系统中,负责网络预测过程的是基于非冯诺依曼架构的硬件(包括,但不限于,FPGA、ASIC等),记为H1;负责步骤S1的求特征计算和分子动力学积分计算的是基于冯诺依曼架构的硬件(包括,但不限于,CPU、GPU等)或非冯诺依曼架构的硬件(包括,但不限于,FPGA、ASIC等),记为H2。
[0021]由H2根据当前时刻的原子位置信息求取特征如步骤S1所述;将特征输入至H1,通过网络模型预测原子受力,如式(1)所示;将受力输入至H2,根据牛顿运动定律积分计算得到下一步位置信息。积分算法基于牛顿第二运动定律,采用(但不限于)有限差分法,将连续的积分拆分成很多小步进行,每一个积分时间步长为dt,根据网络拟合的原子当前时刻的受力Y(t)求解更新原子下一时刻的位置坐标r(t+dt),如下式:
[0022][0023]r(t+dt)=r(t)+v(t)
×
dt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0024]其中,v(t

dt)为上一时刻的原子速度;v(t)为当前时刻的原子速度;m为中心原子的质量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络的分子动力学计算芯片设计方法及系统。其特征在于,包括以下步骤:步骤S1,生成训练深度神经网络所需的体系特征数据集。用DFT软件进行分子动力学计算,采样得到原子坐标r和原子受力F。对原子坐标进行特征提取,得到特征d。步骤S2,训练一个神经网络模型来精确拟合原子间受力。数据集由S1步骤得到的特征d和受力F组成,记为X,神经网络的输入是特征d。将数据集X划分为训练集X1和测试集X2,通过训练得到一个网络模型M来精确拟合S1步骤中原子的受力,如下式所示:Y=M(d)
ꢀꢀꢀꢀ
(1)其中,网络的输出Y是拟合的原子受力;模型拟合受力的均方根误差rmse由下式定义:rmse=||Y

F||2ꢀꢀꢀꢀ
(2)网络模型M是一个多层感知机(Multi

Layer Perceptron,MLP),其中每一层网络的计算可表示为:y
i
=f(y
i
‑1·
w
i
+b
i
)
ꢀꢀꢀꢀ
(3)其中,y
i
表示第i层的输出;y
i
‑1表示第i层的输入(也指第i

1层的输出);w
i
是第i层的权重;b
i
是第i层的偏置;f代表非线性激活函数。在训练过程中,将w
i
和b
i
量化成wq
i
和bq
i
,wq
i
和bq
i
矩阵中元素的小数位被量化为n位,量化公式如下:wq
i
=round(w
i
×2n
)/2
n
ꢀꢀꢀꢀ
(4)bq
i
=round(b
i
×2n
)/2
n
ꢀꢀꢀꢀ
(5)其中round代表四舍五入取整,量化后的每一层网络推理过程可表示为:y
i
=f(y
i
‑1·
wq
i
+bq
i
)
ꢀꢀꢀꢀ
(6)步骤S3,将训练完成的网络模型M应用到数字芯片中。芯片前端设计采用Verilog语言,硬件架构采用非冯诺依曼架构。步骤S4,进行芯片的后端设计,并进行功能验证、时序验证和物理版...

【专利技术属性】
技术研发人员:刘杰谭紫凌赵卓影廖天骄莫平辉赵丹王潇男
申请(专利权)人:湖南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1