算法工程师视角下的投放优化

大家好我是二两。是两本技术书籍的作者,一本是算法相关的,一本是基础编程相关的,之前在广告主侧担任算法工程师岗位,期间做过一段时间的投放,达到过亿的量级。今天来分享一下“广告主算法工程师视角下的投放优化”。
这次分享主要是聊三个方面:
1、投放策略的构建思路
2、大模型对素材优化的影响
3、风控系统对投放的启发
有一些是我的想法,有一些是我的经验,欢迎交流。

投放策略的构建思路

首先共识一些广告投放领域老生常谈的问题:
• 广告主操作空间变小(因为媒体测自动化程度会越来越高)。
• 冷启动成本太高(空耗广告也很多)。
• 素材标签化困难(在公司层面推动素材标签化,有一套标准的方法论,但很难落地)。
• 媒体侧的算法优化可能是负优化(因为媒体侧的优化是针对整个大盘,而不是个体)。
我的分享主要结合前面这三个方向,来讨论这些问题如何解决,我会结合我过往的操作经验和现在新的想法。

媒体的算法越来越先进,广告主操作空间变小了

媒体的算法越来越先进,那么带来的结果就是广告主没有特别多的空间可以操作了,比如说去年腾讯就收了它的人群包API,这样就跟海外很多大平台越来越像了,广告主可操作空间变小了。
算法工程师视角下的投放优化插图
作为算法同学或程序员同学,在帮助公司构建这个投放系统的时候,有什么东西是可以帮助投手去做的?

1、提高投手关停或放量操作的准确率

算法工程师视角下的投放优化插图

这个投手是泛指公司的所有投手,并不是单指最顶尖的那两三个,最顶尖的投手可以作为你的数据来源,你用他们的数据来帮助中腰部的投手去提高他们的这个关停或放量操作的准确率。
但是,当大家用的素材不一样,缺失很多数据怎么做训练?
这时候如果你追求完美的话,这个事情的是无法启动的。
数据缺失是我们广告主必然面临的问题,我们没有像媒体那样这么多的数据。
所以,我们会做一些业务上的假设,这些假设就是你觉得理论行即可,然后再投一部分业务量进验证它是正向的,还是反向的。
我做的假设是,投放广告后,投手主要关注后链路的数据,投手根据这些数据结合自己的经验来判断广告是否需要停止投放。
为了判断是否需要停止广告投放,我们可以构建一个基本模型。
模型将基于广告的曝光转化等基本数据以及其目标ROI和转化效果来构建。
这个模型所看到的数据与投手所看到的数据结构一致,并且根据投手在这期间做出的关停等操作来构建出相关性的训练数据。
我们刚开始时可以使用传统机器学习算法,看看能否达到60或70分的效果,然后再尝试使用更复杂的模型。
这些数据量不大,结构也比较简单,但有一个比较棘手的问题:有一些投手的效果是非常好的,但他们的操作可能比较怪异,即存在“脏数据”,里面存在一些“骚操作”,例如频繁关停、重新开启等。
当你整合多个投手的数据时,你会发现这个data feature以及相关操作(开关、关停或放量等)的构建也是相对“脏”的,因此你需要清理掉一些不太常见的数据。
总结一下就是:按优秀投放过去操作记录作为训练数据,坑点就是做数据清理。

2、粒度更细的实时数据分析

 

算法工程师视角下的投放优化插图

作为一个投手,他实际上无法看到每一条广告带来的每一个用户,即他无法看到细节,但是程序可以。
例如,每个用户过来,实际上都会有对应一个ID,无论是设备ID还是其他,做归因系统的同事会告诉你如何判断这个用户的唯一性。因此,你可以获取每个用户进来的数据。我们可以根据用户ID进行用户分层,相较于投手,我们就可以看得更细致一些。
Eg. 我在贪玩游戏,广告冷启动阶段有20个用户来了,这20个用户可能在过去曾玩过我们其他的游戏。所以我们可以通过其他游戏的基本数据,如登录和充值数据进行分析。这个数据可以作为用户画像的分层依据,具体的分类需要和业务同学讨论是怎么分的。
如果你们的公司对这个游戏开发的把控力度是很深的,那还可以构建出更细的用户画像。例如一个潜在充值用户,他整个游玩过程的节点数据,其实可以做一个聚类,然后根据这个找出这一批相似行为的用户,并在业务上给他们打上标签,标记他是优质用户还是垃圾用户。
当一个广告带来新的用户的时候,每个用户都可以进行判断。你可以从公司的后台看优秀投手操作,通过数据系统来看每个投手的操作以及各种记录。通过系统表,可以将这些用户通过SQL或其它形式筛选出来
PS. 有的人会在用户启动阶段回传一些虚假数据。比方说,某用户实际上只做了一次6元的首充,你可以直接回传60元或20多元给媒体。这样可以更早锁定用户价值,更早让媒体知道你拿到了一个不错的用户,媒体给你推更多这样的用户,顺利度过冷启动。我自己没有试成功,但大家可以参考一下。

3、平衡全局最优与局部最优

算法工程师视角下的投放优化插图

我们在做进行系统优化时,实际上需要考虑到整体最优和局部最优的问题。
系统所看到的数据永远多于投手所见,当我们在系统可以看到全局的数据,那么不管是基于经验的判断,还是整体统计分析,我们都可能得出与投手相悖的观点。
举个例子,某投手可能看起来很厉害,但他只能看到自己的数据,看不到其他团队的数据,但我们能看到。我们根据公司的整体数据,发现某素材已经被用烂了,但是投手自己觉得没怎么用过,还想用一下,我们会整体数据结果判断这并不是最佳选择。
如果你按照全局最优解来去强行干预投手不能用这个素材,那么就会带来一个问题,人家可能就不用公司系统,而是直接通过媒体的后台去操作,这样子其实也会影响到我们自己的绩效。我们开发这个公司内部使用的系统,肯定希望它有一定的消耗量,如果所有的投手都不使用我们的系统,我们作为支撑部门也很难受。
所以我的思考点就是,我们要平衡一下全局最优和局部最优,就是我们既要考虑这个投手的想法,也要考虑公司的想法。
我的具体做法是这样的,还是回到刚才的例子,我会弹出一个提醒窗口,告诉他们这些素材已经过时,如果他们仍然坚持使用,我会记录下来。
以后如果高层问责,问为什么有那么多过时素材被使用或者那么多空耗时,你也可以根据这份记录解释,这也算是一个折中的方案,仅供参考。

大模型对素材优化的影响

素材的标签化方案

现在我们能操作的空间越来越小,前辈也常常告诉我们,我们需要更加注重素材的产出,要创造有创意、能引起共鸣、能留下深刻印象的素材。我觉得这些都是正确的观点,但在实际操作中,比如在公司内部,要如何推广这些理念却是个难题。
算法工程师视角下的投放优化插图
首先,如果你不是老板,你很难推动其他部门去配合你的想法。
Eg. 我要去推的时候,我需要设计人员帮我打标签,以及管理他们从0-1的整个素材产出流程。但是涉及到原本工作流程改变,可能会受到拒绝,因为对他们来说是一个吃力不讨好的事情,只会觉得对你有好处,对他没好处。而站在你的角度,也不知道强行推动这件事结果最终会怎样。
这引出一个疑问,我们的素材标签化是否必须可读?
在大模型还没出现之前,业界常说我们需要人工打标签,比如10个人中有7个人给这个素材打标签“A”,那么它就是“A”,采纳多数人意见。
但是这种方法也会引发推动问题,我们尝试与设计同事合作,会发现比较痛苦,因为人们喜欢遵从他们熟悉的工作流程,既然我去巨量上去抄,能抄到最好的素材,也有绩效,不就行了?这种情况下,虽然会导致同质化,但投手个人绩效达到了呀,这也是上面我们说到局部最优和整体最优的问题。

1、可接受不可读

当大型模型还没有出来时,我的一个解决方案是,公司使用PR等剪辑软件生成视频的,产出原始文件包大小约为2-3GB。这里面会有关键帧,包含音频、图片等各种原始数据,这些原始数据可以进行逆向处理。
找一个懂Windows系统的同学,让他帮忙进行逆向处理,你就可以获得这个视频对应的原始素材包,这是一个结构化的过程,与传统人工标记方式有所不同。人工标记出来的标签,人是可以理解的,但这个结构化标记出来的东西,人是无法理解的,但这并不意味着完全无效。
Eg. 我们标记了一把剑,它可能被标注为一串人无法理解的向量,但我们会发现很多视频中都出现了相同的向量,这说明这些原始素材可能对视频有帮助,至于为什么有帮助,这就需要借助投手的经验来判断。
相对于人可读的标签,这种向量化的方式,后期解释起来会比较困难,但这是一个折中的解决方案,它可能没那么精准直接,但它是一个折中解决方案。

2、不可接受不可读

OCR与音频识别
如果我们无法接受不可读的情况,也无法推动人时,就需要一些新的技术。我们可以通过OCR或音频转文字,使视频中的文案可读。现在这个领域的音频转文字技术已经非常成熟,开源软件的质量也很高。
还有一个发现是,很多音频包含领域内的术语,比如在进行编程时,有各种编程语言和模型的术语。当我们使用一些API时,我们发现有些能识别、有些不识别。这时,我们可以用Open AI模型套用到GPT-4上,GPT-4上会获得这些领域内的背景知识,从而提供识别服务,这也是一个解决点。
GPT4-Vision
现在比较新的是GPT-4,这是一个多模态的项目。它可以用文字形式将一张图片的内容解释给你听。但我没有在游戏素材和广告素材上实践过,所以对于一些小众的素材,比如贪玩的传奇类别,可能效果不那么好。
另外一个问题是,我们是否可以利用媒体回传的数据,比如视频中用户在哪一秒退出的比例最高,然后将对应的画面内容交给GPT-4进行解读,看它是什么样的内容,然后再做词法和文法结构化处理,将视频转化为算法可处理的结构。
Segment Anything Model
这个模型可以分类任何图片中的任何内容,这也是meta提出的,实际效果取决于素材的情况。
如果你们是电商行业,我认为这个模型效果非常棒。但如果是一些小众游戏或者互联网上数字比较少的内容,分类效果就不那么好。这也是一种将图片或视频进行结构化处理的方案。
简而言之,这些内容会将你的视频抽成一堆文字或者对应的标签,这些标签可以在业务上进行处理。
假设人完全按照专业的方式进行推动,你能达到100分,这样做不需要靠人力但可能只有60分。而且现在GPT-4有limit限制,不一定能一次性帮你识别很多图片。
这时,我建议大家尝试使用一些开源的本地自建模型,比如llama。但是我没有深入测试过效果。因为它们具有对应的多模态,你们可以购买一台性能较好的GPU物理机,这将会降低成本。只要用的次数足够多,每个视频的编辑成本就会接近于零。
SD prompt逆向
我们常使用SD去生成图片,需要使用相应的prompt就可以生成出符合预期的图片,此时出现了一个需求,就是很多人想模仿别人SD生成的图片,但没有别人的prompt,就有一些模型专门做将图片转成SD prompt的。
此时我们可以将别人的图片(可以是设计手画的,或视频素材的关键帧图片)直接通过SD逆向的方式获得结构化的prompt。
总结一下,我认为这四个模型生成的结果相对于之前的方式更可读,而且有助于素材标签化。
当然,这需要大量的数据预处理工作。
不过,除非你是老板,可以推动所有业务部门的配合,否则从这种角度来说,我认为这种方式更加可控。因为全部由机器完成,不需要人为推进。

素材的生成

关于大模型对素材的生成作用,我认为:

• 图片可以做到、视频还差点意思
(https://mp.weixin.qq.com/s/Ob4rKb55x26oB–X620E_Q)
• 直接基于素材图片,制作类似风格的游戏来制作视频
(https://twitter.com/levelsio/status/1728951317945868729)
• 电商侧:可以做各种效果图
根据我个人的观察,就图片生成而言,网易在一些游戏投放方面做得还不错。像梦幻西游中生成的角色形象就很漂亮,这个案例在游戏圈子中流传了挺久。但我们没有尝试,因为图片效果不够好,我们可能需要进行定制化的模型训练
至于视频生成,我觉得还需要观望,即使是现在最顶尖团队,视频效果还远远不能达到商业投放的标准。
当然,就乐观的角度来看,未来解决这个问题还是有一定机会的,因为顶尖团队投资了顶尖人才来解决这个市场对生产这类内容的需求。
我觉得还是可以期待一下的,但现在用这技术投放广告,我认为这是浪费钱,不如招人做,成本更低。
总之,素材生成方面的内容,在游戏圈相来说并不太友好,对电商来说非常友好,我们可以看到有很多AI模特可以生成各种化妆品等效果图,甚至可以做出动图,这样可以制作投放视频,在海外有很多SssS公司专门做这类低成本生成电商视频的服务。但是在游戏行业中,我还没有看到类似的案例。

AI Agent投手

我想到了一个点,就是用AI agent进行投放。从逻辑上来说,我认为这是可以验证的,不过我还没有实践过。虽然我还没有实际操作过,但我认为这个点是可以尝试的。
算法工程师视角下的投放优化插图
我们发现GPT-4具有很强的逻辑能力。以股票交易为例,它可以给出非常有逻辑的建议。
怎么样用AI agent进行投放呢?
1、提供资料:如果我们希望把它作为一个AI agent来使用,我首先会提供背景信息,告诉它我投放的是什么,给它提供我过去的经验以及游戏行业的例子,因为GPT-4可以基于in-context learning的例子得到很好的效果。
2、提高解释性:比如针对一个“开/关”的结论,你可以要求它解释在特定数据情况下为什么选择开或关。然后你自己去查看这个解释,作为辅助判断,不要直接让它操作。
3、结合结果分析:若GPT-4的分析结果与我的预期不一致,我会看它的解释。如果它说要开,我会看它为什么这么认为,然后自己判断是否有道理。
此外,再加一点,结合视频的内容,投手关停,是不会看视频内容的,但GPT4给的辅助决策可以利用GPT4-vision解析的视频内容。

风控系统对投放的启发

 旧思路:投放规则的配置功能、源于经验、象限有限
• 新思路:参考风控系统中期软件架构设计,策略树、评分卡、决策流来实现策略的构建,核心是让你更灵活的快速的构建策略,并且有足够的象限操作空间
(https://weread.qq.com/web/reader/265324307260a55926555ab)
年初,我深入研究了风控领域的书籍,思考了许多问题,特别是在投放、量化交易这些领域中,很难找到可以直接复制的解决方案。在商业领域中,这种情况几乎是不存在的。因此,我采取了一种策略,即参考其他行业,寻找可以借鉴的思路。
在风控中,有些思路是可以借鉴的。例如,我们公司有一套投放规则的配置系统,类似于媒体侧的投放管家。这个系统可以设置各种条件,如投放金额超过某个阈值时需要采取的措施,或者某个指标在特定范围内时需要进行的操作,这种条件判断的结构可以被应用到风控领域中。
然而,现有的投放规则配置系统存在一些问题。首先,当规则数量过多时,可能会出现规则之间的冲突,例如一个人均空消耗的规则和放量规则设置的数值重合,就会导致广告出现异常。其次,这些规则配置系统的功能有限,例如头条的投放管家等,它们的操作空间是有限的。
如果我们能够开发一个更灵活的投放策略配置系统,让投手能够将自己的经验程序化,这将是一个有价值的尝试。
在这个过程中,我注意到了风控领域的一些优势和特点,这些都可以被借鉴到投放策略配置系统中。

在风控领域

在风控领域,例如腾讯的防火墙等具体实践中,我和一些专业人士交流过,他们告诉我,风控策略系统的灵活性是非常重要的。
每个风控点都有可能被人突破,因此在数据上会显示出异常,但我们的策略可能并未涵盖这种情况。此时,风控系统能够迅速配置新的策略来应对这种突发情况。

在投放领域

在投放领域,我们是否可以借鉴这种设计思路,构建一个同样灵活的系统来管理我们的投放规则呢?通过简单的配置,让投手能够根据自己的经验,灵活地设置各种规则和优先级。这不仅是一个软件工程问题,更是一个设计投放规则管理系统的挑战。
我认为,我们可以在一定程度上参考其他行业中的风控策略系统设计,为自己的投放系统制定规则。
这些规则与决策引擎中的评分卡模型相结合,构成了决策的基础。具体来说,这些规则表、决策表和数据结构都是软件工程中需要考虑的关键因素。它们能够为我们整理出可配置的项,以便我们在自己的投放系统上实现类似的功能。
因此,我们可以从其他行业中寻找可借鉴的思路和方法,为自己的投放系统设计提供更多的启示。例如,通过研究规则数等关键指标,我们可以更好地理解其他行业中的风控策略系统是如何运作的,从而为自己的投放系统设计提供参考。
总的来说,尽管风控领域的书籍很多,但我认为在《智能风控平台:架构、设计与实现》这本书的第六章很实用,建议大家读一读,并结合自己的实际情况来设计投放系统的规则。

QA答问

Q1:在媒体测量领域,使用强化学习是可行的?
A:许多论文都表明,使用强化学习可以完成许多任务。然而,对于我们这些非专业的读者来说,这些论文中涉及的数学概念可能会让我们望而却步。我们可能会向专家请教这些数学概念所需的知识背景。
但需要注意的是,这些算法的实用性往往难以确定。有时候,广告主或算法领域的专业人士会展示他们的研究成果,但你无法完全确定这些算法的实际效果。因此,当你试图在公司的投放领域应用这些算法时,你无法确定它们是否真的有用。
对于某些领域,例如大型游戏,优化可能非常有益,但对于其他领域,如休闲游戏,优化可能并不明显。因此,最重要的是根据实际情况进行实验和验证。
在媒体测量领域,算法的复杂性很高,很多团队成员只能负责一部分工作。因此,广告主的操作空间是有限的,他们往往需要寻求折中的解决方案。例如,如果无法手动进行素材标签化,他们可能会采取一些折中的方案。
需要注意的是,媒体测量算法已经非常成熟,它们是一些完全可用的广告主算法,与行业密切相关。因此,将一套系统应用到其他行业可能会产生截然不同的结果。
在考虑使用强化学习进行投放时,我们需要谨慎对待。我们需要了解投放参数是否使用了强化学习技术,并确保投放过程得到了充分优化。此外,我们需要根据公司的业务特点来选择最合适的投放策略。
Q2:使用大模型生成素材,相似度太高怎么办?
A:快手的相似度算法非常严格,比如我只用了两三遍同样的素材,下一个广告还是会提示高相似度。
我们曾经看过一些媒体关于快手相似度判断的文章。首先,它会从素材内容的角度做判断,再从你创建素材的账号角度去评估。还会考虑地理位置、时间等因素来判断素材的相似度,以及根据过去素材的投放历史判断是否要放量。它通过多个维度来进行判断。
最核心的内容相似度的判断方式,我认为媒体方面是不会公开的。但是,如果我们现在使用SD重新绘制,或者使用其他模型进行重绘,对于它们而言,理论上来说,它是看到了完全不同的视频素材。
早期我们为了突破快手限制做过实验,我们尝试了许多传统算法,发现如果将两个视频拼接在一起,比如将两个横向视频拼接成一个竖向视频,尽管内容完全相同,这样就能简单绕过快手的限制。
简单来说,快手肯定也在进行元素的识别和区分。如果我们使用SD重新绘制,或者使用其他模型调整,那么对于它们来说,它会生成一个内容相似但风格差异很大的视频,至少在计算机看来是差异很大的,这样就可以一定程度上突破相似度的限制点。

以上文章来源于广告从业者自习室 ,作者二两