本发明专利技术公开了一种基于访问模式和熵感知的ReRAM推荐系统加速器映射方法及系统,本发明专利技术在推荐系统映射之前,对推荐系统负载的数据集进行访问模式的采样分析,充分利用嵌入表的访问模式来聚类嵌入向量,利用嵌入表的熵值来对映射在ReRAM加速器上的嵌入表进行混合量化,使得ReRAM加速器在有限的交叉阵列资源上执行推荐系统模型,解决内存瓶颈问题,从而加速整个推理过程并降低推理能耗。速整个推理过程并降低推理能耗。速整个推理过程并降低推理能耗。
【技术实现步骤摘要】
基于访问模式和熵感知的ReRAM推荐系统加速器映射方法及系统
[0001]本专利技术属于计算机科学人工智能领域,尤其涉及解决推荐系统训练和推理过程中的内存瓶颈问题的基于访问模式和熵感知的ReRAM推荐系统加速器映射方法及系统。
技术介绍
[0002]推荐系统在社交网络、电子商务、搜索引擎等众多领域被广泛应用。基于深度学习解决方案的嵌入层式推荐系统模型能够很好地根据用户的偏好进行推荐,这类模型包括访存密集的嵌入层和计算密集的神经网络层。由于嵌入层的操作时间占据推荐系统整体推荐模型执行时间高达80%,因此该类模型在运行过程中面临严重的内存瓶颈,从而限制了整个推荐系统执行效率。
[0003]为了解决上述问题,新兴的基于ReRAM的存算一体加速器可以利用交叉阵列原位计算和高并行性来加速模型执行,并降低系统能耗。ReRAM的存算一体加速器的交叉阵列资源有限,无法直接对推荐系统巨大的嵌入层进行映射,而目前没有针对存算一体加速器设计的推荐系统嵌入层的压缩方案,如果不考虑交叉阵列硬件的配置参数和推荐系统负载中的访问模式和嵌入表的重要性直接进行聚类和量化,会使得存算一体加速器的资源利用率不高,而且无法满足推荐系统模型对准确率的极高需求。
技术实现思路
[0004]为了解决嵌入层主导的推荐系统模型在训练和推理过程中性能不高和能耗较大的问题,本专利技术提出了基于嵌入表访问模式和熵感知的高资源利用率的ReRAM推荐系统加速器映射方法及系统。
[0005]本专利技术采用的技术方案为:
[0006]一种基于访问模式和熵感知的ReRAM推荐系统加速器映射方法,包括:
[0007]采集推荐系统模型在训练过程中对每个嵌入表的嵌入向量的访问模式,获得嵌入向量的访问频率;
[0008]对每个嵌入表的嵌入向量进行聚类;同时记录嵌入表中所有嵌入向量与其聚类后的聚类中心的映射关系,获得聚类掩码映射表;其中,聚类时依据嵌入向量的访问频率设置权重,使访问频繁的嵌入向量具有更高成为聚类中心的概率;
[0009]将每个嵌入表中,聚类后的聚类中心嵌入向量及聚类掩码映射表映射到ReRAM推荐系统加速器的交叉阵列上,完成嵌入表的映射。
[0010]进一步地,还包括利用嵌入表的熵值和交叉阵列的配置决策映射时嵌入向量的量化位宽步骤:
[0011]根据交叉阵列的配置和嵌入表每个嵌入向量的特征维度计算每个嵌入表的量化位宽候选集中最小量化位数;
[0012]根据最小量化位数确定每个嵌入表的量化位宽候选集;
[0013]根据嵌入向量访问序列计算每个嵌入表的熵值,再根据每个嵌入表的量化位宽候选集及熵值确定每个嵌入表嵌入向量的量化位宽,其中,熵值越大,嵌入表嵌入向量的量化位宽越小。
[0014]进一步地,最小量化位数具体为:其中,xb是ReRAM加速器的交叉阵列大小,N为交叉阵列每个单元可以映射的比特位数,D为嵌入表的每个嵌入向量包含的隐藏特征维度。
[0015]进一步地,根据最小量化位数确定每个嵌入表的量化位宽候选集,具体为:如果最小量化位数不大于2,则量化位数候选集为{2,4,8};如果最小量化位数不大于4,则量化位数候选集为{4,8};否则量化位数候选集为{8}。
[0016]进一步地,还包括:
[0017]对聚类完成后的嵌入表通过重训练进行参数调优。
[0018]进一步地,聚类时,聚类中心的个数nc通过如下方法进行确定:
[0019]nc=ceil(m/r/xb)*xb
[0020]r表示聚类中心缩放系数,m是嵌入表的嵌入向量条数,xb是ReRAM加速器的交叉阵列大小,ceil()是向上取整函数。
[0021]一种基于访问模式和熵感知的ReRAM推荐系统加速器映射系统,包括:
[0022]采样分析模块,用于采集推荐系统模型在训练过程中对每个嵌入表的嵌入向量的访问模式,获得嵌入向量的访问频率;
[0023]聚类模块,对每个嵌入表的嵌入向量进行聚类;同时记录嵌入表中所有嵌入向量与其聚类后的聚类中心的映射关系,获得聚类掩码映射表;其中,聚类时依据嵌入向量的访问频率设置权重,使访问频繁的嵌入向量具有更高成为聚类中心的概率;
[0024]ReRAM映射数据流模块,用于将每个嵌入表中,聚类后的聚类中心嵌入向量及聚类掩码映射表映射到ReRAM推荐系统加速器的交叉阵列上,完成嵌入表的映射。
[0025]进一步地,还包括熵感知量化模块,用于利用嵌入表的熵值和交叉阵列的配置决策映射时嵌入向量的量化位宽。
[0026]本专利技术的有益效果是:本专利技术在推荐系统映射之前,对推荐系统负载的数据集进行访问模式的采样分析,充分利用嵌入表的访问模式来聚类嵌入向量,利用嵌入表的熵值来对映射在ReRAM加速器上的嵌入表进行混合量化,使得ReRAM加速器在有限的交叉阵列资源上执行推荐系统模型,解决内存瓶颈问题,从而加速整个推理过程并降低推理能耗。
附图说明
[0027]图1(a)(b)为Kaggle数据集上嵌入向量访问模式采样图
[0028]图2整体组件流程图。
具体实施方式
[0029]本专利技术提出了一种基于访问模式和熵感知的ReRAM推荐系统加速器映射方法,包括:
[0030]采集推荐系统模型在训练过程中对每个嵌入表的嵌入向量的访问模式,获得嵌入
向量的访问频率;
[0031]对每个嵌入表的嵌入向量进行聚类;同时记录嵌入表中所有嵌入向量与其聚类后的聚类中心的映射关系,获得聚类掩码映射表;其中,聚类时依据嵌入向量的访问频率设置权重,使访问频繁的嵌入向量具有更高成为聚类中心的概率;
[0032]将每个嵌入表中,聚类后的聚类中心嵌入向量及聚类掩码映射表映射到ReRAM推荐系统加速器的交叉阵列上,完成嵌入表的映射。
[0033]本专利技术充分利用了推荐系统模型中每个嵌入表中的嵌入向量的访问模式具有非常明显的“长尾现象”,如图1所示,即绝大多数的访问主要集中于极少数的嵌入向量,充分利用嵌入表的访问模式来聚类嵌入向量,并将聚类后的聚类中心嵌入向量及聚类掩码映射表映射到加速器上,使得ReRAM加速器在有限的交叉阵列资源上执行推荐系统模型,解决内存瓶颈问题,从而加速整个推理过程并降低推理能耗。
[0034]其中,聚类时,聚类中心的个数nc要满足ReRAM加速器内存要求,具体通过如下方法进行确定:
[0035]nc=ceil(m/r/xb)*xb
[0036]r表示聚类中心缩放系数,m是嵌入表的嵌入向量条数,xb是ReRAM加速器的交叉阵列大小,ceil()是向上取整函数。
[0037]进一步地,如表1所示,推荐系统模型中每个嵌入表的访问序列的熵值越大,其对精度的影响越小,即可以用更少的量化位宽进行量化。本专利技术方法还包括利用嵌入表的熵值和交叉阵列的配置决策映射时嵌入向量的量化位宽步骤:根据交叉阵列的配置和嵌入表每个嵌入向量的特征维度计算每个嵌入表的量化位宽候选集中最小量化位数;...
【技术保护点】
【技术特征摘要】
1.一种基于访问模式和熵感知的ReRAM推荐系统加速器映射方法,其特征在于,包括:采集推荐系统模型在训练过程中对每个嵌入表的嵌入向量的访问模式,获得嵌入向量的访问频率;对每个嵌入表的嵌入向量进行聚类;同时记录嵌入表中所有嵌入向量与其聚类后的聚类中心的映射关系,获得聚类掩码映射表;其中,聚类时依据嵌入向量的访问频率设置权重,使访问频繁的嵌入向量具有更高成为聚类中心的概率;将每个嵌入表中,聚类后的聚类中心嵌入向量及聚类掩码映射表映射到ReRAM推荐系统加速器的交叉阵列上,完成嵌入表的映射。2.根据权利要求1所述的方法,其特征在于,还包括利用嵌入表的熵值和交叉阵列的配置决策映射时嵌入向量的量化位宽步骤:根据交叉阵列的配置和嵌入表每个嵌入向量的特征维度计算每个嵌入表的量化位宽候选集中最小量化位数;根据最小量化位数确定每个嵌入表的量化位宽候选集;根据嵌入向量的访问频率计算每个嵌入表的熵值,再根据每个嵌入表的量化位宽候选集及熵值确定每个嵌入表嵌入向量的量化位宽,其中,熵值越大,嵌入表嵌入向量的量化位宽越小。3.根据权利要求1所述的方法,其特征在于,最小量化位数具体为:其中,xb是ReRAM加速器的交叉阵列大小,N为交叉阵列每个单元可以映射的比特位数,D为嵌入表的每个嵌入向量包含的隐藏特征维度。4.根据权利要求1所述的方法,其特征在于,根据最小量化位数确定每个嵌入表的量化位宽候选集,具...
【专利技术属性】
技术研发人员:何水兵,杨斯凌,陈伟剑,陈平,段和霄,秦亦,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。