一种量化方法、推荐方法以及装置制造方法及图纸

技术编号:37333332 阅读:9 留言:0更新日期:2023-04-21 23:11
本申请提供一种量化方法、推荐方法以及装置,用于基于自适应步长对全精度嵌入表征中每种特征进行量化,从而提高量化精度。该方法包括:首先,获取全精度嵌入表征,嵌入表征包括多种特征;确定多种特征中每种特征分别对应的自适应步长,该多种特征对应的步长可能相同也可能不相同;随后根据每种特征对应的自适应步长分别对多种特征进行量化,得到低精度嵌入表征,该低精度嵌入表征中的特征的精度低于全精度嵌入表征中特征的精度,从而降低保存或者传输该嵌入表征所需的存储空间。输该嵌入表征所需的存储空间。输该嵌入表征所需的存储空间。

【技术实现步骤摘要】
一种量化方法、推荐方法以及装置


[0001]本申请涉及计算机领域,尤其涉及一种量化方法、推荐方法以及装置。

技术介绍

[0002]机器学习系统,包括个性化推荐系统,基于输入数据和标签,通过梯度下降等优化方法训练机器学习模型的参数,当模型参数收敛之后,可利用该模型完成未知数据的预测。
[0003]例如,以推荐系统中的点击率预测模型为例,通常该模型可以包括嵌入(embedding)层以及多层感知机(multilayer perceptron,MLP)层,embedding层通常用于将高维稀疏的额数据映射至低维稠密的向量,MLP通常用于拟合特征之间的组合关系、序列信息或者点击率等不等。然而,对于一些大规模数据场景,通常推荐模型的输入数据量也非常大,因此embedding层的规模非常大,导致存储以及训练等过程中所需的存储空间非常大。

技术实现思路

[0004]本申请提供一种量化方法、推荐方法以及装置,用于基于自适应步长对全精度嵌入表征中每种特征进行量化,从而提高量化精度。
[0005]有鉴于此,第一方面,本申请提供一种量化方法,包括:首先,获取全精度嵌入表征,嵌入表征包括多种特征;确定多种特征中每种特征分别对应的自适应步长,该多种特征对应的步长可能相同也可能不相同;随后根据每种特征对应的自适应步长分别对多种特征进行量化,得到低精度嵌入表征,该低精度嵌入表征中的特征的精度低于全精度嵌入表征中特征的精度,因此保存或者传输该低精度嵌入表征所需的存储资源或者传输资源低于保存或者传输全精度嵌入表征所需的存储资源,从而降低保存或者传输该嵌入表征所需的存储空间。
[0006]本申请实施方式中,在对全精度嵌入表征进行量化的过程中,可计算每种特征分别对应的自适应步长,并基于每种特征对应的自适应步长进行量化,从而提高量化精度,可以避免因固定步长而导致的精度损失。如当某种特征的更新较少时,若使用固定步长,将可能使更新较少部分因步长而导致降低量化精度。而通过本申请提供的量化方法,每种特征具有对应的自适应步长,该自适应步长与每种特征的长度或者更新数据量匹配,从而在量化时可以避免数据丢失,提高量化精度。
[0007]在一种可能的实施方式中,低精度嵌入表征词表应用于神经网络,前述的获取全精度嵌入表征词表,可以包括:从低精度嵌入表征词表中获取与当前次迭代的输入数据对应的表征,得到当前次迭代的低精度嵌入表征;对当前次迭代的低精度嵌入表征进行反量化,得到当前次迭代的全精度嵌入表征。
[0008]因此,本申请提供的量化方法可以应用于神经网络训练过程中的量化,在每次迭代过程中,传输低精度嵌入表征,通过对应的自适应步长进行反量化即可得到全精度嵌入表征,从而可以实现低精度嵌入表征的全精度还原,得到无损全精度嵌入表征,可以降低神
经网络训练过程中嵌入表征所占用的存储空间。
[0009]在一种可能的实施方式中,前述的确定多种特征中每种特征分别对应的自适应步长,可以包括:将当前次迭代的全精度嵌入表征作为神经网络的输入,得到当前次迭代的预测结果对应的全精度梯度;根据全精度梯度获取更新全精度嵌入表征,得到更新后的全精度嵌入表征;根据全精度梯度获取更新后的全精度嵌入表征中每种特征分别对应的自适应步长。
[0010]本申请实施方式中,在神经网络的训练过程中,可以根据全精度梯度来确定每种特征对应的自适应步长,从而可以自适应更新步长,得到与每种特征匹配的自适应步长,可以避免嵌入表征中因更新量较少而导致降低量化精度,可以提高量化精度。
[0011]在一种可能的实施方式中,前述的根据每种特征对应的自适应步长分别对多种特征进行量化,包括:根据每种特征分别对应的自适应步长,对当前次迭代的全精度低维表征中的多种特征进行量化,得到低精度嵌入表征。
[0012]因此,本申请实施方式中,可以使用基于全精度梯度计算得到的自适应步长进行量化,从而在训练过程中对嵌入表征进行同步量化。
[0013]在一种可能的实施方式中,本申请提供的方法还可以包括:根据低精度嵌入表征更新低精度嵌入表征词表,得到更新后的低精度嵌入表征词表。
[0014]在进行量化得到新的低精度嵌入表征后,可以将新的低精度嵌入表征后写回低精度嵌入表征词表中,以便于后续进行低精度保存或者传输。
[0015]在一种可能的实施方式中,前述的确定多种特征中每种特征对应的自适应步长,可以包括:通过启发式算法计算每种特征对应的自适应步长。
[0016]本申请实施方式中,都可以通过启发式算法计算自适应步长,可以适用于保存低精度嵌入表征词表的场景中。
[0017]在一种可能的实施方式中,前述的通过启发式算法计算每种特征对应的自适应步长,可以包括:根据每种特征中权重绝对值计算每种特征对应的自适应步长。因此,可以基于每种特征自身的权重值来计算自适应步长,无需依赖外部数据。
[0018]在一种可能的实施方式中,前述的根据每种特征对应的自适应步长分别对多种特征进行量化,得到低精度嵌入表征词表,还可以包括:根据每种特征对应的自适应步长,得到每种特征的离散特征;通过随机截断算法对每种特征的离散特征进行截断,得到低精度嵌入表征。
[0019]本申请实施方式中,可以通过随机截断算法来对每种特征进行截断,从而可以自适应地保留有效特征,提高量化精度。
[0020]在一种可能的实施方式中,低精度嵌入表征词表应用于语言模型或者推荐模型,语言模型用于获取语料的语义信息,推荐模型用于根据用户的信息生成推荐信息。因此,本申请提供的方法可以应用于自然语言处理或者推荐场景等。
[0021]第二方面,本申请提供一种推荐方法,包括:获取输入数据,输入数据包括用户针对终端的至少一种行为产生的数据;从低精度嵌入表征词表中获取与输入数据对应的低精度嵌入表征,低精度嵌入表征中包括多种特征;根据多种特征中每种特征对应的自适应步长对多种特征进行反量化,得到全精度嵌入表征,该自适应步长可以是量化全精度嵌入表征时得到的自适应步长;根据全精度嵌入表征作为神经网络的输入,输出推荐信息,推荐信
息用于针对用户的至少一种行为进行推荐。
[0022]本申请实施方式中,在神经网络的推理过程中,可以使用自适应步长对低精度嵌入表征进行反量化得到全精度嵌入表征,因此在推理过程中可以保存或者传输低精度,通过自适应步长进行无损还原,得到全精度嵌入表征。从而可以降低嵌入表征词表所占用的存储空间,并在使用时进行无损还原。
[0023]在一种可能的实施方式中,神经网络包括语言模型或者推荐模型,语言模型用于获取语料的语义信息,推荐模型用于根据用户的信息生成推荐信息。
[0024]第三方面,本申请提供一种量化装置,包括:
[0025]获取模块,用于获取全精度嵌入表征,嵌入表征包括多种特征;
[0026]确定模块,用于确定多种特征中每种特征分别对应的自适应步长;
[0027]量化模块,用于根据每种特征对应的自适应步长分别对多种特征进行量化,得到低精度嵌入表征本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种量化方法,其特征在于,包括:获取全精度嵌入表征,所述嵌入表征包括多种特征;确定所述多种特征中每种特征分别对应的自适应步长;根据所述每种特征对应的自适应步长分别对所述多种特征进行量化,得到低精度嵌入表征,所述低精度嵌入表征中的特征的精度低于所述全精度嵌入表征中特征的精度。2.根据权利要求1所述的方法,其特征在于,所述低精度嵌入表征词表应用于神经网络,所述获取全精度嵌入表征词表,包括:从低精度嵌入表征词表中获取与当前次迭代的输入数据对应的表征,得到当前次迭代的低精度嵌入表征;对所述当前次迭代的低精度嵌入表征进行反量化,得到当前次迭代的所述全精度嵌入表征。3.根据权利要求2所述的方法,其特征在于,所述确定所述多种特征中每种特征分别对应的自适应步长,包括:将所述当前次迭代的全精度嵌入表征作为所述神经网络的输入,得到当前次迭代的预测结果对应的全精度梯度;根据所述全精度梯度获取更新所述全精度嵌入表征,得到更新后的全精度嵌入表征;根据所述全精度梯度获取所述更新后的全精度嵌入表征中每种特征分别对应的自适应步长。4.根据权利要求3所述的方法,其特征在于,所述根据所述每种特征对应的自适应步长分别对所述多种特征进行量化,包括:根据所述每种特征分别对应的自适应步长,对所述当前次迭代的全精度低维表征中的多种特征进行量化,得到所述低精度嵌入表征。5.根据权利要求2

4中任一项所述的方法,其特征在于,所述方法还包括:根据所述低精度嵌入表征更新所述低精度嵌入表征词表,得到更新后的低精度嵌入表征词表。6.根据权利要求1所述的方法,其特征在于,所述确定所述多种特征中每种特征对应的自适应步长,包括:通过启发式算法计算所述每种特征对应的自适应步长。7.根据权利要求6所述的方法,其特征在于,所述通过启发式算法计算所述每种特征对应的自适应步长,还包括:根据所述每种特征中权重绝对值计算所述每种特征对应的自适应步长。8.根据权利要求1

7所述的方法,其特征在于,所述根据所述每种特征对应的自适应步长分别对所述多种特征进行量化,得到低精度嵌入表征词表,还包括:根据所述每种特征对应的自适应步长,得到所述每种特征的离散特征;通过随机截断算法对所述每种特征的离散特征进行截断,得到所述低精度嵌入表征。9.根据权利要求1

8所述的方法,其特征在于,所述低精度嵌入表征词表应用于语言模型或者推荐模型,所述语言模型用于获取语料的语义信息,所述推荐模型用于根据用户的信息生成推荐信息。
10.一种推荐方法,其特征在于,包括:获取输入数据,所述输入数据包括用户针对终端的至少一种行为产生的数据;从低精度嵌入表征词表中获取与所述输入数据对应的低精度嵌入表征,所述低精度嵌入表征中包括多种特征;根据所述多种特征中每种特征对应的自适应步长对所述多种特征分别进行反量化,得到全精度嵌入表征;根据所述全精度嵌入表征作为神经网络的输入,输出推荐信息,所述推荐信息用于针对所述用户的所述至少一种行为进行推荐。11.根据权利要求10所述的方法,其特征在于,所述神经网络包括语言模型或者推荐模型,所述语言模型用于获取语料的语义信息,所述推荐模型用于根据用户的信息生成推荐信息。12.一种量化装置,其特征在于,包括:获取模块,用于获取全精度嵌入表征,所述嵌入表征包括多种特征;确定模块,用于确定所述多种特征中每种特征分别对应的自适应步长;量化模块,用于根据所述每种特征对应的自适应步长分别对所述多种特征进行量化,得到低精度嵌入表征,所述低精度嵌入表征中的特征的精度低于所述全精度嵌入表征中特征的精度。...

【专利技术属性】
技术研发人员:郭慧丰李世伟侯璐章伟唐睿明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1