【推荐系统】model 落地(样本/特征/预测服务)

文章详细介绍了深度学习在搜索、广告和推荐系统中的应用,包括样本和特征处理、模型训练与预测、分布式模型服务以及匹配算法。重点讨论了增量训练优化模型更新、线上实时特征落盘提升性能和不同阶段的匹配流程。同时,提到了分布式机器学习对于处理大规模流量的重要性。

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

兜率宫小道童的个人空间-兜率宫小道童个人主页-哔哩哔哩视频(如下是该视频课系列的笔记)

1-深度学习在搜索、广告、推荐系统中的应用-业务问题建模_哔哩哔哩_bilibili

其他章节

目录

二、深度学习落地

模型训练服务流程

1-样本生成-标签拼接

 1-样本生成-转化延迟

2-特征处理-整体流程

2-特征处理-特征中台

2-特征处理-原始特征拼接 

 2-特征处理-特征分类与抽取算子

 2-特征处理-特征重要性

  2-特征处理-特征体系示例

3-模型训练平台-模型构建

3-模型训练平台-模型构建-模型结构

 3-模型训练平台-模型构建-损失函数

 3-模型训练平台-模型构建-优化器

3-模型训练-训练流程

4-模型预测服务

三、深度学习算法进阶

检索算法分类

 1-匹配算法分类

1-匹配算法-有表示匹配

1- 匹配算法-双塔模型-训练

1-匹配算法-双塔模型-预测

1-匹配算法-双塔模型-ANN 检索

 2-匹配流程 

2-匹配流程-召回发展

2-匹配流程-粗排发展

2-匹配流程-精排发展-1

2-匹配流程-精排发展-2

 四、深度学习进阶

分布式机器学习 GitHub - dmlc/ps-lite: A lightweight parameter server interface

一天访问量会有百亿级别,单机是无法满足服务,做分布式模型服务
分布式模型服务-> 无状态,机器间不会被依赖


一些结论

  • 增量训练

用历史上一个训练好的模型做初始化,
用过去一个月,或者是三个月的样本做全量训练。 但此时,训练量是很大的,
比如,今天用前30天的样本进行训练,
明天用新增数据做增量训练,极大加快了模型的训练速度。有利于把最新的样本反应到 model 里面去,
对用户、商品冷启都有好的效果。

  • 线上实时特征落盘

为什么在线特征定期同步给离线平台?——节约性能
当我们在线上发起一次预估请求,会将 model所需的成百上千特征都收集好,送给 model去预测。
我们希望将这成百上千特征都存下来,直接离线做明文特征抽取。
因为特征很多,会导致用来存储特征的线上包很大,会影响线上的性能+从在线到离线的存储过程中,会产生大量的时间开销。
由此产生:
只将线上的实时特征落盘过来,将时间不敏感的特征用离线特征平台拼接给样本。一方面节省线上开销,离线可以并行提高处理速度。 

  • 交叉熵 衡量两个部分的差异。
  • NHSW的损失是比较小的,检索效率高。
  • 特征方差比较大,会造成 model梯度颠簸,会影响模型收敛速度和效果,所以要做归一化/log 等。
  • 近线系统:model 是天级别更新的,但是特征是天级别、小时级别更新的。???

二、深度学习落地

如何在检索匹配中使用深度学习?

2.1-深度学习在搜索、广告、推荐系统中的应用-样本和特征处理_哔哩哔哩_bilibili

模型训练服务流程

1-样本生成-标签拼接

 1-样本生成-转化延迟

2-特征处理-整体流程

2-特征处理-特征中台

2-特征处理-原始特征拼接 

 2-特征处理-特征分类与抽取算子

 2-特征处理-特征重要性

  2-特征处理-特征体系示例

2.2-深度学习在搜索、广告、推荐系统中的应用-模型训练和预测_哔哩哔哩_bilibili

3-模型训练平台-模型构建

3-模型训练平台-模型构建-模型结构

 3-模型训练平台-模型构建-损失函数

 3-模型训练平台-模型构建-优化器

3-模型训练-训练流程

4-模型预测服务

模型文件:1、emb词表;2、model 的网络参数;

网络参数是可以加载到内存里的,但是 emb 不行。 

实际预测时,model 后台会将这次预测用到的所有特征收集好,进行特征处理之后,将处理之后的稀疏特征的 emb 读取回来,再将 emb 和dense特征一起送给 model 预估的机器做预测。

考虑线上的流量比较大,一天会有百亿级别,单机无法满足,往往会做一个分布式的模型服务。

服务是无状态的,各个机器之间不依赖。不用写,只读,会比较简单。

三、深度学习算法进阶

复杂深度学习模型在检索匹配中的应用? 

3.1-深度学习在搜索、广告、推荐系统中的应用-算法进阶-匹配算法分类_哔哩哔哩_bilibili

检索算法分类

 1-匹配算法分类

1-匹配算法-有表示匹配

1- 匹配算法-双塔模型-训练

1-匹配算法-双塔模型-预测

1-匹配算法-双塔模型-ANN 检索

 3.2-深度学习在搜索、广告、推荐系统中的应用-算法进阶-分阶段演进_哔哩哔哩_bilibili

 2-匹配流程 

2-匹配流程-召回发展

2-匹配流程-粗排发展

2-匹配流程-精排发展-1

2-匹配流程-精排发展-2

 四、深度学习进阶

分布式机器学习

4-深度学习在搜索、广告、推荐系统中的应用-分布式机器学习_哔哩哔哩_bilibili

### 神经网络预测算法的实现与应用 #### 神经网络预测算法概述 神经网络是一种模仿生物神经系统功能和结构的信息处理系统,能够通过大量数据的学习来调整内部参数,从而完成复杂的映射关系建立。在机器学习领域中,神经网络作为一种重要的算法或模型,用于从数据中自动学习并提取模式[^2]。 对于神经网络而言,在面对具体的预测任务时,会经历两个主要阶段——训练阶段以及测试/推理阶段: - **训练阶段**:在此期间,利用已知输入输出样本对(即标记的数据),采用诸如梯度下降法之类的最优化策略不断更新权重矩阵Wij及其偏置项bi直至损失函数E收敛至局部最小值附近;此过程中涉及到前向传播计算预期输出y_hat及误差δ,并借助反向传播机制传递这些信息以修正连接强度w_ij。 - **测试/推理阶段**:当获得满意的拟合精度之后,则可将待测实例送入已经过充分调校后的网络架构之中执行正向运算流程得出最终判定结论z*。 ```python import numpy as np from sklearn.model_selection import train_test_split from keras.models import Sequential from keras.layers import Dense, Dropout def create_model(input_dim): model = Sequential() # 添加隐藏层 model.add(Dense(64, activation='relu', input_shape=(input_dim,))) model.add(Dropout(0.5)) # 输出层 model.add(Dense(1, activation='sigmoid')) return model X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) model = create_model(X.shape[1]) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) history = model.fit(X_train, y_train, epochs=20, batch_size=32, validation_data=(X_test, y_test)) loss_and_metrics = model.evaluate(X_test, y_test) print(loss_and_metrics) ``` 上述代码展示了如何构建一个简单的二分类问题下的全连接型人工神经元网络,并完成了基本配置、编译操作以及训练过程演示。值得注意的是,这里仅选取了一个较为基础的例子来进行说明,实际上根据不同应用场景需求还可以进一步扩展复杂程度更高的卷积核池化单元或者循环门控记忆体等特殊组件加入进来形成更强大的表达能力。 #### 应用场景举例 神经网络广泛应用于各个行业当中,特别是在那些难以找到显式解析解的任务上表现尤为突出。例如但不限于以下几个方面: - 图像识别:通过对海量图片资料库进行深度挖掘分析进而区分不同类别对象; - 自然语言理解:让计算机读懂人类日常交流所使用的文字表述形式; - 时间序列建模:针对连续变化趋势做出精准预估判断如股票价格走势预测等; - 推荐系统:依据用户历史行为偏好为其推送个性化商品服务推荐列表。 #### 关键挑战与发展机遇 尽管取得了诸多成就,但在实际工程落地实施环节仍然面临不少困难亟需克服。一方面由于模型本身高度依赖于高质量标注过的大型数据库支撑才能发挥最佳效能,另一方面硬件设施成本投入较大且耗电量惊人不利于大规模普及推广。不过随着云计算平台资源日益丰富加上专用集成电路芯片技术进步带来的效率提升,相信未来几年内这些问题都将逐步得到妥善解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值