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

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sap/ui/model/json/JSONModel 的 loadData 方法可以用于从服务器加载数据并将其设置为模型的数据。 参数: - sUrl: 要加载数据的 URL。 - oData: 要发送到服务器的数据。 - bAsync: 是否使用异步请求。 - sType: 请求的类型("GET" 或 "POST")。 例子: ``` // 从 URL 加载数据 var oModel = new JSONModel(); oModel.loadData("path/to/data.json"); // 使用 POST 方法从 URL 加载数据 oModel.loadData("path/to/data.json", null, false, "POST"); // 从 URL 加载数据并将数据作为参数发送到服务器 oModel.loadData("path/to/data.json", {key: "value"}); ``` ### 回答2: sap/ui/model/json/JSONModel的loadData是一个用于从服务器加载数据并将其设置为模型的方法。这个方法主要用于将数据从服务器加载到JSONModel中,以便在SAPUI5应用程序中使用。 loadData方法需要传入一个参数,即数据的URL地址。它会发送一个异步的HTTP GET请求到指定的URL,并读取服务器返回的JSON数据。一旦数据加载完成,loadData方法会将JSON数据解析成对象,并将这个对象设置为JSONModel的数据。 loadData方法在加载数据期间会触发一些事件,比如beforeRequestSent和requestCompleted。开发人员可以利用这些事件来执行一些自定义的操作,比如显示加载提示或处理错误。 在数据加载完成后,可以通过JSONModel的getProperty方法来获取数据中的某个字段的值,或者通过bindProperty方法将模型中的某个字段绑定到UI控件上。这样,应用程序的UI就能够展示服务器返回的数据了。 总的来说,sap/ui/model/json/JSONModel的loadData方法是一个非常有用的工具,它可以帮助开发人员轻松地从服务器加载数据到SAPUI5应用程序中,并在UI上展示出来。 ### 回答3: sap/ui/model/json/JSONModel的loadData方法用于从服务器端加载数据并将其绑定到JSON模型上。 当我们调用loadData方法时,首先需要传入一个URL参数,指定从服务器端获取数据的地址。在这个URL参数中,我们可以使用绝对路径或相对路径来获取数据。 当loadData方法被调用时,JSONModel会向服务器端发送一个异步请求,并等待服务器响应。一旦收到服务器的响应,JSONModel会解析响应中的数据,并将其转换为合适的格式,然后绑定到JSON模型上。 这个方法还接受一个可选的第二个参数,用于传递额外的请求参数。通过这个参数,我们可以在数据加载过程中传递一些额外的参数,例如请求头信息或查询字符串参数。 loadData方法返回一个Promise对象,我们可以使用这个Promise来处理数据加载的状态。当数据加载成功时,Promise会被解析,并返回响应中的数据。当数据加载失败时,Promise会被拒绝,并返回错误信息。 总而言之,sap/ui/model/json/JSONModel的loadData方法是用于从服务器加载数据并将其绑定到JSON模型上的方便方法。我们可以通过传递URL参数来指定数据的来源,同时还可以使用额外的请求参数来传递一些额外的信息。数据加载成功后,我们可以通过Promise来处理响应中的数据,或者在加载失败时处理错误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值