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


本文插图

(即序列推荐模型的最终隐藏向量)的情况下预测下一个用户可能感兴趣的推荐项 , 需要首先根据下一个推荐的标签(例如x)确定搜索空间 。 如果属于第一个簇 , 则仅计算该簇中的logits 。 如果x属于其他簇 , 则在其父类所属簇(即第一个簇)和当前簇中计算 。
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

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

因此文中训练过程分为两个步骤:第一步 , 计算第一个聚类的 , 这需要
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

时间 。 在第二步 , 如果推荐项标签x属于叶子节点上的簇之一 , 则计算该簇的logits , 这需要
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

时间 。 对比于使用原始的 softmax , 文中将训练时间从O(K)减少到
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图


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

之间 。 另外 , 文中在推断阶段也不需要为所有推荐项计算 softmax 概率 , 可通过提前停止搜索以加快生成过程 。 具体来说 , 如果前 N 个概率得分位于第一个簇中 , 不需要计算在其它簇的推荐项的概率分数 。
分层参数共享
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

为了充分利用深度模型的堆叠层的优势 , 同时提高参数效率 , 该研究采用了多种参数共享策略 。 例如上图 (a) 是 ALBERT 采用的跨层参数共享方法 , 但在此条件下分析了在减少大量冗余参数的同时 , 神经网络模型的表达也受到了一定程度的限制 , 因此又提出一个高级版本「跨块参数共享」 , 如上图 (b) 。
此外 , 研究还提出了另外两种分层的参数共享方法:相邻层和相邻块参数共享 , 分别为上图 (c) 和上图 (d) 。 具体地 , 相邻层参数共享表示每个残差块中的两个单独的层共享相同的参数集 。 相邻块参数共享表示在每两个相邻残差块之间共享参数 。
这些参数共享策略被认为具有两个主要优点:(1)作为一种正则化方法 , 它们可以稳定训练过程并提高模型的泛化能力;(2)它们可以显着减少参数量 , 而不会像跨层参数共享那样降低性能 。
CpRec 采用 NextitNet 模型实例化的架构图如下:
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

实验结果
这一部分主要以 NextItNet 框架实例化 CpRec , 在 weishi、movielen、tiktok 和 ColdRec 等 4 个数据集上进行实验 , 另外由于序列推荐系统在不同序列长度的数据集下 , 表现不同 , 为展示其可靠性 , 采用 10、20、50 和 100 等 4 种序列长度对数据集进行预处理 。 文中采用多种评测指标 , 包括 MRR、HR 和 NDCC 等 3 个 top-N 评测指标以测评模型准确率 , 采用参数量 (Params)、训练时间 (Training Times) 和推测加速比 (Inference Speedup) 等指标以测评模型压缩表现 。
推荐技术面对千万级推荐,如何压缩模型最高效?这是腾讯看点新框架
本文插图

结果显示 , 在该 4 个数据集的模型表现和压缩效果的评价指标中 , CpRec 在推荐准确率与压缩效果上都具有比较好的表现 。


推荐阅读