推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架( 二 )


推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

分解为两个低阶矩阵
【推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架】
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

, 其中
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

d_j是第j个块的因式分解维度(也称为秩) 。 由于高频率的推荐项应具有更高的表达能力 , 因此随着簇的索引增加 , 减小对应的d_j 。 相应地 , 每个推荐项的嵌入表示与通过原始的 look-up 操作的嵌入表示是不同的 。 给定推荐项标签 ID x , 用下列的等式来表示其嵌入向量 为:
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

其中
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

表示第j个块的第g行的嵌入向量 ,
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

。 通过这种因式分解 , 能将输入嵌入层的参数量从
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

减少到
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

。 当
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

, 输入嵌入层的参数量会明显减少 。 上图 (c) 阐述了这个分解过程 。
基于分块自适应分解的输出 softmax 层
在输出 softmax 层 , 文中指出直接的在输出 softmax 层运用与输入层相同的策略会造成模型性能降低的问题 。 为了解决这些问题 , 通过二层树结构来构造这些块 , 其中每个树节点代表一个簇 。 上图 (d) 显示了输出 softmax 层的分块嵌入的范例 。 文中在输出 softmax 层中使用与输入嵌入层类似的分块嵌入的聚簇配置 。 一个主要的不同是输出层的第一个块矩阵被扩展为
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

, 其中n-1表示叶子节点所属的父类的数量 。 第一个簇的标签集合被扩展为
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

, 其中k_1+1到
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

对应于第 2 个到第 n 个簇的父类标签 。 在输出 softmax 层的其它的块矩阵为
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

, 其中
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

。 对比于原始的 softmax 层 , 该方法能将输出 softmax 层的参数量从
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

减少到
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图


论文中提到 , 在训练过程中 , 对于给定上下文向量
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架


推荐阅读