从零搭建算法在线工程

算法工程

从0搭建算法在线工程

应用:

  • CTR预估
  • NPL计算文本情感,相关性分数等

算法线上工程开发人员要解决如下问题:

  • 工程人员和算法人员解耦:特征处理和模型训练交给算法开发处理,工程端加载模型和特征处理流程。
  • 保证性能
  • 配置化:通过配置实现算法策略的上线和迭代。
  • 数据,模型版本怎么管理

包括如下管控平台:

  • 版本管理平台
  • 模型管理平台
  • 特征管理平台(包括特征数据和特征处理jar包的管理)
  • 打分管理平台

打分流程

涉及到以下服务:

  • 打分服务
  • 特征服务
  • 版本管理服务
  • tensorflow模型服务

在这里插入图片描述

打分服务

打分req&resp
请求:

{
   
    "app_name":"favpush",
    "origin":{
    // origin是一个map
        "goods_id":123,
        "uid":234
    }
}

打分的response是多个tensor,这些tensor是在fg类中指定的。

流程如下

  • 将请求根据配置中心的配置,分桶到某一个solution,每个solution的配置在打分服务都会实例化一个通用的处理类,如com.xxx.service.RankingSoltution。solution的配置包括:模型,特征query模板,特征处理类等信息
  • 解析特征query模板,得到特征query,调用特征查询服务获取特征,拼接featureMap
  • 用特征处理类处理featureMap,得到tensorIO
  • 调用模型服务,输入tensorIO、模型名等信息得到推理结果。

配置
配置中心上存放应用分桶AB的配置,比如:

{
   
    "app_name":"favpush",
    "solutions":[
        {
   
            "v1":{
   
                "features":{
   
                    "user_vec":"getKV user_tbl {uid}|{version:favpush_vec_v2}",
                    "goods_vec":"getKV goods_tbl {goods_id}|{version:favpush_vec_v2}"
                },
                "model":{
   
                    "name":"favpush_lr",
                    "version":"favpush_lr_v1"
                },
                "fg": {
   
                    "class": "com.xxx.ranking.fg.LRFg",
                    "version": "v2"
                },
                "buckets":[
                    0,
                    1,
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值