Fork me on GitHub

阿里 | 新时期的阿里妈妈广告引擎架构

✍🏻 本文作者:画沙、彧卿、春播、亮深

阿里妈妈作为国内互联网电商广告的标杆,过去几年正经历着快速变化。阿里妈妈内投广告产品从2019年的“三驾马车” (直通车、钻石展位、超级推荐)时代,迎来了2020年的爆发式创新(超级直播、超级互动、极速推等)时期,又在关键的2021年进入了以万相台为代表的“ 全域自动驾驶 ”时代。

在这个风起云涌的过程中,广告引擎作为承接广告流量、实现产品功能、满足客户诉求的核心系统,支撑着广告产品和算法技术的蓬勃发展。在当下流量红利逐渐减退、商家经营全面进入数智化,同时技术创新进入深水区、计算更加绿色低碳的新时期,阿里妈妈广告引擎技术正在经历着脱胎换骨的进化。

本文分享阿里妈妈内投广告引擎在工程架构上的最新发展,以及广告引擎中的召回、策略、创意技术的演进方向。

2. 轻装上阵,广告引擎的Serverless之路

从全图化到Serverless化

阿里妈妈广告引擎经过多年、多个阶段的迭代,已经逐渐走向了全图化架构 —— 引擎的数十个模块基本都是基于C++算子 + 图(DAG)的迭代模式,多个模块的DAG组成了引擎整体的业务大图。

图片
图1. 阿里妈妈广告引擎架构

然而,各个模块的DAG相对独立和静态,使得整个引擎的“业务大图”难以灵活变换和优化。主要原因在于,各个模块仍然在使用传统的“面向服务”的迭代模式,存在几个难以解决的问题:

  • 研发关注视角分散 :面向服务迭代,需要所有开发同学(包括算法同学)知晓并熟悉系统物理部署的各种细节(应用、机房、容量等),这无疑增加了业务同学不必要的关注成本,提高了迭代难度。
  • 研发交付粒度过粗 :尤其在重数据的模块,发布一个小功能也需要完整地更新一遍应用实例、重新拉取数据,大大降低了发布效率。而对于高速迭代的广告业务和算法来说,交付效率至关重要。
  • 跨模块复用难度大 :不同团队负责不同模块,久而久之容易形成不同模块技术框架和数据表达的高度个性化(存储选型随意、Schema不统一、Session滥用等),从而加大了跨模块开发和优化的难度。而代码的跨模块复用、跨业务复用更是无从谈起,无形中产生了大量不必要的重复建设。

图片

图2. “面向服务”的迭代模式

因此,从面向服务的迭代模式进化到Serverless的迭代模式,来降低迭代成本、提升交付效率、实现能力复用,是我们的必然选择。

广告引擎Serverless化的挑战

云原生时代,Serverless从理念到基础设施愈发成熟,各大云厂商从传统的提供IaaS、PaaS基础设施,逐渐向提供SaaS、FaaS等云原生产品的方向延伸,而Serverless便是PaaS和FaaS的精髓所在。然而,目前Serverless的落地主要是以事件驱动任务、数据分析处理、微服务容器化等非重计算、对延迟不敏感的场景为主。而对于广告引擎这样低延迟、重数据、重计算的在线系统,Serverless的落地应用还并不多。

  • 低延迟 :考虑到流量规模和用户体验,广告引擎处理一次请求的延迟在百ms级,对系统的吞吐和性能要求极高。
  • 重数据 :系统中既有广告索引、模型这样的大内存数据,也有上百份的异构小数据,难以实现存储计算分离,在数据的安全构建、实时更新、平稳切换上存在着很大挑战。
  • 重计算 :海量广告检索、无处不在的模型计算、CPU/GPU/NPU多种硬件的异构计算,使得广告引擎的计算模式非常多样,算力需求持续增长。

让业务能力“漂移”起来

面对广告引擎低延迟、重数据、重计算的挑战,我们向Serverless演进的主要解法是:

  • 统一运行时 :所有模块选择统一的运行时框架,来托管PaaS层的能力,尤其是管理各种数据的分发,让业务开发同学能够 只关注业务逻辑 ,降低了迭代难度。这个统一的框架,从之前的ControlFlow(控制流)模式全面切换到DataFlow(数据流)模式,在业务编排上带来了性能优化的空间;同时,通过解耦业务逻辑表达(DAG描述)和运行时执行,框架底层可以引入对逻辑图的编译优化(算子融合/并行/调序等),使得运行时性能可以持续优化,确保引擎的高吞吐和 低延迟 。(工程框架和管控平台的全面升级,得益于阿里妈妈引擎平台兄弟团队的优秀工作)
  • 统一数据抽象 :将引擎依赖的各种数据统一抽象为Table(倒排/正排/KV等),业务开发只需要配置化地依赖Table,即可在自己的DAG中去直接消费。所有数据表在可视化的管控系统中进行管理,运行时框架负责数据表的拉取和切换,业务代码则直接拿到可用的数据表指针进行使用。这样就实现了数据调度对业务开发的透明,很大程度上解决了重数据依赖的问题,提升了交付效率。
  • 统一业务抽象 :在统一运行时框架、统一数据抽象之后,继续对业务编程接口和算子进行规范化:算子的输入输出均为标准Schema的数据Table、去除对Session的依赖,从接口上让算子功能内聚;同时合理抽象所有算子的颗粒度,算子粒度变小之后,复用性大大提升,实现了业务算子在引擎所有模块之间“ 漂移 ”的效果,让重计算的业务引擎变得灵动起来。在领域对象+业务算子标准化的基础上,还可以逐步实现业务子图、乃至业务解决方案的复用,使得业务能力的沉淀、新业务的快速组装成为可能。

图片
图3. Serverless化的迭代模式

上述的解决方案看似朴素,实现起来难度极大,从顶层设计到实现细节都充满了挑战。目前我们已经在广告引擎的召回、策略等关键子系统,实现了Serverless的升级,今年即可实现整个引擎的全面Serverless化。

3. 厚积薄发,召回引擎持续打开想象空间

召回技术,持续精进

召回技术是搜推广领域的核心技术之一,它的挑战在于如何从海量物料中准确、快速地筛选出最匹配的候选集,决定了广告效果的天花板。阿里妈妈的召回技术经过了几代演进,从传统的基于关键词/人群的召回,到近些年主流的向量化召回,再到这两年最热门的基于模型的召回,始终引领着业界最前沿的探索方向。在最传统的关键词召回方向,我们深耕出了层次竞买图等新颖的召回技术。尤其是在基于模型的召回方向,无论是搜索广告的图学习(SMAD、DC-GNN)、双曲空间模型(AMCAD),还是展示广告的树检索(TDM)、二向箔(DVF),都在持续推高召回技术的天花板。(延展阅读:TDM到二向箔:阿里妈妈展示广告Match底层技术架构演进从二值检索到层次竞买图——让搜索广告关键词召回焕然新生

持续演进的召回算法的背后,是大数据量、大计算量的挑战,依靠的是强大的工程引擎支撑。目前,阿里妈妈的广告引擎,已经积累了相当丰富的召回能力:

图片
图4. 召回技术沉淀

召回架构,大道至简

沉淀这些召回能力的过程,也是我们对架构重新梳理和抽象的过程。从最简洁和共识的角度出发,我们把召回引擎重新定义成MatchServer、Trigger、Searcher三个逻辑角色:

  • MatchServer :负责整体召回流程的编排调度,包括调用Trigger获取各种召回信号、调用Searcher获取广告候选集、对召回结果进行统一的后处理。这里涉及多路调用和计算,在子图编排上有非常灵活的空间。
  • Trigger :输入User、Query、Context特征,输出各种召回信号(Token)。这里涉及大量分布式数据的查询、以及上文所述的各种召回算法。在一次流量中,MatchServer会调用多种Trigger来获取多种信号,是召回算法迭代的主阵地。
  • Searcher :输入各种召回信号,输出广告候选集(Ad)。这里涉及高性能的倒排/正排索引的检索、各种业务逻辑过滤、以及各种排序操作,是广告引擎中计算和数据最重的模块之一。

需要注意的是,MatchServer、Trigger、Searcher是逻辑架构层面的抽象。在Serverless的可“漂移”架构下,三者之间的算子,可以根据数据规模、本地/远程计算模式等实际情况进行灵活的组合,从而形成最合适的物理架构。

图片
图5. 召回架构抽象

值得一提的是,在我们的抽象设计下,阿里妈妈搜索、展示、内容广告引擎的核心数据Schema是统一的,结合Serverless的统一基础设施,很容易让MatchServer、Trigger、Searcher的算子和子图进行低成本的 跨业务复用 。这也开创了将算法和业务能力进行平台化沉淀的先例。

一套架构,在离线复用

随着用户行为日益丰富、广告深度持续增长,基于在线引擎Trigger、Searcher的两阶段召回的计算开销越来越大,为了满足在线引擎严苛的延迟要求,Trigger、Searcher两阶段的检索不得不面临着截断,从而影响到了召回效果的全局最优、以及广告主的投放顺畅度。为了解决这个问题,阿里妈妈展示广告在近两年研发了基于Blink流批一体技术栈的“大规模无截断召回系统****TFMS ”,通过离线预计算的方式,为在线两阶段召回很好地补充了更丰富的召回候选集。(TFMS延展阅读:https://arxiv.org/abs/2102.09283

在迭代TFMS的过程中,我们发现了两个优化方向:是否可以统一在线、离线两套召回的技术栈,降低迭代成本?以及是否可以让在线和离线的计算资源弹性复用?结合上文介绍的MatchServer、Trigger、Searcher的召回架构范式抽象,我们很快发现,在线和离线完全可以共享同一套系统架构、以及大部分的业务代码,然后便可以非常自然地共享计算资源,这与我们Serverless的理念是非常一致的。

图片
图6. 在离线统一召回架构

在离线复用一套架构的想象空间在于,可以通过智能的 算力分配技术 ,自动化地调节在线和离线召回的计算资源,从而让系统资源在高利用率下能够保持安全稳定,同时产出最大的业务价值。

4. 使命召唤,策略引擎成为增长新驱动力

自动出价时代,策略技术持续演进

标准的广告排序公式可以表达为:eCPM = pCXR * bid,其中bid代表着广告出价。可以看出,一次广告请求中的召回、粗排、精排、重排的过程,正是pCXR和bid计算的准确性不断提升的过程,预估和出价越准确,广告主就越能够获得更适合自己的流量、投放效果和平台收益也就越高。因此,出价(Bidding)一直是广告机制策略体系中非常核心的技术。

近几年,随着阿里妈妈广告产品中客户诉求和优化目标表达的多样化,广告出价也早已超越了客户自主设置点击出价的阶段,已经发展出了基于点击/收藏/加购/成交等多优化目标的自动出价产品技术体系,尤其是万相台这样的“自动驾驶”广告产品,更是将自动出价技术的产品价值发挥到了最大。在这个过程中,阿里妈妈的自动出价算法技术,也从早期的oCPX,演进到当前的BCB、MCB,以及最新的USCB等技术。与此同时,机制策略的另一大关键技术——拍卖(Auction)技术,也从经典的GSP、uGSP,演进到最新的Deep GSP和Neural Auction等技术。可以看出,以出价和拍卖为代表的策略算法技术,在广告产品中扮演着越来越重要的角色。(延展阅读:阿里妈妈展示广告智能拍卖机制的演进之路

策略算法演进的过程,也是策略工程体系升级的过程,从早期的以精排单阶段出价为主,到现在的粗排、精排、重排 多阶段出价 ;从基于公式的出价,到基于模型的出价;从离线简单数据反馈+在线简单出价公式,到离线训练+实时调控+在线出价的端到端工程平台,策略工程体系已经发展出了独具特色的技术路线。

端到端的策略工程平台

依据策略参数和模型的生产-消费角色,可以将策略工程平台划分为三个子系统:

  • 离线训练系统 :支持强化学习和超参寻优的计算场景,以SDK的形式提供了解决机制策略优化问题常用的强化学习工具包和超参寻优工具包,其中强化学习工具包集成了DQN、DDPG、A3C、PPO等主流强化学习算法,超参寻优工具包集成了ES、CEM等多种超参寻优算法。训练系统产出的模型交付给调控系统使用。
  • 实时调控系统 :具备实时数仓能力,以及流批一体的数据处理、模型计算、IO调度能力,稳定、实时地支撑百万量级广告的策略参数调控。调控系统产出的策略参数交付给在线系统使用。
  • 在线出价系统 :支持各种出价和拍卖算法,根据策略参数计算每个广告在每个流量上的出价,从而影响广告最终的排序和投放效果。

图片
图7. 策略工程平台

一次开发,按需集成,多处生效

作为策略效果迭代的主阵地,策略在线引擎的迭代有两大明显的趋势:

  • 多阶段策略复用 :如上文所述,出价策略已经覆盖到了粗排、精排、重排等多个阶段,各阶段的出价逻辑要保持一致性,那么就需要相同的策略算子和子图在引擎的各阶段能够尽量复用。但是,不同阶段的计算特点不同,比如粗排广告比精排大一个数量级,但是精排广告比粗排计算精度要高,因此需要算子和子图能够以本地集成和服务化调用等多种形式来灵活部署和访问。这正是我们上文介绍的算子“漂移”能力的典型场景。
  • 跨业务能力复用 :搜索广告、展示广告、内容广告各自特有的机制策略虽然存在一定差异,但在策略技术体系上、尤其是基础的策略工程能力上(参数查询、特征计算、轻量级模型、日志回流等),有着共同的范式。通过上文介绍的统一数据抽象+统一业务抽象,我们实现了策略算子在多个业务之间最大程度的复用,让万相台等横向跨渠道投放的业务具备了“ 一次开发,多场景生效 ”的策略迭代能力。

图片
图8. 策略在线引擎

5. 日新月异,创意引擎展开未来生态蓝图

阿里妈妈智能创意技术

创意是广告与用户交互的载体。好的创意形式和内容,会给用户体验和广告效果带来显著提升。广告创意一部分来自于广告主自己的制作,另外一大部分来自于算法的智能制作。多年来,阿里妈妈在智能创意上已经积累了深厚的技术和产品能力。

  • 图文创意方面 ,从基于设计师模板的拼接创意,到基于制作手法的动态描述创意,取得了很好的视觉效果的同时,还衍生出了智能延展、合成图美颜、人物换装等颇具想象力的技术。
  • 视频创意方面 ,包括基于模板和元素的剧本创意,以及基于对已有视频剪辑加工的剪辑视频,并且研发出了多模态时空剪辑、动效视频、直播片段剪辑等特色技术。

这些智能创意技术,让阿里妈妈广告更加原生化、更吸引人,同时能够覆盖更多的流量场景、获得更好的投放效果。

端到端的智能创意平台

创意算法的演进,背后是全链路的数据能力和强大的工程平台的支撑。 阿里妈妈智能创意平台 ,经过多年的积累已经颇具规模,整个平台包括了面向运营和设计师的创意中心、统一的创意与素材存储中心、标准化的数据Schema和更新链路、元素级的创意实时拼图服务,以及支撑算法核心能力的创意制作和投放引擎等。

图片

图9. 智能创意平台* 创意制作引擎 :负责对素材库中的原始图/文/视频素材进行加工处理,根据上述各种智能制作算法,制作出可用于在线投放和优选的创意素材。创意制作引擎具备高吞吐的请求响应能力、高性能的模型服务能力,日均可生产千万量级的各类型创意素材候选集。

  • 创意投放引擎 :负责将离线制作好的创意素材,根据在线流量特征,进行个性化的优选和组装,从而生成最终展现给用户的完整创意,完成从创意生产到投放的闭环。这里主要的挑战在于,要将各种素材以最优的组合方式投放在非常多样化的流量场景上,满足样式和内容原生、用户体验良好的同时,带来更好的投放效果。

丰富的创意生态工具

智能创意平台除了能够制作海量的广告创意并投放到海量的流量上,还提供了丰富的图/文/视频内容的创作工具(阿里妈妈创意中心:https://chuangyi.taobao.com/),帮助广告主及生态伙伴轻松使用AI能力来高效制作高质量的创意。

图片
图10. 创意生态工具

例如,短视频制作工具“绘剪”,只需要输入商品链接,即可一键生成指定尺寸和投放渠道的短视频创意。而“混剪”工具,可以将商家普通的商品介绍视频,按照不同的算法脚本(例如“全面种草”),一键生成可用于营销推广的短视频创意。“一键生成”的背后,是创意制作引擎模型服务强大的算法和工程能力。阿里妈妈智能创意平台正在将多年的技术积累和创新,打造成丰富的产品和生态能力,让商家的营销如虎添翼。

6. 面向未来,坚定前行

本文分享了阿里妈妈内投广告引擎的最新技术成果,包括Serverless化的引擎架构、富有想象空间的召回架构、端到端的策略工程平台和智能创意平台等。在这些技术积累的背后,是我们对卓越和极致的追求、对更高迭代效率和更好研发体验的探索。真正好的技术和平台,从60分做到80分不容易,从80分做到99分更具挑战。我们会持续探索和打磨令人兴奋的工程技术平台,面向未来创造更多业务价值。欢迎大家持续关注和交流~

▐ 关于我们

我们是阿里妈妈业务引擎工程团队,致力于打造新一代智能化、Serverless化的广告业务引擎。我们的工作涉及搜索/展示/内容广告引擎、广告索引和策略数据链路、智能创意制作和投放引擎等,欢迎感兴趣的伙伴加入。

投递简历邮箱:

alimama_tech@service.alibaba.com


本文地址:https://www.6aiq.com/article/1654269863835
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出