DLRM深度学习推荐模型

联合创作 · 2023-09-26 05:07

DLRM(Deep Learning Recommendation Model)是深度学习推荐模型的实现,用于个性化推荐。

该模型输入有密集和稀疏的特性,前者是浮点值的向量,后者是嵌入表的稀疏索引列表,嵌入表由浮点值向量组成。所选择的矢量被传递到由三角形表示的 mlp 网络,在一些情况下,矢量通过操作符(Ops)进行交互。

output:
                    probability of a click
model:                        |
                             /\
                            /__\
                              |
      _____________________> Op  <___________________
    /                         |                      \
   /\                        /\                      /\
  /__\                      /__\           ...      /__\
   |                          |                       |
   |                         Op                      Op
   |                    ____/__\_____           ____/__\____
   |                   |_Emb_|____|__|    ...  |_Emb_|__|___|
input:
[ dense features ]     [sparse indices] , ..., [sparse indices]

更精确的模型层定义:

  1. 完全连接的 mlp 层

    z = f(y)

    y = Wx + b

  2. 嵌入查找(对于稀疏索引列表 p=[p1,...,pk])

    z = Op(e1,...,ek)

    obtain vectors e1=E[:,p1], ..., ek=E[:,pk]

  3. Operator Op 可以是以下之一

    Sum(e1,...,ek) = e1 + ... + ek

    Dot(e1,...,ek) = [e1'e1, ..., e1'ek, ..., ek'e1, ..., ek'ek]

    Cat(e1,...,ek) = [e1', ..., ek']'

    其中,' 表示转置操作

要求:

  • pytorch-nightly (6/10/19)
  • onnx (可选)
  • torchviz (可选)
浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报