多智能体强化学习的算力调度创新,让每一份算力都创造广告价值 | 京东零售技术实践

01 ****背景 随着搜广推播放全链路优化进入到深水区,推播放全链路优化进入到深水区,机器增长驱动的业务增长边际效益越来越小。在站外广告业务中,每天需要处理数千亿次用户请求,耗时约束在百毫秒左右,这使得算力问题更加严峻,需要在有限的机器资源下应对流量的波动和价值差异。在站外业务场景中,流量规模随时间段而变化,不同媒体平台和用户群体的流量请求价值也不同。此外,用户请求的数量远超实际曝光,大部分请求没有创造实际的广告收入,这更需要精细化地分配算力资源,将算力向高质量流量倾斜,以最大化商业价值。

为了解决这个问题,我们提出了基于多智能体强化学习 的全链路算力调度(MaRCA: Multi-Agent Reinforcement Learning Computation Allocation),通过建设用户价值预估模块、算力预估模块、动作价值预估模块、负载感知决策模块,并依据京东业务模块机器的物理归属,建模播放链路上下游的协同关系,将链路决策过程建模成多智能体强化学习问题,通过不同智能体的集中式训练、分布式执行,能够在保证集群稳定的前提下,最大化整体收益。

作为支撑站外广告大促备战水准提升的重要基建,该项目于2024年618大促后启动,9月底推全, 成功经历了2024年11.11大促全周期考验,大幅提升了业务效果和系统稳定性。

02 ****整体方案

问题建模

问题定义: 当前各类状态信息为st,已知各模块负载约束Cm,权衡消费Q(st,at)和算力消耗C(st,at)的关系,应该采取什么样的动作组合at,能够得到最大的奖励R(st,at)。具体定义如下:

◦状态空间S: 用以描述当前状态信息,包含用户特征、流量特征、机房(IDC)等信息。

◦动作空 间A: 结合召回、粗排和精排场景,我们汇总了三类全链路算力动作决策点:

▪链路选择型: 决定选择激活哪些链路。▪开关型: 选择是否开启不同的分支。▪队列型: 选择不同的队列长度。

◦动作价值Q(st,at):在给定状态st,采取动作组合at产生的广告消费。

◦算力消耗C(st,at):在给定状态st,采取动作组合at所消耗的算力。

◦动作奖励R(st,at):在给定状态st,采取动作组合at所获得的奖励。

◦在此问题中,需要在给定系统算力消耗的情况下,对M个请求最大化广告收益。通过线性规划建模,可以将其简化为一个带约束条件的优化问题:

▪通过拉格朗日对偶求解,该问题最优解为:

▪其中λt为拉格朗日乘子,即算力权衡因子▪因此,动作奖励的定义为:

◦优化目标:

模块拆分

◦用户价值预估模块: 针对不同用户预测用户单请求的广告收入价值(即广告消费)、价值等级。

◦算力预估模块: 针对不同请求预测每个动作组合的算力消耗。◦动作价值预估模块: 针对不同请求预测每个动作组合的广告消费。◦负载感知决策模块:基于预估的用户价值、算力消耗与动作价值,感知当前系统CPU负载、弹性降级状态,进行动态算力分配。

整体流程如下图:

模型预估体系

模型预估体系包含了用户价值、算力预估和动作价值这三个相互依赖的模型预估模块。模型预估既需要有好的排序,也需要足够准确。我们采用斯皮尔曼等级相关系数来评估排序、预测误差来评估准确性。预估的准确性、稳定性和安全性为全链路算力调度决策提供了扎实的基础。

用户价值预估模块

目标: 用户价值预估模块是全链路算力调度的前置模块,基于请求数据及消费信息进行建模,对用户的请求价值进行排序和分类,生成用户价值分桶。

难点: 请求数据巨大,外部媒体竞胜、曝光到消费的漏斗长,产生广告价值的数据稀疏,且长尾效应严重,用户价值建模困难。

建模方式: 为解决上述难点,参考工业界对长尾和稀疏数据的预估方法,我们在深度交叉网络(DCN)[5] 的模型结构基础上引入了:

◦泊松回归建模: 将常规回归问题的MSE损失替换为泊松损失:

▪长尾数据匹配:泊松损失能够更有效地处理非负且稀疏的目标变量。

▪降低异常值影响:相比MSE,泊松损失对较大误差的样本不会给予过度惩罚,减少过拟合的风险。

◦广告消费价值分桶: 在站外场景中,用户的请求和消费价值差异过大,为了减少异常用户的影响,我们使用累积消费金额相等的方法对用户进行价值分桶。

在用户特征方面,主要选择了用户行为序列及自身属性相关的特征,包括年龄、学历、职业、订单数量、平均客单价、活跃度等,专注刻画用户本身的价值。

算力预估模块

目标: 算力预估模块的主要目的在于预测不同请求在给定动作组合下,所需的实际算力消耗C。

难点: 不同请求在各个模块中的动作结果不一致,加之缺乏真实的算力消耗标签,导致难以准确预估算力消耗。

问题建模: 在队列、动作结果相同的情况下,算力消耗基本是相同的,因此可以将原始问题拆解为两个子问题:

1.请求粒度上的动作结果预测: 在给定各类特征及动作情况下,预估该请求的动作结果,动作结果有大量的标签数据,可以利用常规机器学习方法解决。

◦模型结构:DCN+MMoE。◦模型输入:前序动作、当前动作、流量特征、用户价值等。◦模型预测:模型在S×A空间进行预估,产出不同s∈S下,各动作组合a的队列长度。

2.给定动作结果下的算力消耗估计:

◦队列型: 测量+回归拟合,具体流程如下:

▪队列分桶:将采集的仿真流量按用户群体、队列结果分桶。▪请求测试:在每个队列长度桶中,向系统发送固定的请求量QPS=m,部署在n台机器上,每台机器的CPU核心数为Ncores,记录在该条件下的 CPU 使用率p。▪计算算力消耗:使用以下公式计算该队列分桶对应的单位请求算力消耗:

▪回归拟合:基于不同队列分桶与其对应的算力消耗,可以描绘出多个测量点;通过单调多项式回归 拟合队列长度与算力消耗的关系,可以得到队列任意值所对应的算力消耗。 ◦开关型: 类似队列分桶测量的逻辑,通过对各开关单独测量,获得不同开关类型的算力消耗数据。

◦链路选择型: 得到了队列型和开关型的算力消耗数据,链路选择型算力消耗就是该链路所有子动作的累计和。

动作价值预估模块

目标: 基于用户、流量信息和决策点的依赖关系,给定动作组合,预估请求的价值。

难点:

◦召回模块和精排模块不能独自建模,却需要独自决策,所以需要在模型侧显式建模召回模块和精排模块的关系,同时不影响二者独立感知负载并决策。

▪不能独自建模:召回模块和精排模块之间相互影响,比如:如果召回模块选择不同的召回组合,即使精排动作相同,产生的价值也并不一致。▪需要独自决策:召回模块和精排模块机器环境是解耦的,需要各自独立决策;如果耦合决策,则无法准确感知单模块的算力,无法准确调控。

◦召回模块和精排模块的决策粒度不相同,召回模块需要序贯决策多个动作,而精排模块只进行精排队列决策,模型需要对齐决策时间步。

建模方式: 为解决上述难点,我们设计了多智能体强化学习方法,依据模块机器的物理归属关系,建模召回 Agent和精排 Agent,通过智能体集中式训练、分布式执行的方式,最大化整体收益。该方法主要分为两个模块:Adaptive Weighted Ensemble DRQN和Mixing Network。其中Adaptive Weighted Ensemble DRQN解决的是单智能体的序贯决策问题,Mixing Network主要解决召回模块和精排模块的协同问题。以下是两个模块的详细介绍:

◦Adaptive Weighted Ensemble DRQN:

▪DRQN的作用:传统的DQN在处理全可观测环境时表现出色,但在部分可观测环境(Partial Observable Markov Decision Process,POMDP)中,由于无法获得完整的状态信息,性能会受到限制(例如我们的召回 Agent),在这种情况下,智能体需要利用历史信息来推断当前的环境状态。DRQN将深度Q网络与循环神经网络相结合,使用GRU来处理序列化的观测数据,使得当前的Q值估计不仅依赖于当前的观测,还依赖于过去的观测序列,可以在部分可观测的场景下更好地处理Q估计问题。▪基于误差的自适应多Q集成方法:为了提高动作价值估计的稳定性,我们在 DRQN 网络的输出层引入了多头机制,并对各个头的误差进行自适应加权。每个智能体的 DRQN 不再只输出一个Q值,而是输出K个平行的 Q-head,依据各Q值的预测损失对各 Q-head 的输出进行动态加权集成融合。

◦Mixing Network:

▪Mixing Network的作用:Mixing Network负责综合各个智能体的个体Q值 Q1,Q2...Qn,来估计全局的联合Q值Qtotal,这里有3个关键设计:

▪协作型Agent建模: 在我们的业务场景中, 召回和精排是上下游链路,处于协作关系,不涉及对抗。具体而言,整体的价值会随着任一Agent的价值增加而单调递增。为实现这一点,我们结合 Softplus 函数构建Mixing Network:-Mixing Network是一个多层的神经网络,输入为所有智能体的个体Q值Q1,Q2...Qn,输出为联合Q值 Qtotal。-Softplus激活函数对神经网络中的原始权重进行如下公式变换,可以确保Qtotal对每个Qi的单调性。

▪基于St的动态网络: Mixing Network感知全局的状态St,依据不同的用户、流量及Agent决策动作,动态生成网络权重,这样可以更准确捕获智能体之间的协作关系。▪多Agent间解耦: 在执行过程中,多智能体可以根据个体Q值独立地选择动作,不需要额外的通信,能够支持分布式执行的业务场景。

▪Mixing Network的训练过程:将所有Qi输入到Mixing Network,经过前向传播得到联合Q值 Qtotal。使用 Qtotal计算损失函数:

负载感知决策模块

目标:在状态s下,在合法动作空间A中寻找收益最高的动作a∗,并保持各模块m的CPU负载稳定在目标值Cm。收益的计算方式为R(s,a)=Q(s,a)−λC(s,a),其中Q(s,a)是动作价值,C(s,a)是该动作消耗的算力,λ是算力权衡因子,通过反馈调节的方式迭代调整。当系统负载偏高时,提高λ可以降低动作的性价比,使动作更保守,以降低系统负载;反之亦然。

具体步骤如下:

◦设定算力负载目标: 设模块m的CPU负载目标为Cm,用于指导模块的算力调度决策。◦负载感知: 感知模块m的近实时系统状态信息,以此计算系统压力。-各模块机器负载: 获取m的机器IP集合,然后查询当前时刻t的各个IP的实时负载数据,并将所有IP的负载数据聚合成^Cm,t 。-弹性降级状态: 获取当前时刻t的弹性降级系数Dm,t。弹性降级是京东广告研发的一种系统保护机制,通过自动或手动的方式调整系统资源分配(如丢弃流量、丢弃分支、缩短队列等),以应对负载突涨,确保系统稳定运行。系统压力越大,弹性降级档位越高。-系统压力: 弹性降级机制在负载超过系统CPU安全阈值时会逐步升级档位,因此弹性降级档位可以被认为是 CPU 负载的延伸部分。通过预定义的换算关系fm,可以将弹性降级系数 Dm,t转换为等效的 CPU 负载fm(Dm,t),以便统一衡量系统压力:

◦反馈调节更新λ: 基于当前系统压力调整算力权衡因子λ。-学习 α>0:通过反馈机制更新λ,并将其约束到上下界之间。-指数项k≥1:用于自适应地调整迭代步伐,当负载接近目标值时,λ的调整步伐较小,可以减少震荡;当负载偏离目标较远时,步伐则增大,以加速调整。

◦寻找最优动作: 基于更新后的λt+1寻找最优动作组合。

03 ****实验效果

实验结果显示,MaRCA在各类流量场景下均取得了业务效果的显著提升,在系统资源保持不变的前提下,实现了+14.93%的广告消费增长。同时,MaRCA上线后,播放系统的可靠性、智能性大幅提升,有效缓解了流量波动带来的压力,为高峰期/大促期的稳定运行提供了充足保障。

04 未来展望

负载感知决策优化: 当前的决策机制主要还是依赖于负载感知进行反馈调节。在系统面对流量和预算的突变时,反馈机制可能无法及时响应。我们计划引入模型预测控制(MPC)方法,构建更智能的负载感知决策Agent。该Agent将利用系统模型预测下一时刻的状态,结合历史数据、预算、流量和时段信息,提前预测最优的算力权衡因子λ,以更好地应对复杂的流量和竞价环境。

动作空间扩展: 我们计划扩展动作空间的维度,引入更多的决策变量,例如模型选择、过滤策略和执行路径等新因素。新增这些决策变量可以更精准地调度算力、决策动作,但同时也意味着算力预估、价值预估和链路系统的复杂度会进一步上升。

推广应用: 此方案在搜广推等推荐算法链路里具有一定普适性,尤其在算力紧张的业务场景中,业务收益潜力更大。

参考资料

1\] Biye Jiang, Pengye Zhang, Rihan Chen, Xinchen Luo, Yin Yang, Guan Wang, Guorui Zhou, Xiaoqiang Zhu, and Kun Gai. 2020. DCAF: A Dynamic computa- tion resource allocation Framework for Online Serving System. arXiv preprint arXiv:2006.09684 (2020). \[2\] Xun Yang, Yunli Wang, Cheng Chen, Qing Tan, Chuan Yu, Jian Xu, and Xiaoqiang Zhu. 2021. Computation Resource Allocation Solution in Recommender Systems. arXiv preprint arXiv:2103.02259 (2021). \[3\] 顺辉、家宏、宋伟、国梁、乾龙、乐彬等,美团外卖广告智能算力的探索与实践,[tech.meituan.com/2021/06/17/...](https://link.juejin.cn?target=https%3A%2F%2Ftech.meituan.com%2F2021%2F06%2F17%2Fwaimai-ai-advertisement.html "https://tech.meituan.com/2021/06/17/waimai-ai-advertisement.html") \[4\]Zhou, Jiahong and Mao, Shunhui and Yang, Guoliang and Tang, Bo and Xie, Qianlong and Lin, Lebin and Wang, Xingxing and Wang, Dong.2023. RL-MPCA: A Reinforcement Learning Based Multi-Phase Computation Allocation Approach for Recommender Systems. WWW '23 \[5\]Ruoxi Wang and Bin Fu and Gang Fu and Mingliang Wang. 2017. Deep \& Cross Network for Ad Click Predictions. arXiv preprint arXiv:1708.05123(2017) \[6\]Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts\[C\]//Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery \& data mining. 2018: 1930-1939. \[7\] 泰来,百度搜索智能化算力调控分配方法,[xie.infoq.cn/article/126...](https://link.juejin.cn?target=https%3A%2F%2Fxie.infoq.cn%2Farticle%2F12604ce20399101393bf1bec6 "https://xie.infoq.cn/article/12604ce20399101393bf1bec6") \[8\] Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G.Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, S. Petersen, C. Beattie, A. Sadik, I. Antonoglou, H. King,D. Kumaran, D. Wierstra, S. Legg, and D. Hassabis. Humanlevel control through deep reinforcement learning. Nature, 518 (7540):529--533, 2015. \[9\] Hausknecht M, Stone P. Deep recurrent q-learning for partially observable mdps\[C\]//2015 aaai fall symposium series. 2015. \[10\] Rashid T, Samvelyan M, De Witt C S, et al. Monotonic value function factorisation for deep multi-agent reinforcement learning\[J\]. Journal of Machine Learning Research, 2020, 21(178): 1-51. \[11\] Justin Fu, Aviral Kumar, Ofir Nachum, George Tucker, and Sergey Levine. 2020. D4rl: Datasets for deep data-driven reinforcement learning. arXiv preprint arXiv:2004.07219 (2020). \[12\] Scott Fujimoto, David Meger, and Doina Precup. 2019. Off-policy deep rein- forcement learning without exploration. In International conference on machine learning. PMLR, 2052--2062. \[13\] Hado Van Hasselt, Arthur Guez, and David Silver. 2016. Deep reinforcement learning with double q-learning. In Proceedings of the AAAI conference on artificial intelligence, Vol. 30. \[14\] Ziyu Wang, Tom Schaul, Matteo Hessel, Hado Hasselt, Marc Lanctot, and Nando Freitas. 2016. Dueling network architectures for deep reinforcement learning. In International conference on machine learning. PMLR, 1995--2003. \[15\] Xiangyu Zhao, Changsheng Gu, Haoshenglun Zhang, Xiwang Yang, Xiaobing Liu, Jiliang Tang, and Hui Liu. 2021. Dear: Deep reinforcement learning for online advertising impression in recommender systems. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 35. 750--758. \[16\] Guorui Zhou, Xiaoqiang Zhu, Chenru Song, Ying Fan, Han Zhu, Xiao Ma, Yanghui Yan, Junqi Jin, Han Li, and Kun Gai. 2018. Deep interest network for click-through rate prediction. In Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery \& data mining. 1059--1068. \[17\] Ashwinkumar Badanidiyuru and Guru Guruganesh. 2021. Modeling labels for conversion value prediction. In ADKDD '21: Workshop on Ad Targeting at Scale. ACM, 1--6.

相关推荐
果冻人工智能17 分钟前
如何打造你自己的 AI 软件工程师(像 Devin 那样)
人工智能
Lament King24 分钟前
大模型开发(六):LoRA项目——新媒体评论智能分类与信息抽取系统
人工智能
果冻人工智能32 分钟前
人工‘够好就行’智能(AGEI)就快来了!
人工智能
藓类少女33 分钟前
【机器学习】机器学习四大分类
人工智能·机器学习·分类
云卓SKYDROID34 分钟前
无人机点对点技术要点分析!
人工智能·无人机·科普·云卓科技
mozun202035 分钟前
无人机市场观察2025.3.18
人工智能·科技·无人机·机器智能
RamendeusStudio41 分钟前
4.1-1 IS-NET-Pro视频转图片的插件
数据库·人工智能·gpt·音视频·stablediffusion·controlnet
zbdx不知名菜鸡1 小时前
反向传播,清晰理解
人工智能·机器学习
Acrel136519467381 小时前
安科瑞EMS:赋能双碳智慧园区建设,引领绿色未来
运维·人工智能·安全·能源
LucianaiB1 小时前
强大的AI网站推荐(第三集)—— AskO3
人工智能·ai·网站·推荐·asko3