(11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】

本文详细探讨了小红书推荐系统的各个关键环节,包括业务指标、UserCF与ItemCF、矩阵补充、正负样本选择、线上召回与模型更新、冷启动策略以及排序模型的特征。文中介绍了粗排与精排的区别,特别是双塔模型和三塔模型在计算效率与准确性上的权衡。此外,还讨论了不同召回通道和冷启动问题的解决方案,展示了推荐系统背后的复杂优化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)工业界推荐系统-小红书推荐场景及内部实践【业务指标、链路、ItemCF】
(2)工业界推荐系统-小红书推荐场景及内部实践【UserCF、离线特征处理】
(3)工业界推荐系统-小红书推荐场景及内部实践【矩阵补充、双塔模型】
(4)工业界推荐系统-小红书推荐场景及内部实践【正负样本选择】
(5)工业界推荐系统-小红书推荐场景及内部实践【线上召回和模型更新】
(6)工业界推荐系统-小红书推荐场景及内部实践【其他召回通道】
(7)工业界推荐系统-小红书推荐场景及内部实践【冷启动问题1】
(8)工业界推荐系统-小红书推荐场景及内部实践【冷启动问题2】
(9)工业界推荐系统-小红书推荐场景及内部实践【排序模型】
(10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】

推荐系统链路

在这里插入图片描述

粗排 vs 精排

在这里插入图片描述

精排模型

• 前期融合:先对所有特征做 concatenation, 再输入神经网络。
• 线上推理代价大:如果有 𝑛 篇候选笔记,整个大模型要做 𝑛 次推理。

在这里插入图片描述

双塔模型

  • 后期融合:把用户、物品特征分别输入不同的神经 网络,不对用户、物品特征做融合。
  • 线上计算量小:
    • 用户塔只需要做一次线上推理,计算用户表征 𝐚。
    • 物品表征 𝐛 事先储存在向量数据库中,物品塔在线上不做推理。
    • 预估准确性不如精排模型。
    在这里插入图片描述

粗排的三塔模型

在这里插入图片描述
在这里插入图片描述

1、有 𝑛 个物品,模型上层需要做 𝑛 次推理。
2、粗排推理的大部分计算量在模型上层。

三塔模型的推理

  • 从多个数据源取特征:
    • 1 个用户的画像、统计特征。
    • 𝑛 个物品的画像、统计特征。
  • 用户塔:只做 1 次推理。
  • 物品塔:未命中缓存时需要做推理。
  • 交叉塔:必须做 𝑛 次推理。
  • 上层网络做 𝑛 次推理,给 𝑛 个物品打分。
### 小红书消息系统架构与实现原理 小红书的消息系统作为其推荐系统的一部分,承担了重要的用户交互和内容分发任务。以下是对其架构、工作原理以及实现细节的详细解析。 #### 1. 消息系统的架构设计 小红书的消息系统主要基于去中心化的内容分发机制[^3],这种设计能够有效提升内容的多样性和用户的参与度。整个架构可以分为以下几个核心模块: - **数据采集层**:负责从用户行为、物品特征等多源数据中提取信息,并将其存储到分布式数据库中。这些数据包括但不限于用户点击、点赞、评论等交互行为。 - **召回层**:通过多种召回策略(如ItemCF、UserCF、Swing等)筛选出可能感兴趣的内容集合[^2]。此外,还引入了自监督学习改进的双塔模型来增强召回效果[^4]。 - **排序层**:对召回结果进行粗排和精排处理。粗排阶段通常采用三塔模型快速过滤无关内容;精排阶段则结合深度学习模型(如FM、DCN等)进一步优化排序结果[^6]。 - **重排层**:在最终展示前,应用多样性算法(如MMR、DPP)调整排序顺序,确保内容分布均衡且符合业务规则[^9]。 #### 2. 消息系统的实现原理 消息系统的实现依赖于高效的算法和技术手段,具体如下: - **实时性保障**:为了支持高并发场景下的实时消息推送,系统采用了流式计算框架(如Flink或Spark Streaming)。这些工具能够及时处理海量日志数据并更新模型参数[^2]。 - **个性化推荐**:利用深度学习框架训练用户偏好模型,例如通过LastN、DIN、SIM等方法建模用户行为序列[^8],从而实现精准匹配。 - **冷启动解决方案**:针对新用户或新物品存在的冷启动问题,采取全链路优化措施,包括流量调控(提权、保量等策略)以及AB测试验证效果[^11]。 - **性能优化**:借助Bloom Filter减少重复曝光检查开销,同时利用缓存技术加速热点数据访问速度[^5]。 #### 3. 关键技术点分析 以下是几个值得注意的技术亮点: - **多模态推荐框架 AlignRec**:该框架整合了文本、图像等多种类型的信息,提升了跨模态推荐质量。其创新之处在于提出了一个通用化的多模态嵌入空间对齐方案,已在多个公开数据集上取得SOTA表现[^3]。 - **自监督学习增强召回能力**:通过构造伪标签任务,让模型从无标注数据中学习有用的特征表示,进而提高召回精度[^4]。 - **特征交叉与融合**:运用FiBiNet等模型实现低阶与高阶特征的有效交互,增强了模型表达能力[^7]。 ```python # 示例代码:简单版双塔模型实现 import tensorflow as tf def create_two_tower_model(user_dim, item_dim, embedding_size): user_input = tf.keras.layers.Input(shape=(user_dim,)) item_input = tf.keras.layers.Input(shape=(item_dim,)) # Embedding layers user_embedding = tf.keras.layers.Dense(embedding_size, activation='relu')(user_input) item_embedding = tf.keras.layers.Dense(embedding_size, activation='relu')(item_input) # Dot product similarity dot_product = tf.keras.layers.Dot(axes=1)([user_embedding, item_embedding]) model = tf.keras.Model(inputs=[user_input, item_input], outputs=dot_product) return model model = create_two_tower_model(user_dim=100, item_dim=50, embedding_size=32) model.compile(optimizer='adam', loss='mse') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NLP_wendi

谢谢您的支持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值