召回08 双塔模型——线上服务、模型更新

news/2024/9/29 6:02:49 标签: 人工智能, 机器学习, 深度学习, 算法

线上召回

离线存储:

模型训练好之后,部署到线上做召回,快速找到用户感兴趣的物品。

对训练好的两个塔,线上服务前,先用右边的物品塔提取物品的特征做离线存储,记作特征向量b,把(b , id)二元组保存到数据库(Milvus、Faiss等)。然后对数据库建立索引,即划分几个区域,一个区域用一个向量表示,这样可以加速最近邻查找

线上召回:

用户塔不需要事先计算和存储用户向量,而是当用户发起推荐请求的时候,调用神经网络在线上现算特征向量a,然后把向量a作为quary取数据库中做检索,查找最近邻,即和用户相似度最高的k个红色向量。每一个红色向量对应一篇笔记,K近邻查找一共召回了k篇笔记,作为这条召回通道的结果返回。

双塔模型的召回:

接下来,召回的物品跟itemcf、swing、usercf 等召回通道的结果融合,经过排序,最终展示给用户。

为什么要离线存储物品信息,区别对待两个塔?

模型更新

全量更新:

 

增量更新:

基于工程实现的考量,增量更新是不断做梯度下降更新模型的embadding层,不更新神经网络其他部分的参数,全连接层的其他参数都是锁住的。只有做全量更新的时候才会更新全连接层。

用户id embadding是哈希表的形式,给定Id可以查出id embadding向量(用户的特征向量)。增量更新可以捕捉到用户的最新兴趣点。

发布用户id embadding会有延迟,xhs系统优化可以降低到几十分钟,刷新用户塔embadding参数,更新用户特征向量。

下面这张流程图中,要把前天的数据做random shuffle打乱,然后做随机梯度下降,只训练one epoch,即每条数据只过一遍。增量更新是分钟级别的。

能不能只做增量模型,不考虑全量?

两种都进行训练效果更好。用户在不同时间段行为偏差太大。

全量训练的模型更好,而增量训练的模型可以实时捕捉用户的兴趣。

总结:


http://www.niftyadmin.cn/n/5682517.html

相关文章

【有啥问啥】具身智能(Embodied AI):人工智能的新前沿

具身智能(Embodied AI):人工智能的新前沿 引言 在人工智能(AI)的进程中,具身智能(Embodied AI)正逐渐成为研究与应用的焦点。具身智能不仅关注于机器的计算能力,更强调…

OpenCV视频I/O(11)设置视频捕获设备的属性函数 set()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 VideoCapture 中设置一个属性。 在OpenCV中,cv::VideoCapture::set() 函数用于设置视频捕获设备的属性。这些属性可以包括分辨率、…

华为-单臂路由

1、什么是单臂路由 单臂路由(Single-Arm Routing)是一种网络架构和配置技术,它允许路由器通过一个物理接口来管理多个虚拟局域网(VLAN)之间的通信。 这个物理接口被配置为Trunk模式,以便能够传输来自不同VL…

Django——admin创建和使用

1. Django Admin简介 Django Admin是Django框架自带的一个管理后台工具,它允许开发者通过一个直观的Web界面轻松地管理应用中的数据模型。Admin提供了模型的CRUD(Create,Read, Update, Delete)操作,以及数据的批量处理和搜索功能…

使用VBA快速生成Excel工作表非连续列图片快照

Excel中示例数据如下图所示。 现在需要拷贝A2:A15,D2:D15,J2:J15,L2:L15,R2:R15为图片,然后粘贴到A18单元格,如下图所示。 大家都知道VBA中Range对象有CopyPicture方法可以拷贝为图片,但是如果Range对象为非连续区域,那么将产生10…

ubuntu中库文件安装的位置以及头文件的位置

在 Ubuntu 系统中,C 的库文件通常安装在 /usr/lib 或 /usr/local/lib 目录下。其中: /usr/lib:主要存放通过包管理器(如 APT)安装的库文件。/usr/local/lib:通常用于存放手动编译安装或第三方软件的库文件…

mariadb实现冷备份与恢复操作案例(物理冷备份,周期性备份)详解

文章目录 前置环境一、物理冷备份1.备份2.恢复检查结果 补充: 周期性恢复操作 前置环境 主机ipmariadb1192.168.10.11mariadb2192.168.10.12 mairadb1操作 安装mariadb yum -y install mariadb-server启动mariadb systemctl start mariadb这里只是演示备份与恢复…

【接口测试】测试试题

需要技能竞赛软件测试资料的同学们可s聊我,详细了解 一、接口测试 (一)概述 按照软件接口测试文档要求,执行接口测试;使用接口测试工具PostMan,编写脚本、配置参数、执行接口,对设计过程及测…