什么是广告库存?
在计算广告中,库存是指广告机会的库存。广告机会由两个要素组成:媒体和流量。
媒体是内容和广告的载体,以视频、音频、文字等不同形式提供内容和广告空间;流量与广告机会的存量和价值有关。广告机会的价值取决于流量本身。消费潜力高的用户组成的流量价值自然就更高;广告机会的存量很大程度上取决于用户的观看习惯和浏览习惯。例如,在《后翼弃兵》的50分钟剧集中,媒体平台以前贴片、中贴片、后贴片的形式总共设置了4个广告位,如下图所示。
广告机会指示
对于任何观看《后翼弃兵》这集的用户来说,视频中的广告位都是这样设置的。不过,至于这50分钟的视频能提供多少广告机会,那就因人而异了。例如,有两个用户,李雷和韩梅梅。李雷把视频从头到尾看了一遍,甚至还看了正片结束后30秒的后贴片广告。那么李雷提供的广告机会为4;韩梅梅没有如果你有耐心看1/3视频,看到第二个广告后就关掉视频,那么韩梅梅提供的广告机会就是2个,即使接下来的2/有两个广告位3的视频内容,却一直没有机会展示。
在计算广告业务中,库存预测发挥着重要作用。对于品牌广告而言,买卖双方交易匹配的前提是准确预测不同定向条件下的广告库存;在效果广告中,对于交易价格随时间波动的媒体流量,如果能够有效预测其未来的概率分布,那么作为买方的市场参与者在预算固定的情况下会更放心地竞价流量。
预测广告库存:多维时序预测
根据上面的例子,应该比较容易理解:本质上,广告库存就是不同用户画像下广告机会的存量。那么,如何预测广告库存呢?由于广告库存依赖于流量,并且根据定向条件(用户画像)进行划分,因此我们很自然地想到将这个业务问题转化为多维度的时间序列预测。一旦有了技术方向,剩下的就是技术选型问题了。无论是从用户角度的用户画像,还是从广告主角度设定的定向条件,本质上都是不同维度的交叉组合。
例如,给定性别、年龄、省份三个描述维度,至少有2x100x52的组合来描述不同的人群。如果按小时计算不同人群贡献的广告库存,那么每一人群都有相应的广告库存。顺序。显然,有多少人就有多少广告库存序列。 —— 这就是多维时间序列名称的由来。针对多维时间序列预测场景,计算广告公司FreeWheel至少有三种技术解决方案。
关于FreeWheel

作为一家计算广告公司,FreeWheel 为成千上万的欧美客户提供优质高效的广告服务。基于14年的广告经验,FreeWheel致力于打造一个包含私人市场和公开市场的统一广告交易平台,为媒体和广告主建立高效的连接,努力帮助广告主以成本优势有效触达目标用户,同时实现流量最大化电视媒体和网络媒体的利用。
3种技术方案如下图所示:
不同技术方案的优缺点
多个方向条件的交叉组合导致维度爆炸,进而带来数据分布的长尾效应;
维数爆炸带来的工程复杂性。如果为每个序列建立一个时序模型,工程和运维成本是难以想象的;
很长的时间序列。传统金融时间序列预测中,预测周期往往不超过120个时间单位,但在FreeWheel场景下,需要向前预测2160(24×90)个时间单位;
海量数据挑战。 FreeWheel 日广告量达到10 亿。为了预测未来2160个时间单位,需要至少回溯同样长的时间段,这意味着至少必须回溯3个月的数据。数据规模可想而知。
机器学习团队的主要职能是利用机器学习算法为业务赋能。团队的核心竞争力在于算法,专注于机器学习在计算广告业务中的应用和落地。与全职算法研究不同,算法的应用与实施需要团队具备算法研究与实现、模型调优、项目交付的能力。由于团队规模和人力资源有限,FreeWheel无法承担巨大的工程和运维成本,因此上表中的方案1很快被淘汰。
虽然方案2在一定程度上降低了工程成本,但训练阶段先聚类后时间序列预测、推理阶段预测后反规范化的非端到端过程仍然比较繁琐,这是主要问题非端到端解决方案的痛点。工程中存在许多耦合元件。太多耦合组件的副作用是端到端稳定性差。为了尽量减少后期运维成本,我们最终选择了上表中的方案3。虽然方案3涉及的深度模型更加复杂,调优挑战也更大,但这正是团队的核心价值。
技术方案敲定后,接下来要考虑的是采用哪种技术栈。众所周知,端到端的机器学习流水线至少包括以下几个环节:

FreeWheel通常使用Presto分布式数据库拉取数据源,然后利用高效的分布式计算引擎Apache Spark(Databricks商业版)进行数据预处理、特征工程和样本工程。就机器学习算法而言,Spark的ML算法库提供了丰富的经典算法实现,并支持大样本量的分布式模型训练。然而,对于具有数百万甚至数亿参数的深度模型,模型并行性是必要的。 Spark 的数据并行实现有些不足。超大规模深度学习模型的单点存储和更新已经超越了硬件。资源限制导致模型训练无法顺利完成。
鉴于此,FreeWheel使用支持模型并行的TensorFlow来实现自定义深度学习模型。借助Keras Function API,FreeWheel 快速实现了定制的深度网络结构,并在独立环境中运行了训练过程。下一步是在分布式环境中使用基于3 个月量的大规模样本。不断迭代和调整模型。对于算法从业者来说,网络结构调整、超参数调优是家常便饭,反复迭代对分布式训练环境的稳定性和运行效率提出了很高的要求。目前来看,TensorFlow的分布式部署主要有以下几种方式:
三种部署选项各有其优点。基于Spark或YARN的部署方式,适合已经部署Hadoop生态的数据和算法团队;而基于Kubernetes的部署方式则非常有利于离线模型训练和线上模型服务的融合和统一。不过,对于这三种部署方案,不难发现它们都需要TensorFlow与底层框架的集成和耦合。对于FreeWheel机器学习团队来说,没有多余的时间和精力来构建这样一个分布式系统。训练集群。对于一个专注于算法研究和实现的小团队来说,FreeWheel最需要的是一个可以按需使用、用完就扔掉的分布式训练环境。因此,FreeWheel考察了多种云原生分布式机器学习平台,最终选择Amazon SageMaker来实现分布式模型训练、调优和部署,从而打通了整个端到端的大规模机器学习管道。
为什么选择 Amazon SageMaker?
Amazon SageMaker 提供了一整套从开发到部署的开箱即用和深度可定制的分布式功能。
在开发方面,Amazon SageMaker提供的Jupyter Notebook和脚本模式让开发者可以根据业务需求全面定制深度模型。开发人员只需几行框架代码(骨架代码)即可将现有的TensorFlow 代码迁移到Amazon SageMaker。需要一些有限的参数来根据指定的模型和数量自由地启动和停止分布式训练集群。对于分布式模型训练,Amazon SageMaker在模型并行性方面支持参数服务器和Horovod两种实现方式,在硬件资源方面支持CPU和GPU。这种开放性使得开发者可以结合业务场景(图像识别、分类回归、时间序列预测等)灵活构建运行环境。
在部署方面,Amazon SageMaker提供的API允许开发者按需启动和停止分布式训练集群、按需使用、按需付费、用完后停止。这完全符合FreeWheel 机器学习团队对分布式训练集群的关注。核心诉求。不仅如此,Amazon SageMaker自2017年底开始支持Spot模型。该模型的支持使FreeWheel的云成本在现有基础上降低了至少50%。 Amazon SageMaker 为开发人员提供的功能集完整且全面。由于篇幅有限,很难一一描述。
那么,Amazon SageMaker 如何帮助FreeWheel 实现大规模多维时间序列预测呢?有什么作用和好处?
用户评论
见朕骑妓的时刻
这部剧的前置广告真的太炫酷了,完全没想到技术大片还能做得这么精彩!
有8位网友表示赞同!
人心叵测i
看了这个前置广告,感觉追剧的欲望都被勾起来了,技术大片果然不一样。
有9位网友表示赞同!
枫无痕
前置广告里的技术细节太丰富了,我这种技术小白都看得出用心。
有10位网友表示赞同!
各自安好ぃ
这个前置广告简直是个技术秀,期待正片能带来更多惊喜。
有9位网友表示赞同!
无关风月
前置广告的技术含量太高了,感觉像是看了场技术讲座。
有8位网友表示赞同!
几妆痕
没想到追剧前还要先上一堂技术课,这部剧的宣传真是下足了功夫。
有10位网友表示赞同!
闷骚闷出味道了
前置广告里的技术元素太吸引人了,忍不住想赶紧看正片了。
有6位网友表示赞同!
疯人疯语疯人愿
技术大片前置广告做得真好,感觉比正片还好看。
有16位网友表示赞同!
麝香味
这个前置广告让我对这部剧的兴趣大增,技术控的我不能错过。
有6位网友表示赞同!
北染陌人
前置广告的技术细节太到位了,感觉就像是真的进入了技术世界。
有17位网友表示赞同!
空巷
前置广告里的一些技术术语我都不懂,但看得出制作团队真的很专业。
有12位网友表示赞同!
冷落了♂自己·
前置广告的技术展示太精彩了,简直让人忍不住想要了解更多。
有11位网友表示赞同!
涐们的幸福像流星丶
这部剧的前置广告真是颠覆了我的想象,原来追剧还能这样玩。
有9位网友表示赞同!
面瘫脸
前置广告的技术含量让我对这个剧有了更高的期待,希望正片不会让我失望。
有9位网友表示赞同!
熏染
前置广告里的一些技术场景太震撼了,简直像是在看科幻大片。
有16位网友表示赞同!
余温散尽ぺ
这个前置广告让我对技术产生了浓厚的兴趣,感觉追剧的同时还能学到知识。
有11位网友表示赞同!
微信名字
前置广告的技术展示太棒了,我已经迫不及待想要追剧了。
有12位网友表示赞同!
哭着哭着就萌了°
这部剧的前置广告让我对技术产生了敬畏之心,感觉正片一定会很精彩。
有10位网友表示赞同!
采姑娘的小蘑菇
前置广告的技术细节处理得太好了,让我对这部剧充满了好奇和期待。
有16位网友表示赞同!