快速模型更新在精准广告推荐中的应用

n672

贡献于2015-02-07

字数:0 关键词: 分布式/云计算/大数据

快速模型更新在精准广告推荐中的应用 腾讯 数据平台部 精准推荐中心 薛伟 2014.4 目录 • 背景:精准广告推荐 • 挑战:快速模型更新 • 方案:Spark & Friends • 效果和展望 目录 • 背景:精准广告推荐 • 挑战:快速模型更新 • 方案:Spark & Friends • 效果和展望 推荐的场景 • 在腾讯海量用户积累的基础上,基于 “数据+算法+系统”的设计理念, 运用大数据技术,进行以人为核心的 数据挖掘,提供“全流程数据驱动的 海量、精准、实时”的个性化推荐服 务,支持各类应用场景 • 典型应用场景 – 以广告推荐为代表的精准营销 – 以视频推荐为代表的相关推荐 – 以电商推荐为代表的效果推荐 –…… 推荐的数据 推荐引擎 推荐上下文 物品 用户 自身属性: 素材特征、文本Tag 类别、价格、成交量 定向规则 、投放预算 生命周期等 派生属性: 归属的行业分类等 属性: 推荐位:首页,IM,详情页… 对应页面内容,页面位置排序… 时间、地点、环境变量等… 推荐上下文 交叉效应: 用户-物品, 用户-推荐位, 物品-推荐位, 用户-物品-推荐位的相似度 基础数据:年龄、地域、性别 内容: UGC内容:博客、微博内容等 行为:浏览 /收藏/ 喜欢/ 消费/分享等 场景:时间、地点 关系链:好友/朋友/微博关系链 推荐的算法 • 用户实时行为 – 关联,重定向 • 老用户-老广告 – 经典模型效果好 • 老用户-新广告 – 借助广告相关的标签,文 本,类目,以及提取的广 告特征等 • 新用户-老广告 – 借助用户分群,转移学习 等 • 新用户-新广告 – 寻找相关信息量 规则算法 (重定向, 关联规则,热度,…) 协同过滤算法 (基于邻域,各种矩阵分解,…) 图算法 (最近邻,各类图挖掘,…) 分类算法 (LR,RDT,GBDT,NN,…) 基于内容的算法 混合算法 AD Ranking = scoring+PCTR+filtering ECPM=CTR*CPC 目录 • 背景:精准广告推荐 • 挑战:快速模型更新 • 方案:Spark & Friends • 效果和展望 精准广告推荐面临的挑战 • 挑战 – 规模大 • 800m+ 月活用户超过8亿 • 10,000 + 通常单个推荐位可投广告在10万级别以上 • 10 b+ 日均推荐请求量可达100亿次+ – 变化快 • 1-3 一般用户看到广告的曝光机会仅有1-3次/天 • 3-9 大部分广告的生命周期仅有3-9天左右 • 实时 用户,订单,上下文相关的特征数据实时变化 • 广告推荐依赖机器学习模型来实现精准营销 – scoring – PCTR – filtering • 模型从历史数据中归纳规律用于预测未来,当历史数据分布和 当前数据差异过大时,模型预测效果就会受限,因此需要快速 更新模型才能应对上述挑战 目录 • 背景:精准广告推荐 • 挑战:快速模型更新 • 方案:Spark & Friends • 效果和展望 问题分解 • 数据准备 – 特征数据接入 – 特征数据处理 – 训练数据生成 • 模型训练 – 迭代式机器学习算法 • 模型应用 – 模型推送 – 模型预测 • TDBank – 基于Apache Flume的分布式实 时数据接入平台,接入方式简单, 支持异构数据源,支持多种数据 分发方式,支持实时监控 – 用于用户画像,订单信息,上下 文信息等特征数据的接入,以及 点击流数据的接入 – 日接入消息5000+亿 – 平均采集延迟1-2秒 • TDW – 基于Apache Hadoop + Hive的 分布式数据仓库 – 用于承载海量数据(包括接入数 据的落地),运行大规模批处理 作业 – 单集群5600台,存储量100PB+, 日均计算量5PB+ 广告投放系统 TDBank 系统 TDW 特征数据接入 • TDProcess – 基于Apache Storm的分布式实 时数据处理平台,支持资源管理, 容灾和权限管理,支持实时监控 – 用于对接入的原始数据做清洗, 统计,转换和入库,同时还负责 训练数据的生成和落地 – 日计算量10000+亿 – 秒级延迟 • TDE – 全内存分布式K/V存储,支持业 务隔离,平滑扩展,容灾 – 用于提供统计,模型训练和预测 所用到的特征数据存取服务 – 日读写4000+亿,存储量3T – 毫秒级延迟 广告投放系统 TDBank 系统 TDProcess 流计算 TDEngine 分布式存储引擎 TDW 特征数据处理和训练数据生成 特征数据处理和训练数据生成 – tricks • 多粒度用户行为特征统计 – 用户行为数据是推荐系统用到的一类重要特征,如最近的浏览/下单行为,站点活跃度等 – 此类特征沿时间轴可以划分不同的粒度,可利用其计算性质来减少计算量和存储量 • 平衡特征数据存取需求 – 特征统计,模型训练和模型预测时均需存取特征数据,但存取粒度有所不同,体现为存取时所 用的key不同 – 分布式K/V存储设计应综合考虑各种粒度的存取需求,平衡请求次数和单次请求的数据量 • Spark – 快速通用的大规模数据处理引擎 – 用于运行迭代式机器学习算法, 训练推荐模型 – 每15分钟更新一次模型 • 为什么选择Spark – In-Memory计算,同等数据量的 情况下,可以比Hadoop快1到2 个数量级 – 优雅的编程模型,方便原有基于 Hadoop的算法程序的移植,也 方便开发新的迭代式机器学习算 法程序 广告投放系统 TDBank 系统 TDProcess 流计算 TDEngine 分布式存储引擎 TDW Spark 模型训练 模型训练 – tricks • 滑动时间窗口 – 使用一个滑动窗口内的训练数据来训练模型 – 综合考虑广告的生命期和流量状况,选择适当的滑动窗口尺寸 – 数据落地采用多种时间粒度,目前最小粒度为5分钟 • 数据抽样 – 点击/曝光数据实时接入后,生成训练数据时,曝光经过抽样 – 可以根据点击率等因素来精调抽样率,寻找模型精度和计算耗时的平衡点 • 优化数据结构 – 应尽量采用简单数据类型和数据结构,减少内存占用和计算开销 • 减少shuffle的次数 – 充分发挥Spark的优势,需要寻找特定于数据和算法的技巧来减少shuffle次数 • 减少迭代次数 – 定期调优算法参数,优化收敛速度,减少迭代次数 • 实时推荐引擎 – 通用的分布式实时推荐平台 – 负责用模型对粗筛后的候选订单 做实时预测,形成推荐 – 日请求100+亿,日推荐10000+ 亿 – 推荐延迟10~50ms,模型推送延 迟秒级~分钟级 广告投放系统 TDBank 系统 TDProcess 流计算 TDEngine 分布式存储引擎 实时推荐 引擎 TDW Spark 模型推送和预测 效果和展望 • 线上实验证明,快速模型更新可带来5%~15%的效果提 升 • 未来展望 – 在更多的场景使用Spark:更快的数据仓库,交互式数据分析 – 更大规模地使用Spark:Spark on Yarn,加强QoS保障 – 持续优化Spark应用 – 参与社区 Thanks Q&A

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档