个性化推荐系统(八)--- 机器学习深度学习召回集扩量

个性化推荐系统评价有两个重要指标,一个是召回率一个是准确率。召回率就是:召回率=提取正确信息条数/样本中信息条数。准确率就是:准确率=提取出正确信息条数/提取信息条数。召回率大小直接影响准确率,直接影响机器学习模型、深度学习模型线上效果。

       模型实时计算第一步是模型上线,将spark、TensorFlow训练模型通过实时加载,使用到线上实时CTR点击量预估。是机器学习模型第一步,第二步是不断扩大线上召回集,增加新特征来提升点击量预估准确率。

       今天主要分享下线上实时模型召回素材、特征集扩容,最开始线上召回集数量是100,扩展到200,整个性能下降到70ms,加上线上逻辑性能已不可接受。这时我们想了个方法用多线程进行多核计算提升性能。经过上线测试每个线程计算50个数据,性能优化到计算只消耗3ms,已经线上使用。

        进一步线上召回集扩到1000,采用增加线程每个线程100个特征组,线上能能25ms,这种召回集扩量已在线上使用。

       下一步在扩量,性能瓶颈已经是IO,而不是多线程计算。将计算服务改成jar包此时召回集可以进行扩量到2000。

       在下一步扩召回集,取素材特征与提供接口服务拆分、接口服务通过并发分布式方式进行请求,此时召回集量应为几种方式最大。需要调整接口服务与素材、特征以及计算服务,通过测试得到IO、线程计算结果合并、多核计算的平衡,需排期配合。

       最后一步已基本和开源分布式搜索引擎计算方式类似,后续会持续调研新的优化方式,并引入到线上。总结一下,主要思路是先分开并采用多线程,在合并减少IO,最后通过分布式计算实现召回集扩量。

    微信搜索:debugme123

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏祝威廉

为Spark Deep Learning 添加NLP处理实现

前段时间研究了SDL项目,看到了Spark的宏大愿景,写了篇Spark新愿景:让深度学习变得更加易于使用。后面看了TFoS,感觉很是巧妙,写了一篇TensorF...

623
来自专栏数据处理

关联规则挖掘算法

482
来自专栏FreeBuf

基于大数据和机器学习的Web异常参数检测系统Demo实现

前 言 如何在网络安全领域利用数据科学解决安全问题一直是一个火热的话题,讨论算法和实现的文章也不少。前段时间看到楚安的文章《数据科学在Web威胁感知中的应...

2288
来自专栏AIUAI

GPU 显存 - Caffe 内存优化

3096
来自专栏人工智能LeadAI

TensorFlow分布式全套(原理,部署,实例)

TF的实现分为了单机实现和分布式实现,在分布式实现中,需要实现的是对client,master,worker process不在同一台机器上时的支持。数据量很大...

6096
来自专栏机器人网

工业控制PID系统的十五个基本概念

PID调节系统PID功能由PID调节器或DCS系统内部功能程序模块实现,了解与PID调节相关的一些基本概念,有助于PID入门新手快速熟悉调节器应用,在自动调节系...

2646
来自专栏腾讯大讲堂的专栏

微信亿级用户异常检测框架的设计与实践

月活用户越高的互联网产品,被黑产盯上的可能性就越大。本文将带你一窥究竟,微信是怎么做异常检测框架的?

1.3K8
来自专栏智能算法

数据异常到底该如何检测?(一)

小编在正式进入工作之后,面对的第一个需要去解决的问题:在网络安全监测中,如何发现异常数据?如异常用户登录,异常操作等。对于网络上的问题我确实是第一次接触这样类型...

3017
来自专栏算法channel

深入理解 TensorFlow :怎样的 AI 程序才是具备产品级的

目前市面上绝大多数的 TensorFlow 程序都基本可以称为玩具,那么,一个真正可以产品化的 TensorFlow 程序应该具有哪些的功能呢?

830
来自专栏木东居士的专栏

详解维度建模

3437

扫码关注云+社区