探究快手技术、产品与业务之间的合作模式
伴随短视频行业的飞速发展和快手商业化的加速繁荣,2022 年快手联盟增长迅猛,作为移动开发者短视频商业生态联盟,快手联盟正在成为各行业撬动短视频商业红利的新杠杆。InfoQ 技术大会旗下《大会早班车》直播栏目邀请到了快手联盟运营负责人白晓航,产品负责人晁杨和高级算法专家谢淼博士,来从业务,产品和算法技术角度聊聊快手联盟近年来在产研合作上的探索与创新。
白晓航:广告联盟本质上是一个撮合平台,一端是广大的开发者(背后是各种各样的 App),另一端是广大的广告主;联盟平台居中连接两端,提供统一的投放能力和变现能力。
快手做联盟的初衷,是期望将快手在短视频和直播上积累的产品算法能力释放出来,在快手系 App 之外获得联盟流量的增量,给广告主提供更大的投放空间。
具体说来,快手联盟可以给广告主这些独特的价值:一是流量和可触达用户数量巨大,快手联盟 DAU 超过 8.5 亿,这个量级远超大多数互联网 App;二是流量类型丰富、用户群体多样,涵盖游戏、工具、阅读、生活、运动健康、视频、资讯等等各种类型 App。
晁杨:从产品角度,简单来说联盟广告有激励视频、信息流、开屏、插屏及视频流几大类,整体来说我们要根据媒体 App 的特点及用户的特性设计不同的广告形态。
逻辑上广告也是一种信息,广告的呈现跟大家日常看到的新闻、视频没什么两样,只不过广告是为用户提供了感兴趣的商品、游戏等有别于传统内容的信息,我们在广告设计上用户体验是第一位的,希望给用户带来更有价值的信息。
在短视频和直播的赋能下,广告形态在广告呈现、用户交互上有了更大的空间,比如直播给广告带来了跟用户互动的全新方式,用户可以在快手联盟覆盖的 App 上实时观看丰富多样的直播,可以无缝衔接到快手 App 上,给用户带来全新体验的同时也给广告主提供了触达用户的新途径。短视频和直播给广告注入全新的想象空间,联盟会持续探索用户体验和新的广告形态如何更好结合。
谢淼:优化联盟广告投放,我们较其他头部广告联盟起步较晚,只有广告产品形态设计完成并打通投放链路后,我们算法才能发挥出价值,持续的优化 AB 和大盘使得广告的匹配效率更高。
可以说前期靠运营和销售获客,后期靠算法迭代拓客。从算法难度上,与在站内投放快手原生广告相对比,对我们提出了更高的要求和更多的挑战。
首先,联盟的环境更不稳定,外部 App 从流量和质量上变化程度都非常大,今天有 100w 的请求,可能明天就 10w 了。
第二点,是对用户行为理解的难度,相比主站,主站的用户粘性高,原生广告的转化率自然就高,而且随着时间的推移,我们还能积累大量丰富的用户行为数据,对用户偏好有非常强的挖掘能力。相比较而言,联盟上的流量是由众多互联网 App 所组成的异构型动态流量池,即使是快手用户,他们在这些外部 App 上的行为与对快手广告的兴趣,与站内浏览时也存在巨大差异,而且把用户吸引到快手 App 中达成转化所需的链路更长。
第三点,优化的元素增多了,从站内的用户到广告的二元构成,变成了外部 App,用户再到广告的三元匹配,因此对算法的要求更高。所以从算法角度,我们期待能够找到针对联盟复杂环境的算法建模方式,沉淀有深度的解决方案。
白晓航:介绍联盟的核心痛点,内外循环可以一起说,然后突出给出冷启问题和业务上疼的程度。比如可以拆成预算侧和流量侧冷启两个问题来讲,深度转化类型的广告在量和质上的要求,流量侧冷启问题等。
1. 流量大且杂,如何挑准适配流量;
2. 冷启:流量大、异构、变动多;
3. 直播广告时间短、要求快速起量。
白晓航:存在一定共性,但是快手原生广告的特殊性是短视频和直播,广告主对广告的深度目标达成有非常高的期待,但是这种新业态的广告,本身在联盟的动态性较高的媒体流量中和广告做深度匹配时就存在很大的挑战。另外,快手原生的内循环广告在联盟是 2021 年才逐渐开始做的,我们对他有更高的要求,就是起量过程不能严重影响已起量广告的预算匹配效率。
晁杨:针对冷启这个业务核心痛点,我是这么看的:
(1)需要从这个产品的设计角度看这个事情,是系统性冷启问题还是少数个例,产研系统在冷启设计上是全局的,很多时候冷启问题可能是比较小的点造成的,比如是否因为素材原因导致于流量不匹配,因此量出不去;
(2)不管是全局问题还是个例问题,我们都需要从链路角度看看在线系统各个阶段的转化情况,定向地发现潜在问题,各个击破,这个链路就是我们常说的投放漏斗,也是产研给运营同学提供的工具之一;
(3)冷启是从无到有的过程,除了系统冷启的机制外,我们也会从人群适配等角度挖掘符合行业特性的人群,帮助算法快速收敛;
(4)多数的情况下从上面几个方面可以快速定位和解决冷启问题,但在系统有新能力上线或系统性出现冷启动问题时,我们要逼着算法专家们一起定位问题,共同去挖掘能解决这个问题的解决方案,哈哈。
谢淼:是,在你们的强压下,我们其实也成长了很多;
(1)在广告系统中,我理解的冷启问题的本质,其实是由于每次请求下模型对候选广告的预估偏差导致的有效投放量少的问题,当然模型的偏差是来自训练数据稀疏这个情况,这里的训练数据的稀疏并不是单纯指样本量少,也就是说并不意味着量大了,一定没有冷启问题。
通常而言对于广告系统来说他是一直伴随着业务成长的,比如一个新行业刚开始投放时,肯定是数据量少导致训练数据少,模型偏差较大,但是如果后面仅局限在某个人群上,或者某类广告上扩量,那么即使他的投放量每天达到亿级别,那么它仍然是稀疏的,因为其他人群或其他类广告的样本几乎没有,也会导致模型预估偏差。
为何模型的偏差会导致量起不来呢?因为广告系统中绝大多数都是 ecpm 竞价(千次曝光下的预期收益),而这里的 ecpm 计算是离不开模型预估的,当然还有广告主出价的影响,模型预估不准,可以拆解为两种情况,模型预估偏低,那么直接导致竞价能力变差,广告自然很难去拿到量,没有量,也就不可能有太多的正样本,那么模型会持续偏低;
另一种情况,模型预估值偏高,竞争力偏大,量是会有一些,但是会出现超成本,即投放了,但是没有实际转化,这种情况下,系统的调价机制就会被触发,会导致大力压价,竞争力就会回归正常甚至变成偏低,量就变小了,后面当模型重训时,就会导致量持续变小。
(2)内循环行业的外投晚于外循环,因此在内循环开搞的时候,已有很多行业在联盟上有稳定的投放,而且量不小,所以针对内循环的业务问题的建模,天然就带了个约束,即尽可能不影响已起量行业的前提条件下,让内循环广告在联盟起量。可见,这个带约束的冷启问题比单纯的冷启还要难。
要解决这个带约束的冷启问题,我们首先需要一类算法能够帮助模型破圈,即防止持续偏低或偏高的情况,MAB 就是这类算法。直接用 MAB 来解决实际业务问题,必不可少地需要将实际业务问题建模为算法可解的形态,如果建模存在较大偏差,则再优秀的 MAB 算法也很难取得收益。
这种面向实际业务问题,构建算法策略的建模,通常在实际落地时,需要的可能不止一种建模形态,而是一个问题建模的组合,而且他们之间是有关联的。
我们围绕着内循环冷启的这个事来分析下,首先当链路打通后,系统其实是个双侧冷启状态,对于媒体侧而言,联盟之前很少投放过具有快手特色的短视频和直播类型广告,相似行业很少,而从广告侧看,所有的候选广告也没有投放过类似的联盟媒体流量,因此它是双侧冷启问题。
当我们针对这个问题进行合理地建模后,量起来了一些,这时,我们看到了一些媒体位的量从 0 到 1 进行突破了,随之我们希望在这些媒体上的量能进一步扩大,那这个时候,冷启问题就从双侧冷启问题转化为了单侧冷启问题,因为从媒体上看已经“热”了,这时他的核心问题就变成了帮助某一给定的媒体位,来优化候选广告的位序,使得业务指标最大化,例如预期花费最大化,于是算法的建模形态就变成了单侧冷启的优化问题。
然后我们来想一下量进一步变大,会如何呢?我们期待模型越来越好,因为样本量增大了不少,慢慢地能够学到背后的规律,逐渐演化为成熟状态,模型的预估值越来越准,且让人满意。这样不就慢慢形成了一套整体解决方案了嘛,在我们的实际优化过程中也看到了这些阶段所用的策略,相互继承和演化的关系和数据。
也泼个冷水,在联盟中,其实我们期待模型绝对的准确,是非常不切实际的,即使当有些行业投放量大了,也不可避免的是媒体侧流量的动态变化,因此像 Bandit 这种技术其实就可以针对这种动态性持续地在线上优化,是天然的练兵场。
谢淼:MAB 这类算法其实是在线学习和强化学习的交叉方向,快速学习(一条请求学一次),而且能快速感知环境给的 reward,即后验,以此来改变自己的决策行为,并通过权衡探索和利用,使得一段时间整体累计效果最大化;所以这种算法即可以给候选透出的机会,又能在透出后的效果中挖掘出实际质量较好的候选集合,持续地优选,在此过程中达到优胜略汰。因此能够在保证业务指标尽可能地达成的前提下,将消耗起量,提升匹配效率。这是一个动态的寻优过程,我们也有指标来衡量当前算法所达到的状态,即算法的可收敛性。
但是随机这种策略,其实是证明不出来收敛性的,因此效果是没法衡量的。另外,实际的收敛程度也说明了在什么情况下能产生收益,如果单纯依赖模型,就可以做到绝对准的话,那么也就是说只要增加一定的探索成分,就一定是次优解,就会产生错误,导致 Bandit 拿不到收益,这里的错误其实就是探索的成本,其实就是“抛开经验,不一定每次都是对的,但是一旦比经验好,就带来了收益”,所以当且仅当探索的成本小于探索收益的时候,Bandit 就能产生收益。
晁杨:所以说我们之前采用的在 AB 上进行随机投放用于探索的做法,其实是纯探索的过程,因为随机选取这种方法,本身并不能收敛,因此效果无法度量和保证。
谢淼:虽然 MAB 算法在业内已有一些成功案例,但是将 MAB 正确且能够获得稳定业务收益地落地,并非易事。实际上我们躺过很多坑,这些坑归纳起来有如下几点:1. 问题建模;2. 算法假设;3. 超参数;4. 算法链路长。
简单介绍下上述几点。最主要的其实是如何将对业务的理解注入到算法中,以最大化算法收益,我来讲个故事,首图优化中专业玩家的故事。这里可能还有个更深的问题,如果上述坑都避开了,那是不是直接作用到业务就能取得足够的收益了?其实不然,它可能存在更大的优化空间,绝大多数 Bandits 算法的提出,都需要在理论上对所提出的新问题的建模形式,给出可证明的累计后悔度的理论上界(Upper Bounds of Cumulative Regret),但是在研究中可能存在为了获得一个可证明的“漂亮”算法,而阉割原有算法或者增加严格的限制条件,导致牺牲原有算法在大多数实际业务中的效果,因此在落地时存在针对业务场景的优化空间,而且这种优化沉淀出来,就是业务的行业竞争力。
谢淼:比如首先我们得解双侧冷启问题,对于我们而言其实就是盲探,用算法自动探索,但是如果能找到一些先验知识或历史经验,帮助我们把范围有效地缩小,那么可以加速我们算法的收敛 ; 否则范围越大,我们难度越高,这个来讲,产品对业务理解可能更深,你们得挖掘下,争取能够比我们挖的准。
晁杨:我这里讲讲电商零售等相似的外循环行业,用这些行业挖可能得 POS,另外再讲讲人群的挖掘方法。
在这方面我们有比较成功的 case 可以给大家分享一下:内循环广告数为百万量级,历史的联盟流量探索中,因广告侧与要探索的流量侧的匹配数据较少,属于双侧冷启,跑量难度大,且容易超成本。针对该痛点产品上基于好的快手用户流量,对所有直播广告,都能有高于均值的转化,用这些用户去做增量探索,超成本预计会远低于当前无人群方向引导的 POS 盲探。将双侧冷启问题转变为单侧冷启,同时利用 Bandit 算法,效果稳定性更有保障。
人群落地的思路:凭借产品对业务的理解,收集电商、主站、商业化等多方数据,组合维度,基于现有投放数据进行人群评估,得出后验效果明显高于联盟直播整体值的多个人群条件组合,再验证圈选的人群仍在联盟流量漏斗中存在足够增量机会。使用 Bandit 算法在这些人群条件上进行探索,逐步收敛。通过在目标人群上拿到较高的消耗增量,来带动整体消耗的提升。
谢淼:有了这些信息,有助于我们缩小探索的范围,集中炮火,加速算法迭代。还记得之前咱们合作第一个优化点的时候,就是这样,效率非常高,各司其职。
经过双侧冷启的解决方案的落地,我们需要建模一个从 1 到 2 的冷启问题,期待广告投放量能够在某个媒体粒度上进一步增大,这里的策略建模方式可以是以某个媒体粒度的实例为问题单元,即 machine,来通过平衡探索和利用优选广告,打破模型预估所陷入的局部最优解,那么这里在落地时就会遇到一个棘手的问题,就是媒体侧变化太大了,如果选择的维度变化大,算法就可能存在没有收敛趋势的情况,即无法稳定,在这种情况下,探索成本就比利用带来的效果增长要大很多,因此获得不了收益。这个问题的确头疼了很久。
白晓航:这个点,我们运营可能有发言权,讲讲对客户的理解,推导出媒体行业和媒体场景的叠加粒度会较 POS 更为稳定。
谢淼:对,融合这个点后,经过实验,咱们做出的首版优化就是基于这个理念。如果我们自己穷举维度,一个个试,估计得拖几个月才能上线。
晁杨:从流量和广告侧角度看,每一侧都有很多影响因素,比如流量侧有 App、POS、ADStyle、流量行业、用户行为等,广告侧会有定向、创意、出价及人群等多个表达,从探索的角度出发我们有很多可拆解的冷启子问题,产品可以针对这些子问题,不断挖掘新维度,给到算法增强迭代。
谢淼:对,那样的话,我们得解决这些策略叠加的问题,我们得设置大的兜底,以防止超成本的发生;于此同时,我们还要继续进行更深的算法研究,以应对产品在人群和维度上的迭代,比如随着产品挖掘人群的程度越大,挖掘出来的人群可能种类就随着增多,于是我们就需要考虑这些所带来的迭代问题,如何让算法自动适应越来越多的圈圈?这里可介绍下 AutoBandit 的思路。
晁杨:这样一来,我们就可以并行迭代了,分别开实验看效果,螺旋上升。从去年的合作效果上看,我们的 AB 提升幅度达到了翻翻的指标收益,AA 上看的确量起来了几十倍,而且对已起量的其他行业广告,没有显著负向。
白晓航:从我们运营角度,需要平衡算法风险和广告主利益,介绍下平台保护广告主利益的机制。广告主不用担心算法迭代影响自身利益。
晁杨: 提产品理念。在广告系统的产品设计上我们既要全局大盘最优,也要兼顾重要节点和重点客户的诉求,为了解决运营同学面临的这些问题,产研对运营工具做了大量的平台化工作,主要是让工具产品能够更加智能化,比如上提到的多配置、不断调参等可以通过约束目标的方式,交给系统去探索,提升日常使用的效率和效果。
谢淼:我们之前也按照这种方式做过很多工作,例如针对绿通,我们可以以 Bandit 算法为基石,做个指标正向且理论上可以配置无穷多个候选的非挤占绿通,介绍下原理(自创的 non-stationary e-greedy 算法)。另一方面,在运营干预广告主出价的工具上,我们可以用 Bandit 来进行对出价干预力度的自动控制,运营只需设置上下界即可,而非直接固定一个干预力度。
晁杨:这是一个非常好的问题,在回答产品工作内容之前先简单说一下我理解的商业产品有哪几大类,平台产品、用户产品、策略产品等,产品确实在工作中承担了一部分 pmo 的角色,除此之外产品更多的工作内容是如何解决业务问题,这个解决问题包含了深入业务、发现问题、理解问题、抽象逻辑和给出解决思路,对产品同学对不同行业客户的商业模式和投放系统的理解有非常高的要求。
日常跟算法打交道比较的多是策略产品同学,我自己概括策略产品的价值可以用一个词“idea”来概括,idea 包含了上面讲的全部,这个 idea 就是解决某一具体业务问题的策略思路。产品同学给算法提需求的时候需要讲清楚业务问题、数据逻辑和解决思路,我们常说的加强同算法的对话能力就是指提需求的过程,面对具体业务问题产品需要找到其中的机会点,数据和逻辑上验证可行性后再去与算法联动,同算法同学一同探讨思路实现并不断优化。
通过上述的项目合作,我们在多行业取得了显著效果,比如内循环,业务收益,尤其深度增长了数十倍,游戏等外循环行业在 AA 上,也取得了较好的冷启效果。
谢淼:在合作中,我们也沉淀了一些经验,被动的等着产品提需求,往往有逆反心理,似乎是在给算法找 bug,因此得化被动为主动,将这个需求转化为算法的一部分,并且将算法拿到的收益与产品分享,达到共赢。
举个例子,当时做直播广告起量的时候,有个问题就是不可能一下子对所有广告主都起量,因此我们得贴着业务特性,挖一批最优潜力的大 V 主播出来,挖的方法有很多,产品很擅长,而且可以通过历史数据,先粗略验证一下,最后把最佳的几个后选,我们拿到线上实际配合算法策略做 ab 实验,取得了业务收益,那么未来随着时间的推移,这个挖掘的方法也应该会与时俱进,产品可以自行通过离线分析和在线 ab 来迭代,因此如果没有运营给出的行业建议,没有产品的业务理解作为补充,AB 的收益可能也不会那么大,或者需要更长的时间摸索。
白晓航:分享运营理念,摸索沉淀了一套运营问题及其对应的分析和运营工具抓手,并且将 go to market 市场走深的客户需求带给合作团队。
晁杨:在此过程中,产品对业务的理解更加深刻,并且发现的机会点也越来越准,也在跟算法合作的过程中,了解了算法运作机理,同时也看到了能通过业务理解对系统产生正向影响的抓手。
对于新行业的起量,积累了方法论,对于新的客户诉求,也有逼迫算法进行针对性优化的抓手。感觉其他类型的业务问题,这个方法论依然奏效,核心是找到双方优势互补的地方,而不是干干地做提需求的一方,也应该拥抱算法所提出的需求。
谢淼:在探索出有效地合作模式后,我们就可以沉下心做更深入的算法研究且迭代业务认知,使得算法能力持续在行业保持领先,例如随着算法落地和走深,我们发现很多有意思的待解问题,比如刚刚提到的 Bandit 算法作为算法策略的一部分,是可以起到对模型预估纠偏的功能的,但是模型一定能随着样本的增多,预估就一定能变准吗?不一定,或者说在业务中需要很长时间可能才能体会到预估逐渐变准的过程,那么能不能将深度学习模型和 Bandit 算法融合起来?针对这一点,我们是有一些研究成果的,同时这个问题也是学术界近年来的研究热点问题。
往深一步,如果能够从产品的需求中抽身出来,我们还能畅享一下,通过我们的努力,使得 Bandit 的学术成果转化为业内生产力更加便捷。
谢淼:嗯,是的,冷启问题在互联网上的应用场景是非常多的,我们每天都能看到成百上千的新 App 在应用市场上架,其中每个新 App 都会遇到冷启问题;具体而言呢,小到推荐场景中的一张图片,一个视频的封面图,都需要优选,这个是很难借助一个深度模型直接优化的,是典型的冷启问题,再比如一个场景中的新品推荐问题,大促上的问题,日常和大促用户行为和兴趣均不相同,在线系统中的参数调优问题等,所以只要能建模为选择性问题且模型不能给出非常准的预估时,都是 Bandit 算法的适用范围。
因此如果我们能将 Bandit 算法变成算法产品,让更多的业务可以非常低成本的接入,则将是企业降本增效,显著提升生产效率的一环。Bandit 产品化,核心能解决理论工作到实际落地的鸿沟,将采完的坑,加到产品功能中,帮助客户避坑。
那么如何构建该产品的门槛呢?我们尝试通过如下三个方面来进行构建壁垒:(1)提供基于实践经验的避坑功能,帮助用户有效避免典型的应用误区,比如应用环境和算法假设自动审查,在利用 UCB,TS 等不能支持大量 arm 的算法时,自动检测 arm 的数量是否过多;(2)提供能够快速收敛,拿到指标收益的功能,例如产品支持算法应用范围导入功能,把业务中不适合探索的部分过滤掉;(3)不断地以应用中的实际问题推动算法的创新,并将这些创新转化为产品力,例如我们针对给定业务场景,通过 AutoML 思路,自动地通过 Bandit 算法寻优超参,甚至直接寻优 Bandit 算法本身的 AutoBandit,降低应用时对人工经验的依赖,真正做到智能寻优。
2023 年 4 月 21-22 日,ArchSummit 全球架构师峰会将落地上海·明捷万丽酒店。来自阿里、顺丰、保时捷、肯德基、蔚来汽车、Shopee 等企业的技术专家,将就微服务架构、大数据架构、开源、国产软件、制造业数字化转型、金融业数字化转型、人工智能、架构师进阶等主题展开分享讨论。
现在购票可享 8 折特惠,单张立减 1760 元,购票及其他问题咨询请联系票务同学:18514549229(微信同电话)
微信扫码关注该文公众号作者