共计 11552 个字符,预计需要花费 29 分钟才能阅读完成。
在深度学习时代,算力的需要和耗费日益增长,如何升高算力老本,进步算力效率,逐步成为一个重要的新课题。智能算力旨在对流量算力进行精细化和个性化调配,从而实现零碎算力束缚下的业务收益最大化。本文次要介绍了美团外卖广告智能算力从线性规划算法到进化算法的技术演进过程,给出了一种基于进化算法的多动作算力调配计划,心愿能给大家带来一些帮忙或者启发。
1 业务背景
随着美团外卖业务的飞速发展,外卖广告零碎压力变得越来越大,算力开始成为新的瓶颈。2021 年上半年,外卖广告的数条业务线开始呈现算力资源有余的状况,算力调配效率亟待晋升。在外卖场景下,流量出现显著的双峰构造,广告零碎在顶峰时段面临较大的性能压力,非顶峰时段存在大量算力冗余。智能算力旨在对流量算力进行精细化和个性化调配,从而实现零碎算力束缚下的业务收益最大化。
本文是广告智能算力系列文章的第二篇,在第一期《美团外卖广告智能算力的摸索与实际》中 [1],咱们对阿里 DCAF[2] 线性规划求解计划进行了外卖场景下的优化,落地了弹性队列部分最优算力调配计划(以下简称“第一期”)。如上图所示,外卖展现广告链路中,召回通道和模型决策均应用固定策略,在算力有余时会失落局部优质流量带来的收益。
在本文中,咱们提出了基于进化算法的多动作算力决策办法ES-MACA(Evolutionary Strategies based Multi-Action Computation Allocation)。在外卖广告链路上,同时决策弹性通道、弹性队列和弹性模型三个动作。在后置动作决策中,咱们思考前置模块的决策引起的状态变动,同时应用多任务模型联结建模实现零碎仿真模仿(离线仿真 + 收益预估,实现不同决策动作下的收益评估性能),实现全链路最优算力调配。绝对第一期内容,ES-MACA 在外卖展现广告业务线上获得 CPM+1.x%、支出 +1.x% 的成果。
2 整体思路
为了应答极大的在线流量压力和宏大的候选集,外卖广告投放零碎将整个检索过程设计成候选集顺次递加的漏斗型级联架构,次要蕴含召回、粗排、精排、机制等模块。在第一期中,咱们把算力调配的伎俩定义为 弹性动作,并联合外卖场景演绎了弹性队列、弹性模型、弹性通道和弹性链路等四种动作,具体动作的定义如下:
- 弹性队列:线上检索是一个漏斗的过程,不同价值流量能够在级联漏斗的各模块中调配不同候选队列长度。
- 弹性模型:在模型预估服务中,对于不同价值流量能够抉择不同大小模型,大模型绝对小模型预估成果更好的同时,耗费的算力也更多。
- 弹性通道:在召回场景中,不同价值流量能够抉择不同复杂度的召回通道和召回通道的路数。
- 弹性链路:在检索链路上,不同价值流量能够抉择不同复杂度的检索链路。
2.1 算力调配问题形式化形容
在一个蕴含 M 个算力决策模块的链路中,全链路最优的智能算力的指标可通用的形容为:通过智能化决策 M 个模块的算力档位,在整体算力满足束缚的条件下,使得整体流量收益最大化。
该问题的个别形式化形容为:
以上是多个算力决策模块的场景,在外卖展现广告中,对算力和收益较为敏感的决策模块为广告召回策略、精排队列长度和精排预估模型,别离对应弹性通道、弹性队列和弹性模型三个动作。
在本期中,咱们同时思考弹性通道、弹性队列和弹性模型三个模块的算力联结决策。
在多个模块联结决策时,同一个申请的不同模块动作之间相互会产生影响。如下图所示,弹性通道决策后果决定了实在召回队列(包含候选队列的长度和广告类型等信息),间接影响了弹性队列的输出状态。同理,弹性队列的决策后果影响了弹性模型的输出状态。因而,在多动作联结建模中,咱们减少了申请“状态”特色,让决策动作与零碎产生交互,更好地拟合零碎状态的过程。
2.2 挑战剖析
外卖智能算力第一期中,咱们针对外卖广告场景,在 DCAF 计划的根底上进行了一系列摸索和改良,并首次进行了模型弹性调配的尝试,获得了不错的收益。近年,阿里 CRAS[3]计划给出了一种利用于预排、粗排和精排队列联结优化的联结最优算力调配线性规划计划。从弹性动作的分类来看,该计划以一种优雅的形式解决了三个弹性队列的联结优化问题,CRAS 通过一些数据分析和正当假如,将原始问题拆解为三个相互独立且类似子问题,而后别离对三个子问题进行求解。
然而已有计划是基于线性规划计划的,且仅关注一个或多个 弹性队列 优化问题,在面对非弹性队列动作组合,如弹性通道和弹性模型时,计划无奈间接迁徙。特地地,在约束条件或优化指标发生变化时,线性规划计划须要从新对特定业务问题进行建模和求解,需耗费大量的人力;此外,目前已有线性规划计划的问题建模和求解过程中往往蕴含一些业务数据相干的强假如,这些假如在新的业务上可能难以满足,这进一步使得已有计划难以拓展迁徙到新的业务问题上。
因为外卖场景的 LBS 限度,外卖广告的候选队列绝对非 LBS 电商场景较短,不须要通过简单的预排 - 粗排 - 精排的过程。在全链路上,咱们更关注召回通道、精排队列长度、精排预估模型等模块的算力调配,这些模块其实对算力更加敏感。
整体来看,美团外卖广告场景全链路最优算力调配的挑战次要包含以下两个方面。
通用化问题
- 挑战点:已有计划与业务耦合过重,一方面,在约束条件或优化指标发生变化时,线性规划计划须要从新对特定业务问题进行建模;另一方面,对特定的业务线,往往须要依据业务数据个性减少一些强假如。外卖广告目前包含十余条业务线,每条业务线中又存在多个算力决策场景,若对每条业务线的每个场景都独自建模,人力老本微小。
- 应答思路:采纳通用解决方案并积淀为根底通用能力,为广告业务的不同算力决策场景赋能,降本增效。
序列决策问题
- 挑战点:在全链路算力调配时,多个决策模块之间相互耦合,独特对影响以后流量的最终算力和收益。如下图所示,前置动作决策后,须要跟实在环境交互能力获取动作决策后的交互后果,模块之间波及到零碎状态转移,须要在最初一个决策模块实现决策后能力取得流量收益,这使得咱们难以通过惯例形式建模。
- 应答思路:在全链路最优算力调配问题建模过程中,减少零碎在各链路上的“状态”转移过程,后置模块依据前置模块的决策后果和申请状态进行决策。
综合思考以上两个问题,咱们将外卖广告全链路最优算力调配问题建模为多阶段决策问题(每个决策模块对应一个决策阶段),按工夫程序顺次决策召回计划、截断队列和预估模型。每个阶段中,由 Agent 与环境交互和决策,Agent 参数可应用进化算法或强化学习求解。
全链路算力调配过程可建模为马尔科夫决策过程(Markov Decision Process, MDP)或局部可观测马尔科夫决策过程(Partially Observable Markov Decision Process,POMDP)。如上图所示,状态转移产生在相邻的两个阶段之间,各阶段别离有不同的候选动作(如召回策略,截断长度和预估模型编号等),Reward 则在最初一个阶段动作执行后通过零碎反馈取得。
咱们能够收集在线日志数据,应用离线强化学习(Offline RL)求解 Agent;在不放心线上收益受损的状况下,也能够应用在线强化学习(Online RL)求解 Agent。但因为业务场景简单,各阶段算力束缚难以对立,不论是离线强化学习还是在线强化学习,都面临多阶段强束缚难以建模和求解的问题。
而进化算法作为一种利用宽泛、鲁棒性强的全局优化办法,有以下长处:
- 防止部分最优:进化算法参数搜寻过程具备肯定的随机性,不易陷入部分最优;
- 可并行化:进化算法参数搜寻过程可并行,可缓解评估过程耗时问题;
- 利用宽泛:进化算法能够可能解决不间断、不可微和非凸优化问题,且不须要过多先验常识;
- 简略易用:一些进化算法,比方穿插熵办法(Cross-Entropy Method,CEM)能够优雅地解决各种束缚问题,不须要间接求解束缚问题。
进化算法能很好地解决外卖广告场景中的问题,既容易扩大到其余业务线,又能十分不便地建模各种决策问题。因而,本期咱们抉择进化算法来求解外卖场景全链路最优算力调配问题。在后续工作中,咱们会尝试应用强化学习计划求解。
如本节迭代门路(图)所示,咱们在 1.5 期中尝试了基于进化算法的单动作算力决策办法ES-SACA(Evolutionary Strategies based Single-Action Computation Allocation),验证了进化算法在算力调配场景的有效性。接下来,本文次要介绍基于进化算法的多动作算力决策办法ES-MACA。
3 方案设计
为了实现广告零碎全链路上的最优算力调配,咱们设计了如下决策计划:
离线训练:随机抉择决策 Agent 参数,批量回放历史流量,Agent 与广告投放模拟系统进行交互,实现状态转移过程。依据零碎返回的 Reward 优化决策 Agent 参数,最终输入离线最优 Agent 参数,并同步到线上。
在线决策:对于线上单条申请,应用离线最优 Agent 与线上零碎进行交互和决策。
在本期中,咱们应用进化算法求解 Agent 参数。进化算法参数寻优的外围是组合动作价值评估,因为波及到状态转移过程,组合动作价值评估不再是一个简略的监督学习问题,Agent 须要顺次与零碎交互并执行决策动作,直到最初一个阶段的动作实现时能力从零碎中获得收益。一种简略的计划是让 Agent 在线学习,与零碎交互的同时优化本身参数,但在线学习会影响业务收益,这对咱们来说是不可承受的。为了解决这个问题,咱们通过结构广告投放模拟器,模仿线上广告零碎环境,由该模拟器与 Agent 进行交互,并反馈收益(Reward)。
3.1 全链路最优算力决策
3.1.1 问题建模
依据外卖广告的投放场景,咱们基于进化算法对整个问题建模如下:
- 状态:上下文特色,申请队列特色等(后置决策模块的状态依赖前置模块的决策,比方弹性通道的决策间接影响了弹性队列时队列长度)。
动作:在不同阶段定义不同。
- 弹性通道:召回动作,一维向量 $(a_1, a_2, a_3, …)$,$a_i \in \{0,1\}$ 示意是否该通道是否召回。
- 弹性队列:截断长度,整数值。
- 弹性模型:模型编号,整数值。
- Reward:收益指标为业务收益,为了保障求解参数合乎算力约束条件,在 Reward 中增加算力约束条件。对于越严格的约束条件,算力系数 $\lambda_n$ 越大。
3.1.2 离线参数求解
离线参数求解次要分为进化算法参数寻优和 Reward 评估两个模块。
- 参数寻优模块:实现通用的进化算法寻参流程,负责参数初始化、参数评估(依赖 Reward 评估模块)、参数采样和参数进化等过程,并最终输入最优参数。
- Reward 评估模块:依据指定 Agent 的具体参数,批量回放线上流量,让 Agent 与环境进行交互(离线仿真),最初依据交互后果预估以后参数对应的收益。
3.1.2.1 参数寻优
参数寻优模块应用进化算法求解参数。本文以 CEM 为例,对参数求解过程进行具体解说:
- 参数初始化:初始化参数均值和方差,依据指定的均值和方差随机采样 N 组参数。
Reward 评估
- 离线仿真:回放流量,让以后参数对应的 Agent 与离线模拟器交互,实现状态转移过程,在所有模块决策实现后,离线仿真模块输入回放流量交互后果。
- 收益预估:依据回放流量交互后果,预估以后交互后果下的冀望收益。
- 参数筛选:依照参数合并流量冀望收益,筛选使得所有流量整体收益最高的 Top- K 组参数。
- 参数进化:依据 Top- K 参数,计算新的参数均值和方差。
- 参数采样:依据新的均值和方差,从新采样 N 组参数,并跳转到第二步,直到参数均值和方差收敛。
Tips:NES 计划在本场景中成果不如 CEM,起因是 NES 对带束缚问题(特地是多束缚问题)Reward 设计要求过高,在实在场景中难以求解到严格满足束缚的参数。
3.1.2.2 Reward 评估
离线 Reward 评估流程:在离线训练时,对于选定的 Agent 和历史流量。
- Step1:模拟器结构流量初始状态特色,并反馈给 Agent。
- Step2:Agent 依据模拟器给出的流量状态特色进行召回通道档位决策。
- Step3:模拟器依照 Agent 给出的召回决策后果进行队列召回,并将召回后果反馈给 Agent。
- Step4:Agent 依据召回后果及初始流量状态进行队列长度决策。
- Step5:模拟器依照 Agent 给出的队列长度决策后果模仿截断操作,反馈截断后的队列状态给 Agent。
- Step6:Agent 依据截断队列进行预估模型编号决策。
- Step7:模拟器依据模型编号决策给出广告列表汇合以及决策相干特色。
- Step8:将离线模仿的广告列表后果输出收益预估模型,预估每条申请对应的离线收益。
- Step9:统计整体流量的 Reward,作为以后 Agent 策略的评估后果。
3.1.2.2.1 离线仿真
在线环境交互面临的窘境(离线仿真的必要性):实践上,决策 Agent 与在线环境交互能取得最实在 Reward(收益)反馈,但间接利用在线流量摸索会导致以下问题:
- 在线收益损失:在线摸索 Agent 收益的过程是有损的,特地是在策略学前期,策略决策简直是随机的,线上算力束缚和收益都无奈失去保障。
- 流量利用率低:Agent 学习往往须要几十甚至上百轮的训练,每轮训练中又蕴含多组可行参数,为了积攒相信的流量数据,每组参数的流量不能太少,总体来说训练工夫和效率将是难以承受的。
离线仿真的最终目标:复现线上交互逻辑和收益反馈。
- 基本思路:尽管无奈齐全复现线上的简单环境,但参照线上环境交互逻辑,能够通过离线广告零碎模拟器在效率和准确性之间做一个取舍。
- 其余模块:为了达成这个指标,对于特定的广告队列信息,咱们能够应用有监督学习模型对其流量 Reward 进行预估。
离线仿真 + 收益预估解决方案:
- 线上随机摸索流量:在线留下大量随机摸索流量,随机决策每个阶段的候选动作,同时记录流量日志和线上零碎的交互后果。
- 离线仿真零碎:对历史流量日志,仿照线上逻辑,模仿召回,队列截断、粗排 CTR 预估等逻辑生成离线交互后果。
- 收益预估:作为离线 Reward 评估的外围模块,收益预估决定了参数的进化方向,咱们将在下一节对收益预估计划进行具体介绍。
3.1.2.2.2 收益预估
指标和挑战点
- 指标:基于线上空白流量和随机摸索流量,预估申请在不同动作下的冀望收益。
挑战点:不同于传统广告中“用户 - 广告”粒度的部分链路 CTR、CVR 以及 GMV 预估工作,本文是申请粒度的全链路收益预估,蕴含了申请曝光、点击、下单(转化)的整个过程,问题更加简单,特地是面临数据稠密问题。
- 数据稠密问题:因为建模链路较长,在用户转化数据十分稠密的状况下,大部分流量都没有转化动作产生(意味着商家收益为 0)。
模型预估计划
模型设计
- 思考到商家收益数据过于稠密,曝光、点击数据则较为浓密,同时思考到曝光(平台收益)、点击、下单(商家收益)等行为是强相干的行为,本次预估计划应用多任务模型联结建模。
特色工程
- 将各阶段的特色离散化后通过 Embedding 退出模型中。
- 依据不同队列长度下的流量数据分布状况,将队列长度等特色进行人工分桶再通过 Embedding 退出模型中。
3.1.3 在线决策
对于线上单条申请,应用离线最优 Agent 与线上零碎进行交互和决策。和离线评估流程统一,顺次依照如下流程执行决策过程:
- Step1:零碎反馈流量初始状态至 Agent。
- Step2:Agent 依据零碎流量状态进行召回通道档位决策。
- Step3:零碎依照 Agent 给出的召回决策后果进行队列召回,并将召回后果反馈给 Agent。
- Step4:Agent 依据召回后果及初始流量状态进行队列长度决策。
- Step5:零碎依照 Agent 给出的队列长度决策后果执行截断操作,反馈截断后的队列状态给 Agent。
- Step6:Agent 依据截断后队列状态进行预估模型编号决策。
- Step7:零碎依照 Agent 给出的模型编号调用预估服务。
3.2 零碎建设
在智能算力第一期中,咱们曾经实现了以决策组件为外围,以采集、调控和离线组件为撑持的智能算力零碎基本建设。在本期中,咱们围绕着从单动作部分最优决策扩大到多动作组合最优决策的外围需要。在零碎建设上,除了多动作组合最优决策的根本能力建设外,更关注的智能算力零碎的稳定性和通用性建设,从而撑持智能算力零碎在外卖广告全业务线的全面利用。
3.2.1 决策组件 Agent
决策组件 Agent 作为智能算力零碎的客户端,嵌入到广告投放零碎中各个模块,负责零碎流量算力的散发决策。在本期中,咱们次要在决策能力上进行了轻量化、精细化迭代,以及相干能力的标准化建设。
在决策能力上
建设轻量的多动作组合决策能力:咱们基于进化算法实现了轻量的多动作组合决策能力,进化算法相干前文曾经介绍,这里次要介绍下轻量化。
- 为什么须要轻量化:在广告投放零碎中,对于线上的时延要求十分严苛,在多动作下须要进行序列决策,决策次数实践上等于决策动作的数量,因而智能算力决策必须在成果不降(或微降)下尽可能的轻量化,能力满足线上 RT 要求。
- 如何建设:(1) 模型本地化,缩小网络时延,这个也是将决策能力封装到 SDK 而不是建设模型决策服务的次要起因。(2) 模型轻量化,通过特色工程工作,尽可能地缩小特色数量,缩小在线特色解决的性能压力。(3) 决策并行处理,决策动作尽量和线上已有流程并行处理,缩小整体链路耗时。
- 轻量化成果:多动作组合决策绝对单动作决策,广告链路耗时:TP99+1.8ms、TP999 +2.6ms,满足线上 RT 要求。
建设精细化的零碎状态反馈控制能力:咱们基于零碎状态的实时收集和 PID 反馈控制算法,对算力档位参数进行微调,实现广告投放零碎在动静算力调配过程中的稳定性保障。
- 为什么须要精细化:在广告投放零碎中,稳定性十分重要,从单动作决策到简单的多动作决策,智能算力决策的参数档位越来越多,对系统稳定性影响也越来越大,粗粒度的零碎状态反馈管制曾经无奈保障系统稳固。在第一期弹性队列计划中也呈现过稳定性调控异样的状况,在只根据粗粒度的整体集群零碎状态数据进行稳定性调控时,会偶发单机性能异样引起整体集群状态变动激烈,导致算力调控不稳固。
- 如何建设:一方面是零碎状态数据的精细化,数据粒度从集群细化到机房和单机,同时数据指标反对细粒度的自定义扩大。另一方面是零碎调控指标和策略的精细化,调控指标从集群的整体稳固细粒度到机房和单机稳固,咱们将零碎状态实时反馈管制的最小单位定义为一个调控器,对于每一个调控指标,须要一个或一组调控器反对。另外,为更好地反对单机粒度的反馈管制,咱们将零碎状态反馈控制能力从调控组件迁徙复用到了决策组件,决策组件能够通过容器信息读取和拦挡的形式,间接采集局部单机粒度的状态指标,并将调控后果作用到嵌入的机器,造成闭环调控;单机粒度的反馈管制不再强依赖采集组件的链路反馈,零碎状态反馈的时延,也从秒级升高到了毫秒级,极大地提高了反馈管制的准确性和效率。
在标准化建设上
在多动作组合决策下对在线决策有了新的要求,一方面须要思考通用性,做好根底能力积淀,另一方面须要和下层业务缩小耦合,从而赋能更多动作和业务场景;同时外卖广告工程架构曾经实现了阶段性的平台化建设[4],其中标准化是平台化建设的根底,因而智能算力决策组件别离从性能、数据、流程上进行了标准化建设。智能算力的标准化建设,对智能算力从单动作决策到多动作组合决策再扩大到各大业务场景(点—> 线—> 面)的全面建设,具备重要意义。
- 性能标准化
咱们将最小不可拆分的性能单元形象为 Action,在智能算力决策链路上的 Action 次要有:试验、特色拉取、特色计算、词典解决、参数解决、DCAF 决策、ES-MACA 决策、零碎状态反馈管制、日志收集、监控等。通过 Action 的复用和扩大,进步在新动作场景和业务线上的接入效率。
- 数据标准化
在广告工程平台化建设中,应用上下文 Context 形容 Action 执行的环境依赖,蕴含输出依赖、配置依赖、环境参数依赖等。在智能算力在线决策中,咱们在广告根底 Context 下扩大了智能算力 Context,封装和保护智能算力的环境依赖,次要蕴含标准化的输入输出、决策特色、决策参数、决策策略等,Action 间基于 Context 实现数据交互。
- 流程标准化
业务的调用流程是实现性能和数据的组合,对立的流程设计模式是业务性能复用和提效的外围伎俩,咱们基于平台化建设的治理平台和调度引擎,通过对 Action 的可视化拖拽,实现了智能算力性能的 DAG 编排和调度。
3.2.2 采集和调控组件
采集组件负责实时采集广告投放零碎的状态数据,并进行标准化预处理,调控组件一方面依赖状态数据实现对整个系广告投放统状态的实时感知和零碎模块粒度的算力调控;另一方面作为智能算力零碎的中控服务,负责智能算力零碎的系统管理,蕴含业务管理、策略管理、动作治理以及元信息管理等。
咱们将零碎状态实时反馈管制的最小单位定义为一个调控器,对于每一个动作决策,会波及一到多个模块的算力变动,而每个模块的算力变动会带来多个数据指标的变动,因而对于一个动作可能须要配置多个调控器。从单动作决策扩大到多动作,这些调控器的数量会越来越多,如何进步对调控器的治理和接入效率,是一个关键问题。这里咱们次要进行了异构数据标准化、调控流程通用化建设,根本实现了新调控场景的配置化接入,无需开发和发版。
异构数据标准化
采集组件有多个异构数据源,蕴含来着美团监控零碎 CAT 上报的业务数据、Falcon 收集的机器指标数据,还有局部决策组件上报的数据。通过对数据格式和内容的剖析,咱们首先将数据以零碎模块 Appkey 进行划分,Appkey 之间数据独立,同时从数据类型(Type)登程,把数据分为业务指标(Biz)和机器指标(Host);从数据维度(Dimension)登程,把数据分为集群粒度(Cluster)、机房粒度(IDC)、单机粒度(Standalone);具体的指标(Metric)蕴含 QPS、TP99、FailRate、其余扩大指标等。
调控流程通用化
有了异构数据的对立表白,咱们就能够设计通用的调控流程,咱们以 ProductId 作为调控业务场景的惟一标识,以 ControllerId 作为调控器的惟一标识,一个 ProductId 映射一组 ControllerId,每一个调控器 Controller 蕴含输出指标、调控策略、策略参数、输入后果。通用的调控过程为:获取配置的输出指标、调控策略,基于不同的调控策略抉择不同的策略参数,执行该调控策略失去对应的输入后果。
另外,咱们对调控器的调控效率和稳定性进行了优化。在外卖的双峰流量场景下,在非顶峰时段,PID 算法的累计误差容易积攒过大,导致到了顶峰时段调控周期长,零碎状态反馈调节慢;同时也存在零碎抖动或数据毛刺产生的不必要调控的状况。
基于此,咱们采纳了滑动窗口准入准出的机制,来提高效率和准确性。如下图所示,咱们对于每一个调控器,保护了一个零碎指标的滑动统计窗口,当间断 M 次零碎指标达到了 PID 目标值 T - 设置的阈值 P,该调控器才胜利准入,误差开始累计;同时当间断 N 次零碎指标低于 PID 目标值 T - 设置的阈值 Q,该调控器胜利准出,累计误差清零。
3.2.3 离线组件
离线组件负责离线模型训练和参数求解等工作,次要蕴含样本收集、模型训练和参数求解三个局部。
- 样本收集:在线上流量中,留出大量随机摸索流量,随机决策召回通道、队列长度以及不同预估模型,同时将随机动作以及零碎交互数据落表。
- 模型训练:离线解决随机流量日志,生成训练样本,训练收益预估的 DNN 模型。
- 参数求解:在 CEM 求解过程中,对于给定的策略,模仿线上交互环境生成流量申请信息,而后应用收益预估模型预估以后广告队列的收益,从而实现 CEM 策略评估。
4 试验
4.1 试验设置
零碎算力容量的选取
算力容量指标选取和第一期统一。一方面,为了保障线上零碎能依据实时流量疾速调整,仍抉择 15min 作为最小的调控单元;另一方面,离线模仿选用的零碎容量为过来一周的午顶峰流量算力。
Baseline 选取
选取无智能算力(固定决策)的流量作为对照组。
离线仿真模拟器——流量价值预估
应用过来 14 天非实验组数据作为训练集,进行两阶段训练(一阶段全流量训练,二阶段随机摸索流量训练),应用当日随机摸索流量作为测试集。
离线参数求解
外卖场景中,同环比流量变化趋势基本一致,咱们通过重放过来一周流量,离线计算每个工夫片内(15 分钟为一个工夫片)最优参数并存储为词表。
4.2 离线试验
— | Reward |
---|---|
Baseline(零碎算力容量 =C) | +0.00% |
仅弹性通道(零碎算力容量 =C) | +1.x% |
仅弹性队列(零碎算力容量 =C) | +3.x% |
仅弹性模型(零碎算力容量 =C) | +1.x% |
分模块最优(零碎算力容量 =C) | +5.x% |
ES-MACA(零碎算力容量 =C) | +5.x% |
试验阐明:
- Baseline:算力 C 下的固定决策后果。
- 仅弹性通道:在“仅弹性通道”试验中,队列决策和模型决策应用 Baseline 固定计划,“仅弹性队列”和“仅决策模型”实验组则与之相似。
- 分模块最优:顺次学习弹性通道、弹性队列、弹性模型,以后模块在学习时前置模块的参数固定为曾经学到的最优参数,后置模块则应用 Baseline 固定计划。
- ES-MACA(全链路最优):弹性通道 + 弹性队列 + 弹性模型同时学习。
从离线试验的成果来看,咱们有以下论断:
- 三个单动作的最优后果整体收益加和大于分模块最优,也大于 ES-MACA,阐明三个模块策略会相互影响,联结优化时多动作的收益不是简略的加和关系。
- 分模块最优计划成果不如 ES-MACA 计划成果(ES-MACA 对比分模块最优有 0.53% 的晋升),阐明后置模块的策略对前置模块的决策成果也存在肯定影响。
4.3 在线试验
通过一周的线上 ABTest 试验,咱们在外卖广告验证了本计划的收益如下:
CPM | GMV | 支出 | CTR | CVR | 机器资源 | |
---|---|---|---|---|---|---|
Baseline(零碎算力容量 =C) | +0.00% | +0.00% | +0.00% | +0.00% | +0.00% | +0.00% |
仅弹性队列(零碎算力容量 =C) | +0.x% | +2.x% | -0.x% | +0.x% | +1.x% | -0.05% |
ES-MACA(零碎算力容量 =C) | +1.x% | +2.x% | +1.x% | +0.x% | +1.x% | -0.41% |
实验设计阐明:
- Baseline:对照组,无任何智能算力决策。
- 仅弹性队列:实验组 1,仅决策弹性队列(与一期计划统一)。
- ES-MACA(全链路最优):实验组 2,同时决策弹性通道、弹性队列和弹性模型。
5 总结与瞻望
这篇文章次要从全链路最优算力决策和零碎建设两个方面,介绍了美团外卖广告智能算力从线性规划算法到进化算法的技术演进过程,给出了一种基于进化算法的多动作算力调配计划(ES-MACA)。
将来,在算法策略上,咱们将尝试强化学习算法,对系统全链路组合下的算力最优调配问题进行更精细化的建模和求解;在零碎建设上,咱们还将尝试和美团外部基础架构部门进行单干,从在线零碎扩大到在线 / 近线 / 离线三层零碎,通过智能算力对立决策调度,充沛开掘数据和算力的后劲。
6 参考文献
- [1] 顺辉、家宏、宋伟、国梁、乾龙、乐彬等,美团外卖广告智能算力的摸索与实际。
- [2] Jiang, B., Zhang, P., Chen, R., Luo, X., Yang, Y., Wang, G., … & Gai, K. (2020). DCAF: A Dynamic Computation Allocation Framework for Online Serving System. arXiv preprint arXiv:2006.09684.
- [3] Yang, X., Wang, Y., Chen, C., Tan, Q., Yu, C., Xu, J., & Zhu, X. (2021). Computation Resource Allocation Solution in Recommender Systems. arXiv preprint arXiv:2103.02259.
- [4] 乐彬、国梁、玉龙、吴亮、磊兴、王焜、刘研、思远等,广告平台化的摸索与实际 | 美团外卖广告工程实际专题连载。
7 本文作者
家宏、顺辉、国梁、乾龙、乐彬等,均来自美团外卖广告技术团队。
浏览美团技术团队更多技术文章合集
前端 | 算法 | 后端 | 数据 | 平安 | 运维 | iOS | Android | 测试
| 在公众号菜单栏对话框回复【2021 年货】、【2020 年货】、【2019 年货】、【2018 年货】、【2017 年货】等关键词,可查看美团技术团队历年技术文章合集。
| 本文系美团技术团队出品,著作权归属美团。欢送出于分享和交换等非商业目标转载或应用本文内容,敬请注明“内容转载自美团技术团队”。本文未经许可,不得进行商业性转载或者应用。任何商用行为,请发送邮件至 tech@meituan.com 申请受权。