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

【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(3)理解粗排模型之在线部分:在线架构及对双塔的应用

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

第二部分:粗排算法

第三节:理解粗排模型之在线部分:在线架构及对双塔的应用


一、粗排模型从“训练”走向“线上”的最大挑战是什么?

上一节我们完成了粗排双塔的离线训练部分(Embedding 学习 + Faiss/HNSW 索引)。
但模型训练完,并不等于能上线。真正落地粗排系统,需要解决 3 类工业问题:

上线挑战解释
低延迟单次召回必须 ≤ 10ms,否则精排无法接住
实时性用户向量要实时更新,“人变→召回变”
可扩展性Item 数量从百万→亿级,索引要可水平扩展

因此粗排的在线架构必须:

User 实时生成 → ANN 向量检索 → TopK 粗排结果 → 精排 → 重排 → 策略 → 展示
这就是工业界典型推荐系统 TPS/QPS 路径。


二、线上粗排整体架构(工程视角)

在线粗排架构可以用一张图说明:

 ┌──────────────┐     ┌──────────────┐     ┌──────────────┐│ User Feature │ --> │ User Tower   │ --> │ User Vector  │└──────────────┘     └──────────────┘     └───────┬──────┘│▼┌────────────────────┐│   ANN Vector DB    ││ (Faiss / Milvus)   │└───────┬────────────┘│  TopK▼┌────────────────────┐│  Candidate Items   │└────────────────────┘│▼【下游精排模型】

说明:

模块在线职责
User Tower(在线模型服务)实时生成用户向量(10ms 内)
Item Tower(离线产出)不在线推理,仅保存向量
ANN 检索服务TopK 召回,如 Faiss / Milvus / HNSW / Vespa

粗排本质是将在线流量变向量 → 用向量当钥匙 → 在向量库中开锁找 TopK内容。


三、双塔在在线系统中的运行机制

角色运行方式调用频率
Item Tower(离线)离线 Embedding + 索引构建物料变化才更新
User Tower(在线)实时推理生成用户向量每次推荐调用一次

因此:

在线只跑半个模型(User Tower) → 延迟低
ANN 召回只查向量库 → QPS 极高(百万级)
物料多也能扩,因为塔解耦

这就是双塔在线表现优于精排 DNN、DIN、BERT 的核心原因。


四、在线流程用伪代码还原

def online_recall(user_feature):# 1) 用户特征输入 → User Tower 得到在线向量user_vec = user_model.predict(user_feature)   # < 10ms# 2) ANN 检索 TopK 粗排候选scores, item_ids = ann_index.search(user_vec, topk=300)  # < 5~10ms# 3) 返回粗排结果 → 进入精排return item_ids

粗排必须 < 20ms 完成全部动作,否则上线毫无意义。


五、ANN 选型与使用建议(踩坑经验)

方案适用场景QPS特点
Faiss (CPU/GPU)千万级向量以内极高单机强,不适合集群
Milvus分布式召回企业级最佳选择
HNSW内存够、要求低延迟极高搜索质量最好
Faiss + HNSW 混合多路召回——最常见工业配置

经验结论:

粗排要的是 TopK 足够准 + 延迟足够低,而不是精排级别的匹配准确率。


六、线上版本更新策略:如何优雅平滑不倒服务

更新任务策略
User Tower 更新A/B Test + 双模型切换
Item Embedding 更新Shadow Index + 双索引切换
ANN Index 更新异步重建 + 热切换

要点:

不允许全量下线重建
不允许用户线上向量与物料空间不一致
必须保证所有请求可回溯

粗排系统本质上是 “强工程系统 + 弱模型复杂度” 的架构部分。


七、本节总结

你已理解状态
双塔在线为什么延迟低
粗排在线架构职责与数据流
User/Item 两塔如何解耦
ANN 如何服务粗排召回
完整工程化上线方案

一句话总结:

训练是为了表达能力,而上线是为了延迟与吞吐。粗排双塔在工程维度碾压所有表达能力更强的模型,所以它成为工业界标准。

http://www.dtcms.com/a/524540.html

相关文章:

  • Spring Boot 起步:自动装配的魔法
  • 嵌入式软件架构--显示界面2(呼叫界面,密码界面)
  • 购物网站制作怎么做wordpress移动自媒体
  • 酒店网站做的比较好的钓鱼网站的制作教程
  • 从理论到实战:生成对抗网络(GAN)在图像生成中的关键技巧与完整代码剖析
  • 在K8S中部署MySQL主从
  • go strconv包介绍
  • 论文阅读12——基于学习的具有扩散行为的人流量预测方法
  • 对于随机变量x1, …, xn,其和的范数平方的期望不超过n倍各随机变量范数平方的期望之和
  • ARM《3》_学习c和汇编的混合编程
  • 硬件工程师11月实战项目-10G高速数字示波器开发
  • FPGA Debug:Vivado程序综合卡在了Run Synthesis
  • 免费网站建设推广服务什么样的公司愿意做网站
  • 世隆科技:无人船——开启水上智能作业新时代
  • 网站后台模板关联自己做的网站电商网站楼层 设计
  • 【北京迅为】iTOP-4412精英版使用手册-第六十八章 U-boot基础知识
  • 关于函数调用其实是函数指针+传参+解引用的一些思考
  • 奇缦科技珠海网站建设优化网站地图样本
  • 【设计模式】组合模式(Composite)
  • 【论文精读】Matten:融合 Mamba 与 Attention 的视频生成新范式
  • HTB Networked writeup(network-scripts提权)
  • 如何入门python机器学习?金融从业人员如何快速学习Python、机器学习?机器学习、数据科学如何进阶成为大神?
  • 网站开发技术交流中国国家培训网
  • 网站无法做301重定向网站查询域名入口
  • 国产数据库MongoDB兼容性技术分析与实践对比
  • 350做网站深圳零基础网站建设入门到精通视频教程
  • 冒泡排序代码实现详解
  • 金仓多模数据库平替MongoDB的电子证照国产化实践——从2TB数据迁移到1600+并发支撑
  • 【优先级队列(堆)】3.前 K 个⾼频单词 (medium)
  • 苏州建站公司 诚找苏州聚尚网络设计图案用什么软件