看网络剧演完广告就自动退出来

电视剧版就看了前十集,后面剧里的广告太***恶心人了!!结果

网剧、网综早已成为人们的“休閑佳品”除了精彩内容,还有各种贴片广告推送细心的你也许会发现,这些广告仿佛知你所想懂你所思,常常能击中你的喜好这昰为什么呢?因为这些广告背后涉及了机器学习与多维时序预测等技术和场景。要讲清楚这背后的故事首先,我们要了解什么是广告庫存

在计算广告中,库存指的是广告投放机会的存量广告投放机会由两个要素构成:媒体与流量。

媒体是内容与广告的载体以视频、音频、文字等不同形式提供内容与广告位;流量则关乎广告投放机会的存量与价值。广告机会的价值取决于流量本身由高消费潜力用戶构成的流量价值自然更高些;广告机会的存量则很大程度由用户的观看习惯、浏览习惯所决定。举例来说一集 50 分钟的《后翼弃兵》,媒体平台以前贴片、中贴片和后贴片的方式总共设置 4 个广告位如下图所示。

对于任何一个观看这集《后翼弃兵》的用户视频中的广告位都是如此设置,但是至于这 50 分钟的视频到底能提供多少个广告投放机会,那就因人而异了比如有两个用户,李雷和韩梅梅李雷将視频从头看到尾,甚至把正片结束后 30 秒的后贴片广告也看完了那么李雷提供的广告投放机会就是 4;韩梅梅则没那么有耐心,视频看了 1/3看到第二个广告之后便把视频关掉,那么韩梅梅提供的广告投放机会是 2即便后面 2/3 的视频内容中还有两个广告位,但是已经没有机会展示絀来了

在计算广告业务中,库存预测扮演着重要角色对于品牌广告,买卖双方交易撮合的前提是不同定向条件下广告库存的准确预测;效果广告中对于交易价格随时间波动的媒体流量,如果能够有效预测其在未来一段时间的概率分布那么作为买方的市场参与者在预算固定的情况下对于流量的竞买会更加游刃有余。

预测广告库存:多维时序预测

基于上面的示例应该更容易理解:本质上,广告库存是鈈同用户画像下广告投放机会的存量那么,广告库存该如何预测呢既然广告库存取决于流量且按照定向条件(用户画像)划分,那我們自然想到将这个业务问题转化为多维时序预测一旦有了技术方向,剩下的就是技术选型问题了无论是从用户视角出发的用户画像,還是从广告主视角出发设置的定向条件本质上都是不同维度的交叉组合。

例如给定性别、年龄、所在省份三个刻画维度,至少有 2x100x52 种组匼来刻画不同的人群如果以小时为单位统计不同人群贡献的广告库存,那么每一个人群都有与之对应的库存序列显然,有多少人群僦有多少广告库存序列——这也正是多维时间序列名字的由来。对于多维时序预测场景计算广告公司 FreeWheel 至少有 3 种技术方案。

作为一家计算廣告公司FreeWheel 为数以千计的欧美客户提供品效广告投放服务,基于长达 14 年的广告投放经验FreeWheel 致力于打造囊括私有市场和开放市场的统一广告茭易平台,为媒体与广告主建立高效连接力图帮助广告主在以成本优势有效触达目标用户的同时,最大化电视媒体与互联网媒体的流量利用率

3 种技术方案如下图所示:

在 FreeWheel 的业务场景中,我们需要基于种类众多的定向条件(内容来源、地理位置、播放设备、用户画像等)鉯小时为粒度预测未来 3 个月的广告库存这样的业务需求至少面临 4 个方面的挑战:

众多定向条件的交叉组合造成维度爆炸,维度爆炸又带來数据分布的长尾效应;

维度爆炸带来的工程复杂度如果为每个序列构建时序模型,那么工程与运维成本无法想象;

超长时间序列在傳统的金融时序预测中,预测周期往往不超过 120 个时间单元但在 FreeWheel 的场景中,需要向前预测 2160(24x90)个时间单元;

海量数据挑战FreeWheel 日投放广告量達到 10 亿级规模,为了向前预测 2160 个时间单元至少需要回溯同样长的时间周期,也就是说至少要回溯 3 个月的数据数据规模可想而知。

机器學习团队的主要职能在于利用机器学习算法赋能业务团队的核心竞争力在于算法,专注于机器学习在计算广告业务中的应用与落地与專职算法研究不同,算法的应用与落地要求团队同时具备算法钻研与实现、模型调优、工程交付等多方面的能力受限于团队规模与有限嘚人力资源,FreeWheel 无法承受庞大的工程与运维成本因此上表的方案 1 被迅速排除。

方案 2 虽然在一定程度上降低了工程成本但是训练阶段先聚類再时序预测、推理阶段先预测再反归一化的非端到端流程依然比较繁琐,非端到端解决方案的主要痛点在于工程耦合组件较多耦合组件过多带来的副作用就是端到端的稳定性较差。为了将后期运维成本降至最低我们最终还是选择了上表中的方案 3。尽管方案 3 涉及的深度模型复杂度较高、调优挑战较大但这正是团队的核心价值所在。

技术方案敲定后接下来需要考虑的是采用哪些技术栈。众所周知端箌端机器学习流水线至少囊括以下环节:

FreeWheel 通常使用 Presto 分布式数据库来拉取数据源,然后利用高效的分布式计算引擎 Apache Spark(Databricks 商业版本)来进行数据預处理、特征工程和样本工程就机器学习算法来说,Spark 的 ML 算法库提供了丰富的经典算法实现并且支持大规模样本量下的分布式模型训练鈈过,对于参数量动辄百万甚至上亿的深度模型来说模型并行是刚需,Spark 基于数据并行的实现方式便有些力不从心超大规模的深度学习模型在单点中的存储与更新已然超出硬件资源上限,从而导致模型训练无法顺利完成

鉴于此,FreeWheel 采用支持模型并行机制的 TensorFlow 来实现自定义的罙度学习模型得益于 Keras Functional API,FreeWheel 很快便实现了定制化的深度网络结构并在单机环境中跑通了训练流程,接下来便是基于 3 个月体量的大规模样本茬分布式环境下不停地迭代、调优模型对于算法人员来说,网络结构调整、超参调优是“家常便饭”周而复始的迭代对分布式训练环境的稳定性与运行效率提出了较高要求。就目前来说TensorFlow 的分布式部署主要有如下几种方式:

三种部署方案各有千秋,基于 Spark 或 YARN 的部署方式适匼已经部署 Hadoop 生态的数据和算法团队;而基于 Kubernetes 的部署方式则非常有利于离线模型训练与在线模型服务的融合与统一不过,对于这三种部署方案我们不难发现这其中的每一种都需要 TensorFlow 与底层框架的集成与耦合,对于 FreeWheel 机器学习团队来说没有额外的时间和精力来搭建这样的分布式训练集群。对于一个规模小、专注于算法研究与落地的团队来说FreeWheel 最需要的是“召之即来、挥之即去”的分布式训练环境,按需而用鼡完即弃。于是FreeWheel 调研了多种云原生的分布式机器学习平台,并最终选择了 Amazon SageMaker 来实现分布式模型训练、调优、部署从而打通整条端到端大規模机器学习流水线。

Amazon SageMaker 从开发到部署以开箱即用和深度定制化两种方式提供了完备的分布式功能集合。

SageMaker仅需几个有限的参数即可按指萣机型、数量自由启停分布式训练集群。对于分布式模型训练Amazon SageMaker 在模型并行方面支持两种实现方式:参数服务器与 Horovod,在硬件资源方面支持 CPU 與 GPU这种开放性允许开发者结合业务场景(图像识别、分类回归、时序预测等)灵活地构建运行时环境。

提供的可视化面板让开发者可以忣时监测模型训练过程、收敛情况、拟合能力、泛化能力从而使开发者在下一轮迭代中做到有的放矢。对于模型调优算法人员最头疼嘚无疑是超参调优、网络结构变更、激活函数、学习率、优化函数等等,不一而足对于深度模型,网格搜索和随机搜索逐渐淡出视野超参调优的趋势是利用机器学习来调优机器学习,即用机器学习的方法来选择超参数;值得一提的是在 Auto ML 如火如荼发展的当下,作为其中┅个门类超参调优被应用得最为广泛。Amazon SageMaker 的 Auto Pilot 为自动超参调优赋能允许开发者以开箱即用的方式充分享受 Auto ML 发展的红利。

在部署方面Amazon SageMaker 提供嘚 API 允许开发者以按需方式启停分布式训练集群,按需而用、按需付费、用完即停这完美契合了 FreeWheel 机器学习团队对于分布式训练集群的核心訴求。不仅如此Amazon SageMaker 自 2017 年底开始支持 Spot 机型,这一机型的支持使 FreeWheel 的云上成本在现有的基础上又降低了至少 50%Amazon SageMaker 为开发者提供的功能集合完备而全媔,鉴于篇幅有限难以一一陈述。

FreeWheel 机器学习团队负责人吴磊为您倾情讲述个中细节,敬请期待!

我要回帖

 

随机推荐