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

面向存算一体架构的软硬件联合搜索方法、装置及设备制造方法及图纸

技术编号:35468020 阅读:25 留言:0更新日期:2022-11-05 16:12
本申请涉及软硬件联合设计技术领域,特别涉及一种面向存算一体架构的软硬件联合搜索方法、装置及设备,其中,方法包括:获取存算一体架构的多组设计参数和每组设计参数的所有可能取值,并对所有可能取值进行组合,生成软硬件联合设计空间;在搜索开始时,构造种群,并采用多轮迭代的方式对联合设计空间进行搜索,得到满足待优化目标的候选设计参数,基于候选设计参数对种群进行更新,并利用种群中每个候选设计参数的优先级裁剪联合设计空间,且在裁剪后的联合设计空间中,搜索满足待优化目标的目标设计参数,并基于目标设计参数生成目标网络模型和目标硬件架构。由此,能够实现对于网络模型和硬件架构的联合高效设计,避免了繁琐的手工优化。的手工优化。的手工优化。

【技术实现步骤摘要】
面向存算一体架构的软硬件联合搜索方法、装置及设备


[0001]本申请涉及软硬件联合设计
,特别涉及一种面向存算一体架构的软硬件联合搜索方法、装置及设备。

技术介绍

[0002]为了实现神经网络算法模型和存算一体硬件架构的联合设计,相关技术中提出了面向存算一体架构的神经网络结构搜索(NAS)框架,典型方法包括NAS4RRAM和NACIM。
[0003]其中,(1)NAS4RRAM在限定数量的硬件资源约束下,采用进化算法,搜索能够满足部署资源约束要求的,准确率最优的神经网络算法模型和存算一体硬件架构;同时,为了能够模拟存算一体硬件架构在计算过程中无法避免的误差,NAS4RRAM采用在权重上引入随机误差来进行模拟。(2)NACIM面向网络模型、量化方法、电路结构、器件参数等设计参数,以准确率、延时、能耗、面积等作为优化目标,利用强化学习(RL)的方法进行联合设计。对于存算一体硬件架构的误差,NACIM通过对误差进行数学建模的方式来进行模拟。NACIM的后续工作UAE通过更恰当的数学建模,能够取得相较于NACIM更高的准确率。
[0004]然而,对于NAS4RRAM,该方法仅支持单比特权重,单比特权重在实际应用中会面临着较大的准确率损失;同时NAS4RRAM的联合搜索仅涉及到对于量化位宽的搜索,而对于和硬件架构设计的其他参数,例如阵列尺寸、阵列排布方式等没有涉及。NACIM和UAE 这一系列工作采用强化学习的方式进行联合设计空间的搜索,搜索时间较长,为了能够在硬件上取得较高的准确率,需要采用多组建模联合对存算一体架构的误差进行模拟,进一步加剧了搜索耗时;UAE中的结果表明,仅搜索5层神经网络算法模型,在GPU上的搜索时间就达到了255小时。

技术实现思路

[0005]本申请提供一种面向存算一体架构的软硬件联合搜索方法、装置、电子设备及存储介质,能够实现对于网络模型和硬件架构的联合高效设计,避免了繁琐的手工优化。
[0006]本申请第一方面实施例提供一种面向存算一体架构的软硬件联合搜索方法,包括以下步骤:获取存算一体架构的网络模型和硬件架构的多组设计参数;获取每组设计参数的所有可能取值,并对所述每组设计参数的所有可能取值进行组合,生成软硬件联合设计空间;在搜索开始时,构造种群,并采用多轮迭代的方式对所述联合设计空间进行搜索,得到满足待优化目标的候选设计参数,基于所述候选设计参数对所述种群进行更新,并利用所述种群中每个候选设计参数的优先级裁剪所述联合设计空间,且在裁剪后的联合设计空间中,搜索满足所述待优化目标的目标设计参数,并基于所述目标设计参数生成目标网络模型和目标硬件架构。
[0007]进一步地,所述采用多轮迭代的方式对所述联合设计空间进行搜索,得到满足待优化目标的候选设计参数,基于所述候选设计参数对所述种群进行更新,并利用所述种群中每个候选设计参数的优先级裁剪所述联合设计空间,包括:将所述软硬件联合设计空间
解构为所有设计参数取值的笛卡尔积,并基于所述所有设计参数取值的笛卡尔积构成原始搜索空间;从所述原始搜索空间采样得到多个候选点,从所述多个候选点中筛选出满足目标条件的多个父候选点,其中,所述候选点对应一组设计参数;对所述父候选点进行差分准确率预测,得到所述候选设计参数;根据所述候选设计参数的取值分布更新所述种群中候选设计参数的优先级,并从更新后的种群中筛选满足目标优先级的候选设计参数,并变异为子候选点,基于所述多个子候选点从所述原始搜索空间中裁剪出目标搜索空间。
[0008]进一步地,所述对所述父候选点进行差分准确率预测,以实现所述父候选点的性能评估,得到所述候选设计参数,包括:对所有父候选点对应的设计参数进行词编码,将设计参数的取值映射到归一化的向量上;将和设计参数取值相关的特征进行不同层级特征转换,并利用循环神经网络进行特征提取,按照所述联合设计空间中块的前后顺序进行编码,以与所述循环神经网络中的时间维度相对应;建立特征和待评估性能指标之间的映射关系,基于所述映射关系对所述待评估性能指标按照出现的范围进行归一化处理,并采用多层感知机进行数学建模和拟合,以得到所述候选设计参数。
[0009]进一步地,所述根据所述候选设计参数的取值分布更新所述种群中候选设计参数的优先级,包括:根据所述候选设计参数的取值分布计算所述候选设计参数的熵,其中,所述熵用于标识所述优先级;根据每个候选设计参数的熵更新所述种群中候选设计参数的优先级
[0010]进一步地,所述获取存算一体架构的网络模型和硬件架构的多组设计参数,包括:基于超网技术获取所述网络模型的设计参数,其中,所述设计参数包括基于所述超网中每个阶段的块数量构成的网络深度层次设计参数、对所述网络模型的权重和激活数据进行量化得到量化位宽层次设计参数和对所述网络模型的权重和激活数据进行量化得到量化位宽层次设计参数;根据对所述网络模型的准确率和性能的影响等级获取所述硬件架构设计参数。
[0011]进一步地,在生成软硬件联合设计空间之后,还包括:通过超网技术建立所述生成软硬件联合设计空间中不同候选点之间的对应关系,并通过权重共享技术实现所有候选点之间的参数共享,其中,所述候选点对应一组设计参数。
[0012]本申请第二方面实施例提供一种面向存算一体架构的软硬件联合搜索装置,包括:获取模块,用于获取存算一体架构的网络模型和硬件架构的多组设计参数;生成模块,用于获取每组设计参数的所有可能取值,并对所述每组设计参数的所有可能取值进行组合,生成软硬件联合设计空间;搜索模块,用于在搜索开始时,构造种群,并采用多轮迭代的方式对所述联合设计空间进行搜索,得到满足待优化目标的候选设计参数,基于所述候选设计参数对所述种群进行更新,并利用所述种群中每个候选设计参数的优先级裁剪所述联合设计空间,且在裁剪后的联合设计空间中,搜索满足所述待优化目标的目标设计参数,并基于所述目标设计参数生成目标网络模型和目标硬件架构。
[0013]进一步地,所述搜索模块用于:将所述软硬件联合设计空间解构为所有设计参数取值的笛卡尔积,并基于所述所有设计参数取值的笛卡尔积构成原始搜索空间;从所述原始搜索空间采样得到多个候选点,从所述多个候选点中筛选出满足目标条件的多个父候选点,其中,所述候选点对应一组设计参数;对所述父候选点进行差分准确率预测,得到所述候选设计参数;根据所述候选设计参数的取值分布更新所述种群中候选设计参数的优先
级,并从更新后的种群中筛选满足目标优先级的候选设计参数,并变异为子候选点,基于所述多个子候选点从所述原始搜索空间中裁剪出目标搜索空间。
[0014]进一步地,所述搜索模块进一步用于:对所有父候选点对应的设计参数进行词编码,将设计参数的取值映射到归一化的向量上;将和设计参数取值相关的特征进行不同层级特征转换,并利用循环神经网络进行特征提取,按照所述联合设计空间中块的前后顺序进行编码,以与所述循环神经网络中的时间维度相对应;建立特征和待评估性能指标之间的映射关系,基于所述映射关系对所述待评估性能指标按照出现的范围进行归一化处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向存算一体架构的软硬件联合搜索方法,其特征在于,包括以下步骤:获取存算一体架构的网络模型和硬件架构的多组设计参数;获取每组设计参数的所有可能取值,并对所述每组设计参数的所有可能取值进行组合,生成软硬件联合设计空间;以及在搜索开始时,构造种群,并采用多轮迭代的方式对所述联合设计空间进行搜索,得到满足待优化目标的候选设计参数,基于所述候选设计参数对所述种群进行更新,并利用所述种群中每个候选设计参数的优先级裁剪所述联合设计空间,且在裁剪后的联合设计空间中,搜索满足所述待优化目标的目标设计参数,并基于所述目标设计参数生成目标网络模型和目标硬件架构。2.根据权利要求1所述的方法,其特征在于,所述采用多轮迭代的方式对所述联合设计空间进行搜索,得到满足待优化目标的候选设计参数,基于所述候选设计参数对所述种群进行更新,并利用所述种群中每个候选设计参数的优先级裁剪所述联合设计空间,包括:将所述软硬件联合设计空间解构为所有设计参数取值的笛卡尔积,并基于所述所有设计参数取值的笛卡尔积构成原始搜索空间;从所述原始搜索空间采样得到多个候选点,从所述多个候选点中筛选出满足目标条件的多个父候选点,其中,所述候选点对应一组设计参数;对所述父候选点进行差分准确率预测,得到所述候选设计参数;根据所述候选设计参数的取值分布更新所述种群中候选设计参数的优先级,并从更新后的种群中筛选满足目标优先级的候选设计参数,并变异为子候选点,基于所述多个子候选点从所述原始搜索空间中裁剪出目标搜索空间。3.根据权利要求2所述的方法,其特征在于,所述对所述父候选点进行差分准确率预测,以实现所述父候选点的性能评估,得到所述候选设计参数,包括:对所有父候选点对应的设计参数进行词编码,将设计参数的取值映射到归一化的向量上;将和设计参数取值相关的特征进行不同层级特征转换,并利用循环神经网络进行特征提取,按照所述联合设计空间中块的前后顺序进行编码,以与所述循环神经网络中的时间维度相对应;建立特征和待评估性能指标之间的映射关系,基于所述映射关系对所述待评估性能指标按照出现的范围进行归一化处理,并采用多层感知机进行数学建模和拟合,以得到所述候选设计参数。4.根据权利要求2所述的方法,其特征在于,所述根据所述候选设计参数的取值分布更新所述种群中候选设计参数的优先级,包括:根据所述候选设计参数的取值分布计算所述候选设计参数的熵,其中,所述熵用于标识所述优先级;根据每个候选设计参数的熵更新所述种群中候选设计参数的优先级。5.根据权利要求1所述的方法,其特征在于,所述获取存算一体架构的网络模型和硬件架构的多组设计参数,包括:基于超网技术获取所述网络模型的设计参数,其中,所述设计参数包括基于所述超网中每个阶段的块数量构成的网络深度层次设计参数、对所述网络模型的权重和激活数据进
行量化得到量化位宽层次设计参数和对所述网络模型的权重和激活数据进行量化得到量化位宽层次设计参数;根据对所述网络模型的准确率和性能的影响等级获取所述硬件架构设计参数。6.根据权利要求1

6任意一项所述的方法,其特征在于,在生成软硬件联合设计空间之后,还包括:通过超网技术建立所述生成软硬件联合设计空间中不同候选点之间的对应关系,并通过权重共享技术实现所有候选点之间的参数共享,其中,所述候选点对应一组设计参数。7.一种面向存算一体架构的软硬件联合搜索装置,其特征在于,包括:获取模块,用...

【专利技术属性】
技术研发人员:汪玉孙寒泊朱振华宁雪妃
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1