前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Meta | Wukong:推荐系统中的Scaling Law探索

Meta | Wukong:推荐系统中的Scaling Law探索

作者头像
秋枫学习笔记
发布2024-03-18 13:07:29
2450
发布2024-03-18 13:07:29
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

标题:Wukong: Towards a Scaling Law for Large-Scale Recommendation 地址:https://arxiv.org/pdf/2403.02545.pdf 公司:meta

1.导读

Scaling laws在nlp,cv领域的模型改进方面起着重要作用,但是目前推荐模型并没有表现出类似于在大型语言模型领域观察到的规律,本文在模型本身结构上做出调整,提出了一种基于堆叠的因子分解机(FM)的网络架构Wukong,以在推荐领域建立一个缩放定律,所提模型复杂性每增加四倍性能提高0.1%。

alt text

2. 方法

alt text

2.1 embedding层

embedding层生成的所有嵌入的维度都是 d。对于类别特征,为了适应不同特征的不同重要性,为重要的特征生成多个emb。相反,不太重要的特征被分配较小的底层维度,然后这些较小的emb被集体分组、拼接,并使用MLP转换为d维emb。对于dense特征,通过mlp得到d维的emb。将得到的emb拼接后可以得到

X_0\in \mathbb{R}^{n\times d}

,其中n是拼接的emb个数。

2.2 Interaction Stack

交互模块堆叠了

l

个相同的交互层,其中每个层使用因子分解机(FM)捕获逐渐高阶的特征交互。交互层有两个并行的block:因子分解机块(FMB)和线性压缩块(LCB)。FMB计算该层的输入emb之间的特征交互,并且LCB简单地转发该层的线性压缩输入emb,然后拼接FMB和LCB的输出。同时为了计算的稳定性,加入了残差连接和Layer norm。

X_{i+1}=LN(concat(FMB_i(X_i),LCB_i(X_i))+X_i)

2.3 Factorization Machine Block (FMB)

FMB包含一个分解机(FM)和一个MLP。FM用于捕捉输入emb的显式特征交互,输出是2D交互矩阵,其中每个元素表示一对emb之间的交互。该相互作用矩阵被flatten后经过MLP得到

n_F\times d

的向量,然后reshape得到

n_F

个emb。

\operatorname{FMB}\left(X_{i}\right)=\operatorname{reshape}\left(\operatorname{MLP}\left(\operatorname{LN}\left(\text { flatten }\left(\operatorname{FM}\left(X_{i}\right)\right)\right)\right)\right.

2.4 Linear Compress Block (LCB)

LCB在不增加交互阶数的情况下简单地线性重组嵌入,这对于确保交互阶数在整个层中保持不变至关重要。它保证第i个交互层捕获范围从1到2i的交互顺序。LCB执行的操作可以描述如下,其中

W_L \in \mathbb{R}^{n_L\times n_i}

N_L

是压缩emb的数量的超参数,

n_i

是第i层的输入emb的数量。

LCB_i(X_i)=W_LX_i

2.5 优化FM

常用交互方式是做点积,但是时间和空间复杂度随着emb维度的增长呈二次增长,复杂度为

O(n^2d)

。当大数据场景下,特征数n往往大于d,

d<=n

,则内积矩阵

XX^T

是一个低秩的,因此可以通过一个

n\times k

的可学习矩阵

Y

先对其进行降维,表示为

XX^TY

,先计算

X^TY

,则整体复杂度为

O(nkd)

k << n

2.6 scaling Wukong

通过调整超参数,可以放大整个模型,主要可以调节的是:

l

:

l

越大,特征交互的阶数越高

n_F, n_L

: 控制两个模块产生的emb数

k

:控制压缩幅度

  • 控制MLP的层数 在放大过程中,首先专注于增加
l

,以使模型能够捕捉更高阶的相互作用。之后扩大了其他超参数,以增强模型捕捉更广的交互。

3. 结果

在低复杂度下时相对于其他模型的效果,以此来说明结构本身是有效的

如图所示,本文所提模型在参数缩放的过程中loss始终比其他模型低,并且随着参数放大,模型性能变化更加稳定

下图展示了模型质量和计算复杂性之间的关系。结果表明,悟空在各种复杂度级别上始终优于所有基线,值得注意的是,悟空在模型复杂性的两个数量级上都保持着其缩放定律:复杂性每增加四倍性能提高0.1%。其他模型在增大到一定程度就性能就达到了瓶颈。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.导读
  • 2. 方法
    • 2.1 embedding层
      • 2.2 Interaction Stack
        • 2.3 Factorization Machine Block (FMB)
          • 2.4 Linear Compress Block (LCB)
            • 2.5 优化FM
              • 2.6 scaling Wukong
              • 3. 结果
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档