[发明专利]基于异构平台执行深度神经网络的系统及方法有效

专利信息
申请号: 202011305477.2 申请日: 2020-11-20
公开(公告)号: CN112381211B 公开(公告)日: 2023-04-28
发明(设计)人: 王泉;杨鹏飞;张诚;王振翼;杨柳 申请(专利权)人: 西安电子科技大学
主分类号: G06N3/0464 分类号: G06N3/0464;G06N3/08;G06N3/063
代理公司: 陕西电子工业专利中心 61205 代理人: 陈宏社;杨春岗
地址: 710071*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 平台 执行 深度 神经网络 系统 方法
【权利要求书】:

1.一种基于异构平台执行深度神经网络的系统,包括模型解析模块、分析模块、平台检测模块、任务分配模块和推理模块,其特征在于,所述平台检测模块、任务分配模块和推理模块是通过包含R个异构计算单元的异构平台O实现的,R≥1,其中:

所述模型解析模块,用于对基于Caffe训练的DNN模型进行序列化解析,通过读取prototxt文件中每个网络层的参数和模型的网络结构,得到包含算子的描述文件M和包含算子间数据流向关系的描述文件M',将得到的包含N个算子的描述文件M和包含N'个算子间数据流向关系的描述文件M'发送至分析模块,同时对M中的N个算子进行遍历,并将遍历得到的N个算子的属性参数发送至任务分配模块;

所述分析模块,用于构建用于存储N个算子的结构体集合G和用于存储N'个算子间数据流向关系的结构体集合G',将M存储到G中,将M'存储到G'中,然后通过G和G'构建计算图,并将计算图发送至推理模块;

所述平台检测模块,用于检测异构平台O包含的R个异构计算单元的硬件参数,并将检测结果发送至任务分配模块;

所述任务分配模块,包括参数处理模块和任务预测模块;所述参数处理模块,用于对N个算子的属性参数与R个异构计算单元的硬件参数进行合并,同时对每个算子与每个异构计算单元进行组合,并将合并及组合结果发送至任务预测模块;所述任务预测模块,用于对合并结果进行扩充,然后根据扩充、合并及组合结果生成最优任务分配策略A',并将A'发送至推理模块;

所述推理模块,用于根据最优任务分配策略A'将计算图中的G中存储的M和G'中存储M'发送到异构平台O的R个异构计算单元上,通过每个异构计算单元执行接收到的算子并根据算子间数据流向关系进行计算。

2.一种基于异构平台执行深度神经网络的方法,其特征在于,包括以下步骤:

(1)模型解析模块对DNN模型进行解析:

(1a)模型解析模块采用protobuf库对基于深度学习训练的深度神经网络DNN模型进行序列化解析,得到包含N个算子的描述文件M={Mn|1≤n≤N}和包含N'个算子间数据流向关系的描述文件M'={M'uv|u,v∈[1,N]},并将M和M'发送至分析模块,其中,DNN模型包括Nconv个卷积算子、Npool个池化算子和Nfc个全连接算子,Nconv≥1,Npool≥1,Nfc≥1,Nconv+Npool+Nfc=N,Mn表示第n个算子,M'uv表示任意两个算子之间的数据流向关系;

(1b)模型解析模块对描述文件M中的N个算子进行遍历,得到N个算子的属性参数S,包括每个卷积算子的属性参数Sconv={C1,C2,C3}、每个池化算子的属性参数Spool={P1,P2}和每个全连接算子的属性参数Sfc={F1,F2},并将S发送到任务分配模块,其中,C1、C2和C3分别表示卷积核的大小、卷积层的通道数和卷积步长,P1和P2分别表示池化层的尺寸和步长,F1和F2分别表示全连接层的长度和宽度;

(2)分析模块构建计算图:

分析模块构建用于存储N个算子的结构体集合G={Gn|1≤n≤N}和用于存储N'个算子间的数据流向关系的结构体集合G'={G'uv|u,v∈[1,N]},并将每个算子Mn存储到对应的结构体Gn中,将算子间的数据流向关系M'uv存储到对应的结构体G'uv中,同时以每个Gn为节点,以每个G'uv为边构建有向无环的计算图,并将计算图发送至推理模块,其中,Gn表示储存第n个算子的结构体,G'uv表示储存M'uv对应数据流向关系的结构体;

(3)平台检测模块检测异构平台O中的异构计算单元的硬件参数:

平台检测模块对异构平台O={Or|1≤r≤R}中的每个异构计算单元Or包括芯片核心数目、芯片架构和主频的硬件参数进行检测,得到硬件参数集合D={Dr|1≤r≤R},并将D发送至任务分配模块,其中,Or表示第r个异构计算单元,Dr表示第r个异构计算单元Or对应的硬件参数;

(4)任务分配模块构建任务分配策略并进行优化:

(4a)参数处理模块对解析模块发送的N个算子的属性参数S和平台检测模块发送的D进行合并,得到参数集合S'={S,D},同时对每个算子Mn与每个异构计算单元Or进行组合,并将组合得到的N×R个组合体作为任务分配策略A={Arn|1≤r≤R,1≤n≤N},然后将参数集合S'和分配策略A发送至任务预测模块,其中,Arn表示第n个算子Mn和第r个异构计算单元Or形成的组合体对应的任务分配策略;

(4b)任务预测模块按照算子运算规则,对参数集合S'={S,D}所包含的属性参数S添加H组属性参数值,实现对S'的扩充,得到扩充后的参数集合S*={{S,D},{S1,D},…,{Sh,D},…,{SH,D}},其中,H≥100,Sh表示扩充的第h组属性参数值;

(4c)任务预测模块将扩充后的参数集合S*和分配策略A作为基于深度Q网络的预测模型的输入进行训练,得到训练好的预测模型,并将参数集合S'和分配策略A作为训练好的预测模型的输入进行预测,得到最优任务分配策略A'={A'rn|1≤r≤R,1≤n≤N},然后将A'发送至推理模块,其中,A'rn表示Arn对应的最优任务分配策略;

(5)推理模块对计算图进行推理:

推理模块根据最优任务分配策略A'将计算图中每个Gn中存储的算子Mn和每个G'uv中存储的算子间的数据流向关系M'uv发送到异构平台O中的异构计算单元Or,并通过每个异构计算单元Or执行接收到的Mn,同时根据M'uv对算子间流动的数据进行计算,得到执行深度神经网络的结果。

3.根据权利要求2所述的基于异构平台执行深度神经网络的方法,其特征在于,步骤(4c)中所述的最优任务分配策略A',其获取步骤为:

(4c1)任务预测模块构建包括依次级联的输入层、隐藏层和输出层的深度Q网络的预测模型,其中,输入层包括η个神经元,输入向量为X={xii=1,2,…,η},xi表示输入层第i个神经元的输入值,η≥5,隐藏层包括l个神经元,输出向量为Y={yjj=1,2,…,l},yj表示隐藏层第j个神经元的输出值,l≥10,输出层包括m个神经元,输出向量为Z={zkk=1,2,…,m},zk表示输出层第k个神经元的输出值,m≥1,输入层到隐藏层的权值矩阵为W1={wiji=1,2,…,η,j=1,2,…,l},wij表示输入层第i个神经元到隐藏层第j个神经元的权值,隐藏层到输出层的权值矩阵为W2={wjkj=1,2,…,l,k=1,2,…,m},wjk表示隐藏层第j个神经元到输出层第k个神经元的权重,其中:

其中,netj表示隐藏层第j个神经元的输入值,netk表示输出层第k个神经元的输入值,θj表示输出层第j个神经元的输出阈值,θk表示隐藏层第k个神经元的输出阈值,θjk∈(0,1);

(4c2)任务预测模块初始化迭代次数为t,最大迭代次数为T,T≥1000,并令t=1;

(4c3)任务预测模块在参数集合S*中随机选取一组参数st={Sh,D}作为状态空间,同时将分配策略集合A中随机选取的m个分配策略{akk=1,2,…,m}作为行为空间;

(4c4)任务预测模块将st和ak作为深度Q网络的输入对ak的价值进行预测,得到价值集合Q={Q(st,ak)k=1,2,…,m},并将其中数值最大的价值作为最高价值Q*,其中,Q(st,ak)表示状态空间为st时ak的价值;

(4c5)任务预测模块采用TD时序差分算法,并通过Q*对Q(st,ak)进行更新,更新公式为:

Q(st,ak)'=Q(st,ak)+λ(r(st,ak)+γQ*-Q(st,ak))

其中,Q(st,ak)'表示Q(st,ak)的更新结果,r(st,ak)表示Q(st,ak)的报酬值,λ表示学习因子,γ表示折扣系数,λ,γ∈[0,1];

(4c6)任务预测模块采用梯度下降法,同时根据Q(st,ak)'对深度Q网络各层间的权值矩阵进行更新,更新公式为;

w'jk=wjk+αδkzk

w'ij=wij+αδjyj

δk=yj(1-yj)(Q(st,ak)'-zk)

其中,w'jk表示wjk更新后的权值,w'ij表示wij更新后的权值,δk表示输出层第k个神经元的误差,δj表示隐藏层第j个神经元的误差,α表示学习速率,α∈[0,1];

(4c7)任务预测模块判断t=T是否成立,若是,得到训练好的预测模型,然后执行步骤(4c8),否则,令t=t+1,并执行步骤(4c3);

(4c8)任务预测模块将S'和A作为训练好的预测模型的输入进行预测,得到价值集合Q={Q(st,arn)1≤r≤R,1≤n≤N},通过选取Q中的每一列价值{Q(st,a1n),Q(st,a2n),…,Q(st,arn),…,Q(st,aRn)}中的数值最大的价值,得到N个最大值,并将N个最大值对应的N个分配策略{arn1≤r≤R,1≤n≤N}作为最优任务分配策略A'。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011305477.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top