返回介绍

数学基础

统计学习

深度学习

工具

Scala

四十五、DeepLight [2021]

发布于 2023-07-17 23:38:24 字数 58088 浏览 0 评论 0 收藏 0

  1. CTR 预测任务上,广义线性模型和 factorization machine : FM 取得了巨大的成功。然而,由于缺乏学习更深层次特征交互的机制,它们的预测能力有限。为了解决这个问题,基于 embedding 的神经网络提出同时包含浅层组件(来学习低阶特征交互)、DNN 组件(来学习高阶特征交互),如 Wide&Deep, DeepFM, NFM, DCN, xDeepFM, AutoInt, AutoFIS 。尽管这些新颖的模型有所改进,但与诸如 LRFM 的简单模型相比,预测速度慢了数百倍。随之而来的一个问题是:我们是否能够为高质量的深度模型提供令人满意的模型延迟和资源消耗,从而用于广告服务中的实时响应?

    为实现这一目标,实际解决方案需要应对以下挑战:

    • (C1) 高质量:用于服务的“瘦身”模型预期与原始的“臃肿”模型一样准确。
    • (c2) 低延迟:服务延迟应该非常低,以保持高 Query per second: QPS 、以及很少的超时。
    • (C3) 低消耗:在在线广告服务中,pull 模型的 checkpoint 并将其存储在内存中的内存成本应该很低。

    然而,所有现有的基于 embedding 的神经网络,如 DeepFM, NFM, xDeepFM, AutoInt ,仍然专注于增加模型复杂度以实现 (C1) ,同时牺牲 (C2)(C3) 。虽然人们提出了一些方法,如 AutoCross 来提高模型效率,但它们没有采用DNN 框架,未能达到 SOTA 。为了共同解决这些挑战,论文 《DeepLight: Deep Lightweight Feature Interactions for Accelerating CTR Predictions in Ad Serving》提出了一种有效的模型,即所谓的 field-weighted embedding-based neural network: DeepFwFM ,通过 field pair importance matrix 来改进 FM 模块。DeepFwFM 在经验上与 xDeepFM 一样强大,但效率更高。如下图所示,DeepFwFM 的每个组件都有一个 approximately sparse structure,这意味着结构剪枝的优势并可能导致更紧凑的结构。通过裁剪 DeepFwFMDNN 组件并进一步压缩浅层组件,得到的深度轻量化结构(即,DeepLight )大大减少了推理时间,仍然保持了模型性能。

    据作者所知,这是第一篇研究裁剪 embedding basedDNN 模型以加速广告服务中的 CTR 预测的论文。总之,所提出的 DeepFwFM 在快速的、准确的推断方面具有巨大潜力。与现有的基于 embedding 的神经网络相比,该模型具有以下优点:

    • 为了解决 (C1) 高质量的挑战,DeepFwFM 利用 FwFM 中的 field pair importance 的思想,以提高对低阶特征交互的理解,而不是探索高阶特征交互。值得注意的是,与 SOTAxDepFM 模型相比,这种改进以非常低的复杂性达到了 SOTA ,并且在深度模型加速方面仍然显示出巨大的潜力。

      (C1) 高质量的挑战并不是由 DeepLight 解决的,而是由基础模型 FwFM 解决的。

    • 为了解决 (C2) 低延迟的挑战,可以对模型进行裁剪以进一步加速:

      • 裁剪深度组件中的冗余参数以获得最大的加速。
      • 移除 FwFM 中的 week field pair 以获得额外的显著加速。

      由此产生的轻量化结构最终几乎达到一百倍的加速。

    • 为了解决(C3) 低消耗的挑战,可以促进 embedding 向量的稀疏性,并保留最多的 discriminant signal ,这会产生巨大的参数压缩。

    通过克服这些挑战(C1-C3 ),由此产生的稀疏 DeepFwFM (即所谓的 DeepLight ),最终不仅在预测方面,而且在深度模型加速方面取得了显著的性能。它在 Criteo 数据集上实现了 46 倍的速度提升,在 Avazu 数据集上达到了 27 倍的速度,而不损失AUC 。源代码参考 https://github.com/WayneDW/sDeepFwFM

45.1 模型

注:这篇论文的核心是如何对 DeepFwFM 进行压缩,而不是提出 DeepFwFM 。事实上,DeepFwFM 就是 DNN 作为 deep 组件、FwFM 作为 wide 组件的神经网络,毫无新意 。

此外,DeepLight 的剪枝方法也是工程上的应用(把训练好的模型中的接近于零的权重裁剪掉),而没有多少创新点。

实验部分提示了基于剪枝的模型设计方案:首先设计较大容量的模型从而提升模型的表达能力,然后执行剪枝从而降低 latency、减少过拟合。这种方案的一个潜在缺点是:训练资源消耗更大。

45.1.1 DeepFwFM

  1. 给定数据集 D={(yi,xi)} $ \mathcal D = \left\{(y_i,\mathbf{\vec x}_i)\right\} $ ,其中 yi $ y_i $ 为 labelxi $ \mathbf{\vec x}_i $ 为 m $ m $ 维的稀疏的特征向量。

    • 二阶多项式模型 ϕpoly2 $ \phi_\text{poly2} $ 为:

      (4)ϕpoly2(w,W)=w0+i=1mxiwi+i=1mj=i+1mxixjWi,j

      其中:w $ \mathbf{\vec w} $ 为一阶交互权重,W={Wi,j} $ \mathbf W=\{W_{i,j}\} $ 为二阶交互权重。

    • FM 模型 ϕFM $ \phi_\text{FM} $ 为:

      (5)ϕFM(w,e)=w0+i=1mxiwi+i=1mj=i+1mxixj<ei,ej>

      其中:e={ei}i=1m $ \mathbf e=\{\mathbf {\vec e}_i\}_{i=1}^m $ 为所有 embedding 向量的集合;eiRk $ \mathbf{\vec e}_i\in \mathbb R^k $ 为第 i $ i $ 个特征的 embedding 向量;k $ k $ 为 embedding 向量的维度。

      可以看到,FM 模型将参数规模从 O(m2) $ O(m^2) $ 降低到 O(mk) $ O(mk) $ 。

    • Deep & Cross 通过一系列的 cross 操作来建模高阶交互:

      (6)sl=(s0sl1)wl+bl+sl1

      其中:wl,bl $ \mathbf{\vec w}_l, \mathbf{\vec b}_l $ 为待学习的参数;(s0sl1) $ \left(\mathbf{\vec s}_0\mathbf{\vec s}_{l-1}^\top\right) $ 表示这两个向量之间的外积。

    • 通过进一步组合 DNN 组件,我们可以获得 xDeepFM ,这是 CTR预测中的 SOTA 模型。尽管 xDeepFM 在建模特征交互方面具有强大的性能,但众所周知,它比DeepFM的成本要高得多,并增加了速度较慢。因此我们考虑 FwFM 模型,并提出了 Deep Field-weighted Factorization Machine: DeepFwFM

      (7)ϕDeepFwFM(w,v,e,R)=ϕDeep(w,e)+ϕFwFM(v,e,R)ϕFwFM(v,e,R)=w0+i=1mxi<ei,vF(i)>+i=1mj=i+1mxixj<ei,ej>×RF(i),F(j)

      其中:

      • ϕDeep $ \phi_\text{Deep} $ 为包含非线性变换的多层感知机,用于建模高阶特征交互。ϕFwFM $ \phi_\text{FwFM} $ 为 FwFM 模型,用于建模二阶特征交互。

      • w $ \mathbf w $ 为 DNN 的参数(包括权重矩阵和 bias 向量)。

      • v={vf}f=1n $ \mathbf v = \left\{\mathbf{\vec v}_f\right\}_{f=1}^n $ 包含 n $ n $ 个 fieldembedding 向量,vfRk $ \mathbf{\vec v}_f\in \mathbb R^k $ 表示 field f $ f $ 的 embedding 向量。

        这就是 FwFM 原始论文中 的 FwFM_FiLV ,用 i=1mxi<ei,vF(i)> $ \sum_{i=1}^m x_i <\mathbf{\vec e}_i, \mathbf{\vec v}_{F(i)}> $ 来建模线性项。a

      • e={ei}i=1m $ \mathbf e=\{\mathbf {\vec e}_i\}_{i=1}^m $ 包含 m $ m $ 个特征的 embedding 向量,eiRk $ \mathbf{\vec e}_i\in \mathbb R^k $ 。

      • RRn×n $ \mathbf R\in \mathbb R^{n\times n} $ 为 field pair 重要性矩阵,它建模 field pair 的交互强度。

      • F(i) $ F(i) $ 为特征 i $ i $ 的 field

  2. DeepFwFM 有两个创新:

    • DeepFwFMxDeepFM 快得多,因为我们不试图通过浅层组件来建模高阶(三阶甚至或更高)的特征交互。尽管 xDeepFM 包含强大的 compressed interaction network: CIN 来逼近任意固定阶次的多项式,但主要缺点是 CIN 的时间复杂度甚至高于 xDeepFM 中的 DNN 组件,导致了昂贵的计算。
    • DeepFwFMDeepFM 更准确,因为它克服了矩阵分解中的稳定性问题,并通过考虑 field pair importance 导致更准确的预测。

    如下图所示,DeepFM 通过 FM 组件中每个 hidden node 与输出节点之间的 weight-1 connection (即,feature embedding 之间内积的权重为 1)来建模低阶特征交互,然而,这无法适应局部几何结构,并牺牲了鲁棒性。

  3. 为了证明我们模型的优势,我们对 DeepFwFM 的计算复杂性进行了定量分析。给定 embedding size k $ k $ 、层的数量 l $ l $ 、每层的节点数量 h $ h $ ,假设 embedding layer 只有 n $ n $ 个 lookup (即 field 数量 为 n $ n $ )并且计算开销很小。那么,DNN 组件的 floating point operations: FLOPsO(lh2+nkh) $ O(lh^2+nkh) $ ,FwFM 组件的 FLOPsO(n2k) $ O(n^2k) $ 。

    类似地,我们可以得到 DeepFMxDeepFM 的计算复杂度,如下表所示。可以看到:

    • xDeepFMl $ l $ 个 CIN 层需要 O(nkhc2l) $ O(nkh_c^2l ) $ 个操作,这远远超过了 DNN 组件的操作数量。
    • FM 组件和 FwFM 组件比 DNN 组件快得多。

    尽管 DeepFwFM 的计算复杂度较好,但是它仍然未能将延迟降低到一个良好的水平。事实上,由于包含 DNN 组件,DeepFwFM 可能会慢数百倍,这会显著降低在线 CTR 预测的速度。

45.1.2 DeepLight

  1. DNN 组件无疑是导致高延迟问题并且无法满足在线要求的主要原因。因此,需要一种适当的加速方法来加速预测。

  2. 为什么采用结构剪枝:深度模型加速三种主要方法组成:结构剪枝 structural pruning、知识蒸馏knowledge distillation 、量化 quantization ,其中结构剪枝方法因其显著的性能而受到广泛关注。此外,DeepFwFM 的每个组件,如 DNN 组件、field pair interaction matrix R $ \mathbf R $ 和 embedding 向量,都具有高度稀疏的结构,如 Figure 2 所示。这促使我们考虑结构剪枝以加速浅层组件和 DNN 组件。

    对于其他选择:

    • 量化在推断期间采用了定点精度。然而,它没有充分利用 DeepFwFM 每个组件的稀疏结构,甚至对模型性能有损。

    • 知识蒸馏技术通过训练小网络(即 student model )以模仿大网络(即 teacher model ),但它存在以下问题:

      • 学生模型从教师模型学习的能力有限。
      • 如果性能恶化,很难清楚这是由于教师模型导致、还是由于教学过程导致。

    这就是我们在这项工作中采用结构剪枝的原因。

  3. 如何进行结构剪枝:

    • 设计:我们建议裁剪以下三个组件(在 DeepFwFM 模型的背景下),而不是简单地以统一的稀疏率应用剪枝技术。这三个组件专门设计用于广告预测任务:

      • 剪枝 DNN 组件的权重(不包括 bias)从而移除神经元连接。

      • 剪枝 field pair interaction matrix R $ \mathbf R $ 从而移除冗余的 field interaction

        注意:移除冗余的 field interaction,意味着建模时无需考虑对应 field 之间的内积计算。

      • 剪枝 embedding 向量中的元素,从而导致稀疏的 embedding 向量。

      结合以上努力,我们获得了所需的 DeepLight 模型,如下图所示。DeepLight 是一种稀疏的 DeepFwFM ,它提供了一种整体方法,通过在推理期间修改训练好的架构来加速推理。

      注意,DeepLight 是用于训练好的模型,是一种剪枝算法,而不是一种训练算法。

    • 优点:通过实验表明:

      • 与原始 DNN 组件相比,稀疏的 DNN 组件的计算复杂度要低得多。它导致最大的计算加速。
      • sparse field pair interaction matrix R $ \mathbf R $ 进一步实现了 FwFM 组件的显著加速。此外,裁剪 R $ \mathbf R $ 实际上是在进行特征选择,或者更准确地说是 field pair selection 。一旦裁剪了 Rf,f $ R_{f,f^\prime} $ ,那么来自 field pair (f,f) $ (f,f^\prime) $ 的所有 feature pair 都将被丢弃。AutoFIS 也实现了类似类型的 field pair selection
      • sparse embedding 大大减少了内存使用,因为 feature embedding 主导了CTR 预测深度学习模型中的参数数量。
    • 实现:从过度参数化的模型中选择一个良好的稀疏网络是 NP 难的,并且无法保证最优算法能够解决它。在结构剪枝领域有大量的经验研究,包括权重剪枝、神经元剪枝、以及其他单元剪枝。考虑到我们的模型只包含一个标准的 FwFM 组件和一个普通的DNN 组件,我们进行了权重剪枝,并寻求在不调用专用库的情况下实现高稀疏性和加速。

      定义稀疏率 S $ S $ 为被裁剪的权重的比例,如 S%=99% $ S\%=99\% $ 意味着 99% 的权重都被裁剪。

      结构剪枝算法:

      • 输入:

        • 训练好的 target model
        • 目标稀疏率 {SX} $ \{S_X\} $ (表示各组件 X $ X $ 的目标稀疏率)
        • 阻尼因子 D $ D $ ,剪枝轮次 Ω $ \Omega $
      • 输出:剪枝后的模型

      • 算法步骤:

        • 剪枝:对于 k=1,2,,Ω $ k=1,2,\cdots,\Omega $ ,迭代步骤为:

          • 训练网络一个 iteration

            这是为了在每次裁剪之后,重新训练模型从而进行微调,以便错误修剪的权重有可能再次变得活跃。

          • 对模型的每个组件 X $ X $ :

            • 更新组件当前轮次的裁剪比例 sXSX(1Dk/Ω) $ s_X \leftarrow S_X(1-D^{k/\Omega}) $ 。

              这是设置自适应的裁剪比例,使得在早期剪枝的很快(裁剪比例较大)、在后期剪枝很慢(裁剪比例较小)。

              注意:这种裁剪方式无法确保最终模型能够得到 SX $ S_X $ 的目标稀疏率,只能说尽可能地接近。

            • 根据权重的 magnitude ,裁剪最小的 sX% $ s_X\% $ 的权重。

  4. 降低计算复杂度:DNN 组件是导致高推断时间的瓶颈。在 DNN 组件的剪枝之后,FwFM 组件成为限制,这需要对 field matrix R $ \mathbf R $ 进行进一步剪枝。embedding 层的剪枝对计算没有显著的加速。

    在对 DNN 组件的权重设置一个中等大小的 Sdnn% $ S_\text{dnn}\% $ 的目标稀疏率(不考虑 bias)的情况下,相应的加速可以接近理想的 1/(1Sdnn%) $ 1/(1-S_\text{dnn}\%) $ 倍。当目标稀疏率 Sdnn% $ S_\text{dnn}\% $ 高于 95% 时,我们可能无法达到理想的加速比,因为 bias 的计算和稀疏结构(如 compressed row storage: CRS )的开销。关于 field matrix R $ \mathbf R $ 的剪枝,当我们增加 DNN 组件中的目标稀疏率 Sdnn% $ S_\text{dnn}\% $ 时,加速变得更加显著。

  5. 降低空间复杂度:在 embedding layer 中进行剪枝也显著减少了 DeepFwFM 中的参数数量,因此节省了大量内存。在 embedding layer 中,Semb% $ S_\text{emb}\% $ 的目标稀疏率将参数数量从 mk $ mk $ 减少到 (1Semb%)mk $ (1-S_\text{emb}\%)mk $ 。

    至于 DNN 组件,权重参数的数量(不包括 bias)可以从 O(nkh+lh2) $ O(nkh+lh^2) $ 降低到 O((nkh+lh2)(1Semb%)) $ O((nkh+lh^2)(1-S_\text{emb}\%)) $ 。类似地,field matrix R $ \mathbf R $ 上的目标稀疏率 SR% $ S_R\% $ 也相应比例地减少了参数。

    由于DeepFwFM 中的总参数由 embedding 向量参数所主导 , embedding 向量上的 Semb% $ S_\text{emb}\% $ 的目标稀疏率导致总内存减少约 1/(1Semb%) $ 1/(1-S_\text{emb}\%) $ 倍。

4.2 实验

  1. 数据集:Criteo, Avazu

    • 对于 Criteo 数据集,我们采用由 Criteo 竞赛获胜者提出的对数转换来归一化数值特征:

      (8)z={log(x)2, if x>2x, else

      此外,我们还将所有频次低于 8 的特征视为 "unknown" 。我们将数据集随机分成两部分:90% 用于训练、剩下的 10% 用于测试。

    • 对于 Avazu 数据集,我们使用 10 天的点击记录,并随机拆分 80% 的样本用于训练、剩下的 20%用于测试。我们还将所有频次低于 5 的特征视为 "unknown"

    数据集的统计信息如下表所示。

  2. 评估指标:LogLoss, AUC

  3. baseline 方法:在 emebdding-based 神经网络模型中,我们选择 DeepFM, NFM, xDeepFM 作为 baseline ,因为它们具有与 DeepFwFM 相似的架构,也是 CTR 预测的SOTA 模型。最终,六个 baseline 模型为:LR, FM, FwFM, DeepFM, NFM, xDeepFM

  4. 实现细节:我们使用 PyTorch 训练模型。

    • Criteo 数据集:

      • 为了对 Criteo 数据集进行公平比较,我们遵循 DeepFMxDeepFM 原始论文中的参数设置,并将学习率设置为 0.001

      • embedding size 设为 10

      • DeepFM, NFM, xDeepFMDNN 组件默认设置为:

        • 网络架构为 400 x 400 x 400
        • drooout rate0.5

        此外,我们也将裁剪后的 DeepFwFM 与更小尺寸的 DeepFwFM 进行比较。对于这些更小尺寸的 DeepFwFM,它们的 DNN 组件分别为:25 x 25 x 25 (记做N-25 )、15 x 15 x 15 (记做N-25 )。原始尺寸的未裁剪 DeepFwFM 记做 N-400

      • 对于 xDeepFMCIN 的架构为 100 x 100 x 50

      • 我们微调了 L2 惩罚,并将其设置为 3e-7

      • 我们在所有实验中使用 Adam 优化器,batch size = 2048

    • Avazu 数据集:保持了与 Criteo 数据集相同的设置,除了 embedding size 设为 20L2 惩罚为 6e-7DNN 网络结构为 300 x 300 x 300

    关于实践中的训练时间(而不是推理时间),所有模型之间没有太大的差异。FwFMDeepFwFM 的速度略快于 DeepFMxDeepFM,这是由于 FwFMDeepFwFM 在线性项上的创新(用内积代替线性项)。

  5. DeepFwFM 和其它稠密模型的比较:对没有剪枝的密集模型的评估显示了过度参数化模型所表现出的最大潜力,如下表所示。可以看到:

    • LR 在所有数据集上的表现都比其他模型都要差,这表明特征交互对于提高 CTR 预测至关重要。
    • 大多数 embedding-based 神经网络的表现优于低阶方法(如 LRFM),这意味着建模高阶特征互动的重要性。
    • 低阶的 FwFM 仍然胜过 NFMDeepFM ,显示了 field matrix R $ \mathbf R $ 在学习二阶特征交互的优势。
    • NFM 利用黑盒 DNN 隐式地学习低阶特征交互和高阶特征交互,由于缺乏显式识别低阶特征交互的机制,可能会过拟合数据集。
    • 在所有 embedding-based 神经网络方法中,xDeepFMDeepFwFM 在所有数据集上效果最好。然而,xDeepFM 的推理时间远远超过 DeepFwFM

  6. 稀疏化模型 DeepLight:我们选择阻尼因子 D=0.99 $ \mathcal D=0.99 $ 、剪枝轮次 Ω=100 $ \Omega=100 $ ,模型首先训练 2epoch ,然后训练 8epoch 用于剪枝。我们每隔 10iteration 剪枝一次从而降低计算代价。

    即:前 2epoch 训练好模型;后面的 8epoch 执行剪枝。

    • DNN 剪枝加速:仅裁剪 DNN 组件的权重,DNNbiasfield matrix R $ \mathbf R $ 和 embedding layer 的参数照常处理。我们尝试不同的剪枝率,并将不同稀疏率的网络与较小结构的网络进行比较。结果如 Table 4 所示。可以看到:

      • 具有稀疏 DNN 组件的 DeepFwFM 优于稠密 DeepFwFM ,即使在 Criteo 数据集上稀疏率高达 95% 。在我们将 Criteo数据集上的稀疏率提高到 99% 之前,这一现象保持不变。
      • 相比之下,具有类似参数规模的相应小型网络,如 N-25N-15 ,获得的结果比原始的 N-400 要差得多,显示了裁剪过度参数化的网络相比从较小的网络训练更强大。

      Avazu 数据集上,我们得到同样的结论。稀疏模型在 90% 的稀疏率下获得了最好的预测性能,只有当稀疏率大于 99.5% 时才会变差。

      关于模型加速,从下图中可以看到:较大的稀疏率总是带来较低的延迟。因此在这两个数据集上,稀疏模型在性能超越原始稠密模型的基础上,都实现了高达 16 倍的推理速度提升。

      这里获得的好处主要是更低的延迟。虽然模型性能略有提升,但是低于 0.1%,因此效果不显著。

      但是,和 N-25, N-15 这两个更小的网络相比,DeepLight 的性能提升比较显著。然而 DeepLight 的训练时间也更长。

    • Field Matrix R $ \mathbf R $ 剪枝加速:在对 DNN 组件进行高稀疏度化之后,我们已经获得了显著的加速,接近 20 倍。为了进一步提高速度,增加 DNN 组件的稀疏率可能会有降低性能的风险,并且由于矩阵计算的开销,不会产生明显的加速。从 Figure 2 可以看出,field matrix R $ \mathbf R $ 拥有一个近似稀疏的结构。这促使我们进一步裁剪field matrix R $ \mathbf R $ 以获得进一步加速。

      我们根据 field matrix R $ \mathbf R $ 的不同稀疏率来研究稀疏模型的性能(在 DNN 组件已经被剪枝的基础上),如下图所示。可以看到:我们可以在不牺牲性能的情况下对 field matrix R $ \mathbf R $ 采用高达 95% 的稀疏率,此外推断速度可以进一步加快 23 倍。因此,我们最终可以在不牺牲性能的情况下获得46 倍和 27 倍的速度提升。

    • Embedding Vector 剪枝用于节省内存:关于 embedding 的剪枝,我们发现为所有 fieldembedding 设置一个全局阈值,比为每个 fieldembedding 向量设置单独的阈值获得略好的性能。因此,我们在全局阈值的基础上进行了实验。

      如下图所示:

      • Criteo 数据集上可以采用较高的稀疏率,如 80% ,并保持几乎相同的性能。
      • 相比之下,在 Avazu 数据集上比较敏感,当采用 60% 的稀疏率时,性能开始低于稠密模型。

      从下表可以看到,大多数模型优于较小的 embedding sizebaseline 模型(称为 E-X ),这说明了使用大的 embedding size ,然后在过度参数化的网络上应用剪枝技术以避免过拟合。

      剪枝 embedding 似乎并没有带来多少 AUC 提升(0.03% 左右,非常微小)。

  7. DeepFwFM 的结构剪枝:从上述实验中,我们看到 DNN 组件和 field matrix R $ \mathbf R $ 接受了更高的稀疏率以保持相同的预测性能,这启发我们对不同的组件应用不同的裁剪率。如下表所示:

    • 对于性能驱动的任务:

      • Criteo 数据集上,我们可以通过 sparse DeepFwFMSOTA AUC0.8116 提高到 0.8223 ,其中 DNN 组件和 field matrix R $ \mathbf R $ 的剪枝率为 90%embedding 向量中的剪枝率为 40% 。该模型被称为 D-90% & R-90% & F-40%
      • Avazu 数据集上,我们可以通过 sparse DeepFwFMSOTA AUC0.7893 提高到 0.7897 ,其中 DNN 组件和 field matrix R $ \mathbf R $ 的剪枝率为 90%embedding 向量中的剪枝率为 20% 。该模型被称为 D-90% & R-90% & F-20%

      这里的剪枝对于性能提升非常微小,几乎可以忽略。因为太小的提升可能由于超参数配置、随机因素等等的影响,而观察不到。

    • 对于内存驱动的任务:在 Criteo 数据集和 Avazu 数据集上的内存节省分别高达 10 倍和 2.5 倍。

    • 对于延迟驱动的任务:我们使用结构为 D-99% & R-95% & F-40%DeepLightCriteo 数据集上实现了 46 倍的速度提升,使用结构为 D-98% & R-90% & F-0%DeepLightAvazu 数据集上实现了 27 倍的速度提升,而且没有损失准确性。

  8. DeepLight 和其它稀疏模型的比较:对于其他模型,我们也尝试了在不牺牲性能的情况下加速预测的最佳结构。关于 xDeepFM 中的CIN 组件,我们用 C-99% 表示 CIN 组件的 99% 的稀疏率。结果如下表所示。可以看到:

    • 所有 embedding-based 的神经网络都采用高稀疏率来保持性能。
    • 此外,DeepLight 在预测时间上与 sparse DeepFMsparse NFM 相当,但在 Criteo 数据集上的 AUC 至少提高了 0.8% ,在 Avazu 数据集上提高了 0.4%
    • DeepLight 获得了与 xDeepFM 相似的预测性能,但其速度几乎是 10 倍。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文