当前位置: 首页 > news >正文

深入解析:【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(2)理解粗排模型之离线部分:双塔模型结构精讲及实现

深入解析:【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(2)理解粗排模型之离线部分:双塔模型结构精讲及实现

第五章:计算机视觉-项目实战之推荐/广告系统

第二部分:粗排算法

第二节:理解粗排模型之离线部分:双塔模型结构精讲及实现


一、粗排在推荐系统中的位置:为什么它需要“双塔模型”?

回顾完整推荐系统流程:

召回 → 粗排 → 精排 → 重排 → 策略 → 展示

其中:

阶段典型数量级目标典型模型
召回1万~10万候选保证召回覆盖面Faiss / Milvus / i2i / u2i
粗排几百~几千候选快速筛掉明显不相关内容双塔(Two-Tower / DSSM)
精排50~200候选细粒度评分DNN / Wide&Deep / DIN / Transformer
重排20~50候选多目标+多样性GBDT / Rank / 强化学习

粗排模型的核心目标只有一句话:

在极低延迟的前提下,让真正相关的内容尽可能排在前面。

因此粗排必须具备 3 个特点:

粗排需求能力
高 QPS(百万级)必须轻量推理
向量化检索需要可 ANN 检索
用户实时性 & 物料稳定性解耦用户变、物料不变

而双塔模型刚好满足全部要求,因此成为工业界粗排事实标准方案


二、双塔模型核心结构拆解(Two-Tower Architecture)

结构非常简单,可用一句话概括:

将用户和物料分别编码为向量,并在同一向量空间对齐,通过向量相似度衡量匹配分数。

如下图结构(示意图):

   ┌──────────────────────┐        ┌──────────────────────┐│     User Tower       │        │      Item Tower      ││ Embedding + DNN      │        │  Embedding + DNN     │└───────┬──────────────┘        └─────────┬────────────┘│                                   │User Vector u                        Item Vector v│                                   │└─────────── Cosine / Dot ──────────┘Matching Score

特点如下:

组件作用
User Tower建模用户兴趣(行为序列、性别、年龄、兴趣 Embedding)
Item Tower建模物料语义(标题、分类、作者、Embedding)
Matching Space将两塔向量映射到同一个语义空间
Similaritycos(u, v) / u·v 作为分数

粗排不追求强表达能力,而是追求快 & 稳定 & 易 ANN 检索,因此双塔非常适配。


三、训练样本构造与损失函数

双塔训练本质是对比学习(Contrastive Learning),最主流 Loss 为 InfoNCE,思想:

正样本相似度要高,负样本相似度要低。

训练样本格式:

userpositive itemnegative items
U1I_posI_neg1, I_neg2, I_neg3…

Loss 公式(Batch 内共享负样本):

L=-\log \frac{e^{sim(u, v^+)}}{\sum_{j=1}^{N} e^{sim(u, v_j)}}

工业界中 90% 粗排都这么训练,原因是:

不需要额外负样本生成
Batch 内天然提供大量负样本
收敛快,鲁棒性高


四、可运行的 PyTorch 双塔粗排核心代码(可直接训练)

import torch
import torch.nn as nn
import torch.nn.functional as F
class TwoTowerModel(nn.Module):def __init__(self, user_num, item_num, emb_dim=64):super().__init__()self.user_emb = nn.Embedding(user_num, emb_dim)self.item_emb = nn.Embedding(item_num, emb_dim)def forward(self, user_ids, pos_item_ids):u = self.user_emb(user_ids)           # [B, D]v = self.item_emb(pos_item_ids)       # [B, D]u = F.normalize(u, dim=-1)v = F.normalize(v, dim=-1)logits = torch.matmul(u, v.t())       # [B, B] 共享负样本labels = torch.arange(len(user_ids)).to(user_ids.device)loss = F.cross_entropy(logits, labels)return loss, u, v

训练循环:

optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
for batch in train_loader:loss, u, v = model(batch['user'], batch['item'])optimizer.zero_grad()loss.backward()optimizer.step()

训练完成后产出:

user_emb.pt
item_emb.pt

这两份向量即可对接 ANN(Faiss / Milvus / HNSW)用于粗排检索。


五、粗排 ANN 召回衔接流程(离线 + 在线)

阶段操作
离线将所有 item embedding 建索引(Faiss/HNSW/Milvus)
在线User embedding → TopK nearest item → 进入精排

伪代码:

import faiss
index = faiss.IndexFlatIP(emb_dim)
index.add(item_emb_np)
scores, ids = index.search(user_emb_np, topk)

粗排返回 100~500 item,进入精排 → CTR/DIN 计算更精的点击相关度
这是工业界最稳定的两阶段结构。


六、双塔 vs DSSM vs 精排模型对比总结

模型用途特点
双塔(粗排主力)Matching快、可 ANN、结构简单
DSSM召回多用于语义匹配,结构更深
精排 DNN/DINScoring单路模型,表达强但慢

一句话总结:

双塔不是最强的模型,但在粗排阶段它一定是最合适的模型。


七、本节总结

你现在已经理解了状态
粗排为什么存在
为什么双塔是粗排最佳方案
双塔结构、Loss、训练逻辑
PyTorch实现
如何与 ANN 连上,进入工业流水线
http://www.jsqmd.com/news/360642/

相关文章:

  • AI应用软件的外包开发
  • 零基础入门:手把手教你本地搭建RAG专属知识库与智能助手(收藏版)
  • 讲讲2026年值得选的工业铝材品牌制造商,佛山选哪家 - 工业品网
  • 2026年江苏岩板厂商实力盘点与采购指南 - 2026年企业推荐榜
  • 别再瞎找了!千笔,抢手爆款的AI论文软件
  • STM32F103 量产伺服驱动器方案揭秘
  • 缺陷分类
  • 小白程序员必看!收藏这份大模型学习资料,轻松入门AI新风口
  • 诺丁山婚礼是否提供一站式服务,分析其在南通市场口碑如何 - 工业品网
  • 79.跳跃游戏 II
  • 2026年工业大脑公司推荐:涵盖离散与流程制造场景评测,直击效率低下与维护困难痛点 - 品牌推荐
  • 收藏!小白程序员必看:6种Multi-Agent设计模式,轻松入门
  • 洪水区域检测数据集含有部分普通无人机视角航拍洪水检测数据集 洪涝灾害监测、智慧城市应急响应、遥感影像分析 YOLOV11模型如何训练洪水自然灾害检测数据
  • 2026年工业大脑公司推荐:多场景实测评价,解决数据孤岛与决策滞后核心痛点 - 品牌推荐
  • 收藏!小白程序员必备:轻松入门大模型,解锁智能文档助手RAGFlow技能!
  • 2026年卸落块优质源头厂家综合实力深度解析 - 2026年企业推荐榜
  • DIODES AL8862SP-13 SOP8 LED驱动
  • 一文讲透|全网爆红的降AIGC软件 —— 千笔·降AI率助手
  • 【网络安全】渗透测试必备6款漏洞扫描工具,零基础入门到精通,收藏这篇就够了
  • 2026年河北挡烟垂壁厂商综合评测与采购指南 - 2026年企业推荐榜
  • 2026年2月徐州储物柜/全屋定制/书柜书架/卧室套装厂家竞争格局深度分析报告 - 2026年企业推荐榜
  • 用于构建多智能体系统的智能体架构模式——智能体式AI架构:组件与交互
  • 小白程序员必备:精选9大靠谱开源技术栈,轻松入门大模型开发 收藏这份实用指南
  • 深入浅出LangChain4J
  • 收藏备用|程序员/小白入门大模型全攻略,转行避坑+方向拆解,看完少走1年弯路
  • 保定检查井模具选购指南:2026年口碑厂家实力解析 - 2026年企业推荐榜
  • 项目分享|SAM-Audio:音频领域的“万物分割”通用模型
  • 柑橘叶片病害数据集(5类)
  • 2026年鄂尔多斯铁路煤炭运输用抑尘剂好用的品牌有哪些 - mypinpai
  • 探讨天龙中学周边文昌鸡店口碑,珠江道附近白切鸡美食店怎么选 - 工业推荐榜