Hexo

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

CA——Generative-Auto-bidding(GAS)

  • 参考链接:
    • 原始论文:GAS: Generative Auto-bidding with Post-training Search, WWW 2025, Kuaishou

GAS 整体思路说明

  • 自动竞价通过代表广告主自动出价,对促进在线广告至关重要
  • 生成式模型及优点 :生成式自动竞价利用如 Transformer 和 Diffuser 等模型,根据可调节条件生成出价,因其能够直接从数据中学习最优策略并灵活适应偏好 ,近年来成为一种新趋势
  • 生成式模型的不足 :
    • 生成式模型面临低质量数据导致的条件(condition,生成式强化中也就是return to go,也称为剩余回报)与真实动作价值不匹配的问题,尤其是在长序列决策中
    • 数据集中的多数偏好可能阻碍模型对少数广告主偏好的泛化能力。虽然可以通过收集高质量数据并针对不同偏好重新训练多个模型来解决,但高昂的成本使其难以实现,阻碍了自动竞价进入大型基础模型时代
  • 论文提出了一种灵活且实用的,基于训练后搜索(post-training Search)的生成式自动竞价方案(Generative Auto-bidding scheme using post-training Search),称为GAS
    • 可用于优化基础策略模型的输出并适应多种偏好
    • 论文采用弱到强(weak-to-strong)的搜索对齐方法,训练针对不同偏好的小型 Critic 模型,并利用蒙特卡洛树搜索(MCTS)的启发式搜索优化模型输出
    • 具体而言,一种基于 Transformer 的 Critic 模型结合策略指示的新型投票机制可提升搜索对齐性能
    • 论文还针对高频偏好场景或计算效率敏感场景提供了一种微调方法
    • 在真实数据集和快手广告平台的在线A/B测试中进行的广泛实验证明了GAS的有效性,例如目标消耗提升了1.554%

Background

  • 自动出价问题引入 :随着商业的快速数字化,在线广告平台的覆盖范围和重要性显著扩大,成为企业吸引目标受众和提升销售的重要工具。面对海量的展示机会,手动调整出价以在预算和KPI约束下优化成本是不现实的。为此,广告平台现在提供自动竞价服务,利用高级策略自动化出价过程。这些策略考虑了即时或历史竞价信息中的多种因素,例如展示机会的分布和剩余预算(Wang等,2020)。此外,根据广告主类型的不同,策略还需考虑其偏好差异。例如,品牌广告主以长期增长和品牌认知为目标,通常希望在平均每展示成本等约束下向尽可能多的人展示广告;而效果广告主以最大化获胜展示的价值为目标,希望在每次转化的成本约束下最大化转化量(Xiao等,2017)。为满足这些多样化需求,谷歌、Facebook和阿里巴巴等广告平台为客户提供了多种定制化的竞价策略(Zhang等,2019;Zhang等,2020;Xiang等,2020)。此外,面对动态变化的广告环境,策略需要定期优化以紧密贴合客户偏好,从而帮助其实现长期商业利益(Zhang等,2020)
  • 智能出价中的强化学习方法 : RL 长期以来是通过广告模拟器或离线广告日志训练代理以优化自动竞价策略的主要方法。然而,RL方法主要基于马尔可夫决策过程(MDP),假设未来状态仅由当前单步状态和动作决定
    • 最近的统计分析(Zhang等,2020)对自动竞价中的这一假设提出了质疑,揭示了历史状态序列长度与后续状态之间的强相关性。这一发现表明,在不可预测的在线广告环境中,仅依赖最近状态可能导致策略不稳定
    • 此外,RL策略的偏好不易控制。USCB(Xiao等,2017)提出基于历史数据计算多约束下的最优解,然后训练RL优化策略。然而,一旦部署,策略的偏好即固定,限制了交互性和可控性
  • 因此,基于条件生成模型(如Transformer和Diffuser)的生成式自动竞价方法成为新趋势
    • 这些方法通过表示偏好的向量条件直接输出动作甚至轨迹 ,无需MDP假设。例如,决策Transformer(Chen等,2021)可以利用丰富的历史信息进行决策;Diffuser(Ajay等,2023)可直接根据条件生成规划轨迹
    • 更重要的是,生成式模型通过简单修改条件值即可灵活控制偏好
  • 随着基于生成式模型的大型基础模型在自然语言处理和计算机视觉等领域的显著进展(如ChatGPT和Stable Diffusion),可以预见自动竞价领域也将迈向基础模型时代,即开发决策基础模型以直接从大规模数据中学习最优决策策略
  • 生成式自动竞价方法在应用中存在两大挑战 :
    • 首先,生成式竞价方法的性能受数据集质量显著影响,其中收集的条件(即 return to go )无法反映动作的真实价值。例如,一个好的动作 \(a_t\) 后接一个糟糕的未来动作 \(a_{t+1}\) 可能导致 \(a_t\) 的 return to go 较低,反之亦然。因此,由于训练中条件与真实动作价值不匹配,学习到的策略难以达到最优
    • 其次,实际竞价任务通常涉及随时间变化的偏好,但生成式方法总是倾向于模仿多数偏好(Navigli等,2023),需要重新训练以适应新的少数偏好。然而,随着自动竞价领域模型规模的扩大,基于Transformer等基础模型的竞价模型会变得越来越大,重新训练一组大型决策Transformer以适应不同偏好的成本高昂且不切实际,阻碍了自动竞价进入大型基础模型时代。因此,论文提出一个问题:“能否仅用一个策略模型高效实现多种偏好下的最优策略?”
  • 论文方案 :论文提出了一种基于 post-training Search 的生成式自动竞价方案GAS ,通过优化单一基础策略模型的输出并高效适应多种偏好
    • 论文采用弱到强的搜索对齐思想,即通过小型模型优化大型基础模型的输出(Burns等,2024)。具体而言,论文训练一组小型 Critic 模型评估不同偏好的价值,然后利用蒙特卡洛树搜索(MCTS)启发的方法优化模型输出(Kocsis和Szepesvári,2006)。在此方案中,条件值与真实动作价值之间的不匹配(通过基于Q学习的 Critic 模型近似)将得到缓解。这是因为基于 Bellman Backup 的Q学习仅需当前奖励,不受未来轨迹影响。此外,通过多样化策略收集的大规模数据集有助于训练 Critic 模型,使其能够评估不同质量的动作,缓解域外高估问题(Kostrikov等,2022)。该方案还可在不重新训练或微调模型的情况下,通过 Critic 引导的动作优化实现与不同偏好的更好对齐
  • 论文的贡献总结如下:
    • 提出了一种灵活实用的框架,利用 post-training Search 方法优化生成式自动竞价模型并适应多种偏好,为自动竞价基础模型打开了大门
    • 为提升搜索过程的准确性,论文利用基于Transformer的 Critic 模型,通过历史竞价序列感知底层策略,并引入新型投票机制以增强搜索过程中价值反向传播阶段的价值近似准确性
    • 除了在测试时执行搜索外,论文还为高频偏好场景或计算效率敏感场景提供了一种微调方法
    • 在真实世界的大规模数据集和快手广告平台的在线A/B测试中进行的广泛实验证明了所提生成式自动竞价方案的有效性

Preliminary

问题描述

  • 在一个时间段内,假设有 \(H\) 个展示机会依次到达并编号为 \(i\)。在竞价平台中,广告主提交出价以竞争每个展示机会。若广告主的出价 \(b_i\) 高于其他广告主,则赢得该展示。获胜后,广告主需支付成本 \(c_i\),通常在第二价格拍卖中为其他广告主的最高出价。在此期间,广告主的目标是最大化获胜展示的总价值 \(\sum_{i}o_{i}v_{i}\),其中 \(v_{i}\) 为展示 \(i\) 的价值, \(o_{i}\) 为广告主是否赢得展示 \(i\) 的二元指标。此外,预算和多种KPI约束(He等,2021)对广告主控制广告投放效果至关重要。预算约束为 \(\sum_{i}o_{i}c_{i}\leq B\),其中 \(B\) 为预算。其他KPI约束更为复杂,可分为两类:成本相关(CR,cost-related)约束(如CPC和CPA)和非成本相关(NCR, non-cost-related)约束(如CTR和CPI)。为简化问题,论文考虑带成本相关约束的自动竞价,其统一形式为 \(\frac{\sum_{i}c_{ij}o_{i} }{\sum_{i}p_{ij}o_{i} }\leq C_{j}\),其中 \(C_{j}\) 为广告主提供的第 \(j\) 个约束上限。给定 \(J\) 个约束,多约束竞价(MCB)问题可表述为:
    $$
    \begin{aligned}
    \max & \quad \sum_{i}o_{i}v_{i} \\
    \text{s.t.} & \quad \sum_{i}o_{i}c_{i}\leq B \\
    & \quad \frac{\sum_{i}c_{ij}o_{i} }{\sum_{i}p_{ij}o_{i} }\leq C_{j}, \quad \forall j \\
    & \quad o_{i}\in\{0,1\}, \quad \forall i
    \end{aligned} \tag{1}
    $$
  • 已有研究(USCB)表明其最优解为:
    $$
    b_{i}^{*}=\lambda_{0}v_{i}+\sum_{j=1}^{J}\lambda_{j}p_{ij}C_{j},
    $$
    • 其中 \(\lambda_{j}\) 为最优竞价参数。然而,由于广告环境的不确定性和动态性,这些参数难以直接计算。不同类型的广告主可能通过不同约束组合表达偏好,例如,仅考虑预算约束的最大回报竞价广告主和同时考虑预算与CPA约束的目标CPA竞价广告主

自动竞价的决策过程

  • 由于广告环境高度动态,最优竞价参数需定期调整以最大化整个时间段内的总价值。因此,自动竞价任务可建模为序列决策问题。论文考虑标准决策设置:自动竞价代理与广告环境 \(E\) 在离散时间步中交互。在每个时间步 \(t\),代理接收描述实时广告状态的状态 \(s_{t}\in\mathcal{S}\),并输出动作 \(a_{t}\in\mathcal{A}\) 以确定最终出价。广告环境具有未知状态转移动态 \(\mathcal{T}\)。在MDP假设下,转移动态可表示为 \(\mathcal{T}:s_{t}\times a_{t}\to s_{t+1}\),即下一状态 \(s_{t+1}\in\mathcal{S}\) 由当前状态 \(s_{t}\) 和动作 \(a_{t}\) 决定。此时,代理的策略为 \(\pi(a_{t}|s_{t})\)。若无MDP假设,下一状态可能由更多因素(如历史轨迹 \(\tau\) )决定。转移到下一状态后,环境会发出奖励 \(r_{t}\),表示时间步 \(t\) 内对目标的贡献价值。重复此过程直到竞价周期结束(例如一天),自动竞价代理的目标是最大化整个周期内的总价值
  • 如公式1所述。具体建模如下:
    • \(s_{t}\) :状态是描述广告活动状态的信息集合,包括剩余时间、剩余预算、预算消耗速度、当前KPI比率等
    • \(a_{t}\) :对竞价参数 \(\lambda_{j}\) 的调整,建模为 \((a_{t}^{\lambda_{0} },\ldots,a_{t}^{\lambda_{J} })\)
    • \(r_{t}\) :时间步 \(t\) 内候选展示集合 \(C\) 对目标的贡献价值

基于搜索的生成式自动竞价

  • 本节首先介绍如何开发MCTS启发的 post-training Search 过程以优化基础策略模型的输出动作,然后介绍两种应用此搜索的实用范式

MCTS 启发的 post-training Search

  • 由于决策 Transformer 广泛用于生成式决策,论文将其作为自动竞价的 backbone 模型,策略生成动作的公式为:
    $$
    a_{t}\sim\pi_{dt}=\text{DT}_{\theta}(a|s_{\leq t},a_{ < t},R_{\leq t}),
    $$
    • 其中条件 \(R_{t}\) 为时间步 \(t\) 的 return to go :
      $$
      R_{t}=\sum_{i=t}^T\gamma^{i-t}r(s_{i},a_{i}),
      $$
    • 其中 \(\gamma\) 为折扣因子, \(r(s_{i},a_{i})\) 为表示偏好的奖励函数(如仅考虑价值时,可表示为 \(o_{i}v_{i}\) )
  • 搜索方案的目的是找到更优动作以更好对齐偏好(如更高价值)。将典型MCTS方法应用于决策过程需在每步包含四部分:
    • 选择 :从根状态节点 \(s_{t}\) 出发,在探索预算 \(i = 1\sim N\) 内随机选择连续有效子动作节点 \(a^i_{t}\)
    • 扩展 :除非子动作节点结束竞价过程,否则根据转移动态 \(s^i_{t+1}\sim\mathcal{T}\) 创建子状态节点 \(s^i_{t+1}\)
    • 模拟 :从节点 \(s^i_{t+1}\) 出发,根据策略 \(\pi(a|s)\) 完成一次推演至结束
    • 反向传播 :利用推演结果更新节点 \(a^i_{t}\) 的价值信息
  • 完成四部分后,可根据探索与利用平衡原则选择最终动作 \(a^i_{t}\)。然而,与围棋不同,竞价是部分可观测MDP(POMDP)任务,其他广告主行为不可预测,因此无法模拟所有可能动作。为此,论文通过增强的基于Transformer的Q值函数近似扩展和模拟过程,无需实际模拟。以下分三部分介绍GAS实现(图1(a)): 选择、扩展与模拟、反向传播
选择
  • 给定决策Transformer策略 \(\text{DT}_{\theta}\),首先生成基础动作 \(a^i_{t}\),然后通过乘以90%至110%的随机因子生成 \(N-1\) 个随机动作 \(\{a^i_{t}\}_{i=1:N-1}\) :
    $$
    a^i_{t}=a_{t}*\varepsilon,\varepsilon\sim\mathcal{U}(90\%,110\%).
    $$
  • 保留初始基础动作 \(a_{t}\),得到 \(N\) 个动作提议(proposals) \(\{a^i_{t}\}_{i=1:N}=\{a^i_{t}\}_{i=1:N-1}\oplus a_{t}\)。选择过程即从这些动作提议中选择
扩展和模拟
  • 由于无法在模拟器或真实环境中推演,需直接通过Q值函数估计动作提议 \(a^i_{t}\) 在状态 \(s_{t}\) 下的价值:
    $$
    Q_{\phi}(s_{t},a^i_{t};\pi)=r(s_{t},a^i_{t})+\mathbb{E}_{s_{t+1}\sim \mathcal{T},a_{t+1}\sim \pi}Q_{\phi}(s_{t+1},a_{t+1};\pi). \tag{6}
    $$
    • 问题:\(s_{t+1} \sim P(s_{t+1}|s_t, \color{red}{a^i_{t}})\) 还是 \(s_{t+1} \sim P(s_{t+1}|s_t, \color{red}{a^{t}})\) 呢?
  • 论文采用IQL方法(Kostrikov等,2022)学习 \(Q_{\phi}\),引入额外价值网络 \(V_{\psi}(s)\) 以避免分布偏移导致的高估问题:
    $$
    \mathcal{L}_{\mathcal{V} }(\psi)=\mathbb{E}_{(s,a)\sim \mathcal{D} }[L^{x}_{2}(\mathcal{Q}_{\hat{\phi} }(s,a)-V_{\psi}(s))],
    $$
    • 其中 \(L^{x}_{2}(u)=|\tau-1(u<0)|u^{2}\) 为期望回归损失。价值网络用于Q值学习:
      $$
      \mathcal{L}_{\mathcal{Q} }(\phi)=\mathbb{E}_{(s_{t},a_{t},s_{t+1})\sim \mathcal{D} }[(r(s_{t},a_{t})+\gamma V_{\psi}(s_{t+1})- \mathcal{Q}_{\phi}(s_{t},a_{t}))^{2}].
      $$
  • 如公式6所示, \(Q\) 与底层策略 \(\pi\) 在后项期望中耦合。然而, \(Q_{\phi}(s_{t},a_{t})\) 仅接收单状态-动作对而无策略指示,导致价值预测基于实际收集数据集的策略 \(\pi_{\beta}\),与生成式自动竞价中由不同条件指示的策略 \(\pi_\epsilon\) 产生策略差距
  • 通过QT推演(Rollout via QT) :为通过历史轨迹表示实际策略 \(\pi_\epsilon\),论文利用Transformer的序列建模能力进行Q值学习,称为 \(QT\):
    $$
    Q^{\pi_\epsilon }_{\phi}(s_{t},a^i_{t})=Q_{\phi}(s_{t},a^i_{t};\pi_\epsilon)=\textrm{QT}_{\phi}(s_{t},a^i_{t};s_{ < t},a_{ < t}).
    $$
  • 大规模预训练集(包含多样化策略收集的轨迹)有助于通过历史轨迹预测未来轨迹,即 rollout \(\{s_{\leq t},a_{\leq t}\}\rightarrow\{s_{t+1:T},a_{t+1:T}\}\)。训练后, \(\textrm{QT}_{\phi}(s_{t},a^i_{t};s_{ < t},a_{ < t})\) 可返回竞价结束前推演价值的近似值
反向传播
  • 由于Q值函数的高估问题,不准确的推演价值估计会导致反向传播为动作节点 \(a^i_{t}\) 提供不准确的价值,从而执行不良动作。为缓解此问题,论文提出基于共识启发式的Q投票机制
  • 通过Q投票的价值反向传播 :鉴于离线RL的成功(Q值用于学习改进行为策略的策略),论文可直观认为不同随机训练的Q值网络能以高概率对真实最佳动作赋予更高价值达成一致。此外,由于高估是偶然错误,对特定动作赋予更高价值不会达成一致。形式上,若用不同随机种子独立训练 \(M\) 个Q值网络 \(\{Q^{\pi_\epsilon }_{\phi_{k} }\}_{k=1:M}\),且有 \(N\) 个动作提议 \(\{a^i_{t}\}_{i=1:N}\) 及真实最佳动作 \(a^j_{t}\),论文通过概率密度函数 \(p(a|Q)\) 建模共识启发式:
    $$
    \textbf{Consensus:}\ p(a^j_{t}|Q_{\phi_{k} }^{\pi_\epsilon})>p(a_{t}^{i\neq j}|Q_{\phi_k}^{\pi_\epsilon}),\forall k\in\{1,…,M\}.
    $$
  • 因此,若仅使用单一Q,选择 \(a^j_{t}\) 的最终胜率为:
    $$
    \mathcal{R}^{k}:=\frac{p(a^j_{t}|Q_{\phi_{k} }^{\pi_\epsilon })}{\sum_{i\neq j}p(a^i_{t}|Q_{\phi_{k} }^{\pi_\epsilon })}.
    $$
  • 基于此共识,可采用多数投票方法提高胜率 \(\mathcal{R}^{k}\)。为简洁起见,假设所有 \(k\in\{1,…,M\}\) 的 \(p(a^i_{t}|Q_{\phi_{k} }^{\pi_\epsilon })\) 相同。通过多数投票选择动作 \(a^i_{t}\) 为最终动作的概率为:
    $$
    p(a^i_{t}|\{Q_{\phi_{k} }^{\pi_\epsilon }\}_{k=1:M})=\sum_{l=\left\lfloor \frac{M}{2} \right\rfloor+1}^{M}\binom{M}{l}p(a^i_{t}|Q_{\phi_{k} }^{\pi_\epsilon })^{l}(1-p(a^i_{t}|Q_{\phi_{k} }^{\pi_\epsilon }))^{M-l}.
    $$
  • 应用Condorcet’s Jury theorem(Boland,1989),可得:
    $$
    \mathcal{R}^{1:M}=\frac{p(a^i_{t}|\{Q_{\phi_k }^{ {\pi_\epsilon } }\}_{k=1:M})}{\sum_{i\neq j}p(a^i_{t}|\{Q_{\phi_k }^{ {\pi_\epsilon } }\}_{k=1:M})}>\mathcal{R}^{k}.
    $$
    • 为简化理解,我们假设 \(p(a^1_{t}|Q_{\phi_{k} }^{\pi_\epsilon }) = 0.4\), \(p(a^2_{t}|Q_{\phi_{k} }^{\pi_\epsilon }) = 0.3\),\(p(a^3_{t}|Q_{\phi_{k} }^{\pi_\epsilon }) = 0.3\),则有对于 \(\forall k\),有 \(\mathcal{R}^{1:3} = 0.81 > \mathcal{R}^k = 0.67\)
  • 为避免无效多数投票结果(即无动作获得比其他动作更多的票数),论文提出基于Q值的软多数投票机制(Q投票),分两步实现:
    • 第一步 :对每个 \(Q_{\phi_{k} }^{\pi_\epsilon }\),基于所有 \(a^i_{t}\) 的min-max归一化投票为:
      $$
      v(a^i_{t}|Q_{\phi_{k} }^{\pi_\epsilon })=\frac{Q_{\phi_{k} }^{\pi_\epsilon }(s_{t},a^i_{t})-\min_{n}\{Q_{\phi_{k} }^{\pi_\epsilon }(s_{t},a^i_{t})\} }{\max_{n}\{Q_{\phi_{k} }^{\pi_\epsilon }(s_{t},a^i_{t})\}-\min_{n}\{Q_{\phi_{k} }^{\pi_\epsilon }(s_{t},a^i_{t})\} }\in[0,1].
      $$
    • 第二步 : 动作 \(a^i_{t}\) 的最终总票数为:
      $$
      v(a^i_{t}|\{Q_{\phi_{k} }^{\pi_\epsilon }\}_{k=1:M})=\sum_{k=1}^{M}v(a^i_{t}|Q_{\phi_{k} }^{\pi_\epsilon }).
      $$
  • 完成上述MCTS启发搜索后,可得到比 \(a_{t}\) 具有更高偏好价值的优化动作 \(a^n_{t}\)

基于GAS的竞价

  • GAS有两种应用方式:i)在测试时搜索,ii)利用搜索微调基础策略模型。两种方法均需训练表示不同偏好的 Critic 模型
  • 偏好表示 :偏好通过奖励函数设置表达,例如:
    • 仅考虑预算约束的最大回报竞价偏好: \(r_{t}=o_{t}v_{t}\) ;
    • 综合考虑价值和KPI约束的偏好: \(r_{t}=o_{t}v_{t}\cdot\frac{1}{J}\sum_{j}\min\left\{\big(\frac{C_{j} }{c_{tj}o_{t}/p_{tj}o_{t} }\big)^{\beta},1\right\},\beta>1\) ;
      • 问题:是加法吧?
    • 通过更大可控权重 \(w\) 更偏好KPI约束的偏好: \(r_{t}=o_{t}v_{t}+\frac{w}{J}\sum_{j}\min\left\{(\frac{C_{j} }{c_{tj}o_{t}/p_{tj}o_{t} })^{\beta},1\right\},\beta>1\)
  • 基于公式8,可利用这些奖励函数训练 Critic 模型
基于搜索的推理
  • 在推理的每个时间步重复第3.1节的搜索过程,得到测试时版本的方法_GAS-infer_,可直接与基础策略模型和多个 Critic 模型部署。详细流程见算法1
基于搜索的微调
  • 由于搜索方法能够围绕基础动作找到更优动作(尤其是基础动作质量差或与偏好不对齐时),可利用搜索增强训练数据并微调基础策略模型。首先,对数据集中的每个数据点 \(\{s_{t},a^{\beta}_{t}\}\) 进行搜索,得到更优动作 \(a^{\rho}_{t}\)。然后,基于监督微调(sfft)损失训练DT \({}_{\theta}\) :
    $$
    \mathcal{L}_{\text{DT} }^{\text{sft} }(\theta)=mse(a_{t},a^{\rho}_{t}).
    $$
  • 尽管存在更多偏好对齐方法(如DPO和RLHF),但它们通常基于轨迹级查询数据集且稳定性较差,因此留作未来工作

Experiments

Experiment Setup

  • 数据集 :与以往从非开源的广告自动出价系统中收集私有竞价日志的数据集准备方法不同,论文采用了阿里巴巴[43]发布的新公开大规模真实世界竞价数据集AIGB。据论文所知,这是目前最大的公开数据集,包含超过200万条轨迹,并提供了一个稀疏版本以应对更具挑战性的场景。更多细节见附录A
  • 评估指标 :为简化评估,论文采用以下三个指标衡量性能:
    • 价值(Value) :竞价期间获得的总价值,计算公式为\(\sum_{i} o_{i} v_{i}\);
    • KPI约束超限率(ER) :引入二元指示函数\(I(x^{h}_{j}, C_{j})\),判断在周期\(h\)内的最终KPI表现\(x^{h}_{j} = \Sigma_{i} c_{ij} o_{i} / \Sigma_{i} p_{ij} o_{i}\)是否超过给定约束\(C_{j}\)。假设共有\(H\)个周期,KPI约束超限率定义为:
      $$
      ER = \frac{1}{H} \sum\nolimits_{h=1}^{H} \sum\nolimits_{j=1}^{J} \mathbb{I}(x^{h}_{j}, C_{j}).
      $$
    • 综合得分(Score) :引入惩罚项
      $$
      penalty_{j} = \min\left\{\left(\frac{C_{j} }{\Sigma_{i} c_{ij} o_{i} / \Sigma_{i} p_{ij} o_{i} }\right)^{\beta}, 1\right\}, \beta=2,
      $$
    • 综合得分是价值与KPI约束的平衡,计算公式为:
      $$
      score = \left(\sum_{i} o_{i} v_{i}\right) \times \min\{penalty_{j}\}_{j=1}^{J}.
      $$
  • 基线方法 :论文对比了多种基于 RL 和生成模型的方法:
    • USCB[18]:一种在线RL方法,动态调整参数至最优出价;
    • BCQ[14]:典型的离线RL方法,仅通过固定数据集更新策略;
    • CQL[23]:通过正则化Q值学习保守价值函数的离线RL方法;
    • IQL[22]:无需查询样本外动作即可实现多步动态规划更新的离线RL方法;
    • DiffBid[17]:基于扩散模型的生成方法,根据条件生成竞价轨迹;
    • DT[7]:基于Transformer的序列决策生成方法;
    • CDT[26]:考虑多约束向量的DT改进方法;
    • DT-score :采用同时考虑获胜价值和KPI约束的奖励函数的DT方法
  • 实现细节 :基线方法的超参数参考原论文默认值,并进一步调优以优化性能。GAS包含两个组件:基础策略模型和多个QT网络。基础策略模型可任选,论文选择DT-score ,其超参数参考[43]提供的官方代码,微调时学习率设为\(1e^{-5}\)。QT网络采用6个注意力层,每层8个头,隐藏层大小为512,总计1400万参数,轻量高效。总训练步数为40万步,使用AdamW优化器[27],学习率为\(1e^{-4}\),批量大小为128。训练基于PyTorch框架,在两块NVIDIA H100 GPU上完成。QT网络的详细超参数见表6(附录B)

与基线方法的性能对比

  • 本实验在多种设置下对比各基线方法的性能,包括不同数据集(AIGB-2M及其稀疏版本AIGB-sparse)和MCB竞价中的不同预算约束(最大允许预算的50%、75%、100%、125%、150%)。结果以综合得分衡量,如表1所示
  • 结果显示,GAS-infer和GAS-sft在所有预算设置下均优于其他方法,得分最高。其他生成方法如DT、CDT和DT-score表现也较好,体现了生成模型相较于传统RL方法(如IQL)的优势。DiffBid在此大规模任务中表现不佳,可能原因是预测长轨迹和学习逆动态模型引入了额外挑战。稳定性方面,如图2(d)所示,GAS优于基础策略模型。GAS-sft性能略低于GAS-infer,可能因其将 Critic 与原始模型融合,导致评论能力模糊化。需注意的是,Q-voting过程可并行执行,每步耗时约0.1秒,远小于30分钟的竞价间隔,表明GAS-infer在大规模自动竞价任务中极具效率

偏好对齐性能

  • 为验证搜索方法能否通过不同偏好的 Critic 提升基础策略模型的对齐性能,论文在表2中进行了偏好对齐实验。评估了三种偏好范式(Score-first、Value-first、ER-first)下GAS-infer和GAS-sft与基础模型DT-score的对齐效果。结果显示,两种搜索方法在所有偏好下均优于基础模型,证明了搜索在偏好对齐中的有效性

消融实验

  • 搜索范围 :搜索范围直接影响探索(尝试新动作)与利用(聚焦已知优质动作)的平衡。较小的范围可能遗漏优质动作,但能更精确评估;较大的范围增加发现最优动作的概率,但评估准确性可能下降。极端情况下可搜索整个动作空间,但效率低下。基于计算效率考虑,论文在±10%范围内随机搜索5个动作,结果如图2(c)所示。实验表明,10%的搜索范围性能最佳,扩大范围收益递减,而最小-最大方法因动作预算有限效果最差。值得注意的是,10%的小范围即可实现最优性能,表明基于基础策略模型的微调已足够高效
  • Critic 数量 :如Q-voting机制所述,更多 Critic 可提升价值评估的准确性。论文固定搜索范围为±10%,随机选择5个动作进行价值评估,结果如图2(b)所示。 Critic 数量从1增至7时性能显著提升,超过7后改善不明显,表明当前任务中7个 Critic 已足够
  • 搜索预算 :增加动作采样数量可能提升找到最优动作的概率。本实验未使用原始基础动作,结果如图2(a)所示。动作数量从1增至5时性能显著提升,超过5后趋于稳定,表明5个动作已能覆盖近优解
  • QT的有效性 :由于跳过了实际模拟过程,Q值函数对预期收益的预测准确性至关重要。若缺乏历史轨迹信息,仅凭状态\(s_t\)和动作\(a_t\)预测模拟过程具有高度随机性。表3结果显示,结合历史轨迹的QT性能远超基于普通状态-动作对的Q值函数
  • 论文还对比了无Q值函数的其他方法(贪婪搜索、随机/均值选择)以验证MCTS搜索的有效性。贪婪搜索选择即时奖励最高的动作,随机方法随机选择动作,均值方法取5个随机动作的平均值。如表3所示,论文的方法显著优于其他方法

线上实验

  • 为验证GAS的实际效果,论文将其部署在快手广告系统中(见图1(b)),场景为多约束竞价(MCB)。由于线上测试资源有限且可能影响广告主收益,仅对比了GAS-infer与当前生产环境的基线模型DT。实验设置如下:
    • 状态 :预算、成本、基于时间的预算分配、成本速度、预测转化率、实时CPA/ROI状态等;
    • 动作 :调整上一时刻的竞价系数\(\lambda_t = \lambda_{t-1} + a_t\)(见公式2);
    • 训练后搜索 : Critic 以获胜印象的总价值训练,搜索在Value-first偏好下进行,动作范围仍为基动作的±10%,采样5个点
  • 线上A/B测试持续5天,每个MCB活动分配25%预算和流量给基线模型和GAS。结果如表4所示,GAS在展示量(+0.934%)、成本(+0.953%)、目标成本(+1.554%)和整体ROI(+0.595%)上均显著提升

CA——GAVE

  • 参考链接:
    • 原始论文:Generative Auto-Bidding with Value-Guided Explorations, SIGIR 2025, Kuaishou

整体思路

  • 现有自动出价方法 :通常采用 rule-based strategies 或 RL 技术,这些方法存在一些问题:
    • rule-based strategies :缺乏适应时变市场条件的灵活性
    • RL-based methods :在 MDP 框架中难以捕捉重要的历史依赖关系和观测结果
    • 通用问题 :
      • 目前切换的适应性问题 :在 ensuring strategy adaptability across diverse advertising objectives 方面常常面临挑战
      • Offline问题 :随着越来越多地采用离线训练方法来促进稳定在线策略的部署和维护,在固定离线数据集上进行训练所导致的行为模式记录和行为崩溃问题变得日益突出
  • 为解决这些局限性,论文提出了基于价值引导探索的离线生成式自动出价框架(offline Generative Auto-bidding framework with Value-Guided Explorations,GAVE)
    • 通过 Score-based未来回报(Return-To-Go, RTG)模块适应各种广告目标
    • 将动作探索机制与基于 RTG 的评估方法相结合,在探索新动作的同时确保保持稳定性的更新
    • 设计了一个可学习的价值函数来指导动作探索的方向,并减轻 OOD(Out-of-Distribution)问题
  • 实验:离线+在线
    • 注:论文方法在 NeurIPS 2024 竞赛 “AIGB赛道 :使用生成模型学习自动出价智能体” 中荣获第一名
  • 其他:实现代码已开源 Applied-Machine-Learning-Lab/GAVE

一些讨论

  • 自动出价的重要性 :自动出价凭借其在动态竞争的在线环境中优化出价决策的强大能力,已成为广告平台的关键策略,有助于企业触达目标受众并提高销售额
  • 出价需求 :现代广告系统非常复杂(市场条件的波动、用户行为的多样性),这要求出价策略能够适应这些变化并与广告商的多样化目标保持一致。此外,大量需要实时处理的广告竞价进一步加剧了这一需求,在这种情况下,人为干预既不切实际,也往往无法实现最佳广告效果
  • 现有解决方案主要发展为两类:
    • rule-based strategies :计算量小且易于部署,但其静态特性导致其不适合动态市场,也无法满足广告商的多样化需求
    • RL-based methods :虽然采用 MDP 来适应环境变化并获得更好的性能,但面临一个关键的结构性制约:
      • MDP 状态独立性假设本质上忽略了出价序列中的时间依赖关系和观测结果。这一限制阻碍了对不断变化的行为模式和市场波动的识别,大大削弱了RL在高度波动的实时出价环境中的实际适用性
      • 个人理解:这里对 RL 无法建模波动主要体现在无法预知快速变化的流量趋势(特别是与历史趋势不一致时);特别地,出价场景可能是 POMDP 问题,常规 RL 方法将难以解决问题,将历史序列都作为输入才能缓解
  • DT 在出价上的前景 :Decision Transformer(DT)作为一个强大的框架,能够有效捕捉时间依赖关系和历史上下文(temporal dependencies and historical context),因此,将 DT 应用于离线出价建模为改进策略提供了一个有前景的方向,其优点有:
    • 适配Offline RL场景 :通过采用离线训练范式,DT 规避了在线训练的风险和实施挑战,确保了在各种场景中的更广泛适用性
    • 时间依赖和上下文建模 : DT 的生成式建模基础进一步使其能够明确捕捉时间依赖关系和历史出价上下文,实现与现实世界广告环境的动态特性相匹配的自适应决策
  • DT 的面临问题 :
    • 首先,实际部署需要适应复杂的广告目标 :其评估指标不仅限于总点击量或转化率等基本指标,这些目标通常涉及许多复杂函数(包含相互依赖的参数,如 CPA 或 CPC 约束等),这要求 DT 建模具有自适应优化目标 ,以符合多样化的运营标准
    • 其次,在离线环境中直接训练 DT 模型可能会局限于已记录的行为模式 ,并遭受行为崩溃问题,这需要在稳定更新的同时加强动作探索
  • 论文提出了一个统一框架 GAVE,用于增强 DT 在离线生成式自动出价中的应用
    • 首先,为适应复杂的广告目标,论文设计了一个 Score-based RTG 模块,其分数函数可定制,通过可微编程实现对各种目标要求(如CPA约束)的自适应建模
    • 其次,提出了一种动作探索机制以及基于 RTG 的评估方法,用于在固定数据集之外探索和评估动作,同时确保探索动作与原始动作之间的稳定更新
      • 在如此敏感的出价环境中,动作空间大,通过随机探索学习有益策略并避免分布外(OOD)风险颇具挑战。因此,论文引入了一个可学习的价值函数来指导动作探索过程,将探索导向潜在的最优动作。该机制将探索锚定在合理区域内,同时实现可控的外推(extrapolation),从而促进策略改进并进一步减轻OOD问题
  • 论文的贡献 :
    • 引入了创新框架 GAVE ,利用 DT 优化自动出价策略,旨在无缝适应各种现实场景,提出了三项技术创新:
      • (1)一个 Score-based RTG 模块,通过可微编程实现针对各种广告目标的可定制函数;
      • (2)一种动作探索机制,结合基于 RTG 的评估,确保稳定更新;
      • (3)一个可学习的价值函数,将探索锚定在合理区域,从而减轻OOD风险,并实现可控外推以改进策略
    • 实验 :离线+在线,AIGB 出价赛道第一名

一些基础知识

自动出价问题

  • 考虑在离散时间段 \(i = 1, \cdots, I\) 内到达的一系列 \(I\) 个曝光机会。广告商通过为这些曝光提交出价 \(\{b_{i}\}_{i = 1}^{I}\) 参与实时竞争
  • 拍卖机制遵循以下规则:
    • 如果广告商的出价 \(b_{i}\) 超过其他参与者的最高竞争出价 \(b_{i}^{-}\),则该广告商赢得曝光 \(i\)
    • 获胜的广告商随后会产生成本 \(c_{i}\),该成本由拍卖机制确定,按照行业标准做法,论文采用 GSP 拍卖机制
  • 广告商的目标 :在指定时间段内通过赢得的曝光最大化总获取价值。这个优化问题可以正式表示为:
    $$\max \sum_{i = 1}^{I} x_{i} v_{i}$$
    • 其中 \(v_{i} \in \mathbb{R}^{+}\) 表示广告商对曝光 \(i\) 的私人估值(例如转化率或点击率),\(x_{i} \in \{0, 1\}\) 表示指示拍卖结果的二元决策变量:
      $$x_{i}= \begin{cases}1 & \text{If } b_{i}>b_{i}^{-} \\ 0 & \text{Otherwise} \end{cases}$$
  • 同时,广告商必须满足多个约束条件以确保有效的广告计划(campaign)管理。基本约束是总预算限制:
    $$\sum_{i = 1}^{I} x_{i} c_{i} \leq B$$
    • 其中 \(B \in \mathbb{R}^{+}\) 表示广告商的总预算。其他关键绩效指标(KPI)约束,以每次获取成本(CPA)为例,可以表示如下:
      $$\frac{\sum_{i = 1}^{I} x_{i} c_{i} }{\sum_{i = 1}^{I} x_{i} v_{i} } \leq C \tag{4}$$
      • 其中 \(C \in \mathbb{R}^{+}\) 表示最大允许的CPA。这个比率量化了广告支出相对于价值创造的效率。由于大多数其他KPI约束可以类似地建模,为简单起见,论文仅考虑CPA约束。然而,与由拍卖平台直接管理的预算约束不同,这些KPI约束在实际场景中通常并不严格。这是因为计算这些约束需要广告商对所有出价曝光的 \(v_{i}\),因此只有在整个出价过程结束后才能确定真正的CPA。尽管如此,论文仍然希望在建模中将它们作为软约束使用
  • 因此,整个出价过程可以表示为:
    $$\begin{aligned} \max_{b_{1}, \cdots, b_{I} } & \sum_{i} x_{i} v_{i} \\ \text{s.t.} & \sum_{i} x_{i} c_{i} \leq B \\ & \frac{\sum_{i} x_{i} c_{i} }{\sum_{i} x_{i} v_{i} } \leq C \end{aligned} \tag{5}$$
  • 解决这个优化问题存在固有的挑战,这源于曝光的高基数以及对未来拍卖表现的基本不确定性。先前的研究将这个问题重新表述为一个线性规划问题,以得出简化的最优出价策略:
    $$b_{i}^{*}=\lambda_{0}^{*} v_{i}-\sum_{j} \lambda_{j}^{*}\left(q_{i j}\left(1-\mathbb{1}_{C R_{j} }\right)-\mathbb{k}_{j} \mathbb{p}_{i j}\right) \tag{6}$$
    • 其中 \(b_{i}^{*}\) 表示曝光 \(i\) 的理论最优出价,\(q_{ij}\) 可以是任何性能指标或常数,\(\mathbb{1}_{C R_{1} }\) 是指示约束 \(j\) 是否与成本相关的指标函数。\(P_{i j}\) 和 \(k_{j}\) 可以视为在多个KPI条件下公式(5)中 \(v_{i}\) 和 \(c\) 的扩展表达式。这种重新表述将自动出价问题转化为确定满足所有约束的最优 \(\lambda_{0}^{*}\) 和 \(\lambda_{j}^{*}\)。通过将公式(6)代入公式(5),令 \(j = 1\),\(\mathbb{1}_{C R_{j} } = 1\),\(\mathbb{P}_{i j} = v_{i}\),\(k_{j} = C\) 且 \(q_{i j}\) 为任何性能指标或常数,我们可以得到:
      $$b_{i}^{*}=\left(\lambda_{0}^{*}+\lambda_{1}^{*} C\right) v_{i}=\lambda^{*} v_{i} \tag{7}$$
      • 其中 \(\lambda^{*}=\lambda_{0}^{*}+\lambda_{1}^{*} C\) 作为统一的出价参数。因此,许多近期研究试图通过在出价过程中迭代确定最优的 \(\lambda^{*}\) 来解决出价问题。此外,值得注意的是,当根据公式(7)解决出价问题时,第一个条件,即 \(\sum_{i} x_{i} c_{i} \leq B\) 总是满足的。这是因为当广告商的预算不足时,拍卖平台会自动控制 \(x_{1}\),以确保广告商不欠款。然而,第二个条件并不总是满足,因为论文预测的 \(\lambda\) 与最优的 \(\lambda^{*}\) 之间存在差距。解决这个问题的一个简单方法是在评估阶段为模型选择在公式(7)的目标函数中添加一个关于CPA条件的惩罚项,这将在3.2节中进一步讨论

基于 DT 的自动出价

  • 为解决自动出价问题,现有方法采用基于规则的策略或RL方法进行优化。然而,基于规则的策略通常无法适应现实出价环境的高度动态性,而RL方法依赖于由 \(s_{t + 1} = f(s_{t}, a_{t})\) 定义的状态转换,这使得对拍卖生态系统中固有的重要时间依赖关系和历史观测进行建模变得复杂
  • Transformer架构的最新进展催生了 DT,使其成为顺序决策的最先进方法。DT 在捕捉长程依赖关系方面表现出色,使其非常适合拍卖结果显示出显著时间相关性的出价环境。基于这个框架,论文将自动出价视为 DT 设置下的序列建模任务。出价期被划分为离散的时间步,每个时间步在特定的环境设置下进行配置:
    • 状态 \(s_{t}\) :状态向量 \(s_{t}\) 包含一系列特征,用于描述时间步 \(t\) 的出价条件。对于广告场景,这些特征可以是剩余时间、未使用的预算、历史出价统计信息等
    • 动作 \(a_{t}\) :动作 \(a_{t}\) 表示在整个出价期内可以迭代调整的出价变量。在论文中,根据公式(7),最优动作是 \(a = \lambda^{*}\)。因此,论文将时间步 \(t\) 的实际动作表示为: \(a_{t}=\lambda_{t}\)
    • 奖励 \(rw_{t}\) :假设有 \(N_{t}\) 个候选曝光在时间步 \(t\) 到 \(t + 1\) 之间到达。奖励 \(rw_{t}\) 可以定义为: \(rw_{t}=\sum_{n = 0}^{N_{t} } x_{n_{t} } v_{n_{t} }\),其中 \(x_{n_{t} }\) 和 \(v_{n_{t} }\) 是时间步 \(t\) 第 \(n\) 个曝光的二元指示符和价值
    • 未来回报(Return-To-Go, RTG) \(r_{s}\) : RTG 值表示在未来时间步中要获得的总奖励: \(r_{t}=\sum_{t’ = t}^{T} rw_{t’}\),其中 \(T\) 是最后一个时间步
  • 这些设置导致了以下轨迹表示,非常适合自回归训练和推理:
    $$\tau=\left(r_{1}, s_{1}, a_{1}, r_{2}, s_{2}, a_{2}, \cdots, r_{T}, s_{T}, a_{T}\right)$$

GAVE 整体框架介绍

GAVE概述

  • GAVE整体架构:
  • 如图1所示,GAVE采用 DT 架构,其中 RTG、状态和动作对构成输入序列,即时间戳 \(t\) 处的 \((r_{t}, s_{t}, a_{t})\)。与传统 DT 不同,GAVE引入了几个关键创新,以实现自适应优化、增强稳定性并促进策略改进,这些创新包括
    • 自适应的 RTG :用于与多样化广告目标对齐的 Score-based RTG (图1(a.1))
    • 配备基于 RTG 评估机制的动作探索模块(图1(a.2)),用于发现和评估新动作并稳定更新
    • 一个可学习的价值函数(图1(a.3)),用于引导探索以改进策略 ,同时减轻分布外(OOD)风险。GAVE的训练遵循离线范式(图1(b)),使用序列样本作为输入生成预测标签
    • 为进行评估,采用模拟出价环境(图1(c)),其中测试模型与固定策略智能体进行交互
  • GAVE的预测过程如下所示:
    $$\left\{\begin{array}{l} \left(\hat{\beta}_{t}, \hat{a}_{t}, \hat{V}_{t+1}\right)=GAVE(r_{t-M},s_{t-M},a_{t-M},\cdots ,r_{t},s_{t})\\ \hat {r}_{t+1}=GAVE(r_{t-M},s_{t-M},a_{t-M},\cdots ,r_{t},s_{t},a_{t})\\ \tilde {a}_{t}=\hat {\beta }_{t}a_{t}\end{array} \right.$$
    • 其中 \(M\) 是一个超参数,表示具有 \(M + 1\) 个输入时间步的序列
  • GAVE采用自适应的 Score-based RTG 函数 ,可以使优化目标与不同的广告目标保持一致:在时间步 \(t\) 的动作探索过程中,除了预测动作 \(\hat{a}_{t}\) 之外,GAVE还预测以下内容:
    • 一个系数 \(\hat{\beta}_{t}\)
      • 问题:\(\hat{\beta}_{t}\) 的训练依赖 \(\tilde {a}_{t}\),继而依赖 \(\tilde {r}_{t}\),损失函数见文章后面的公式(22)?是否在图1(a.2)中还需要接一个网络预估 \(\tilde{r}_{t}\) 才能反传损失函数吗?
      • 回答:从源码看,是的 ,且使用的是和主网络相同的同一个 transformer 网络
        • transformer 网络过程见:CAVE/…/dt.py:\(\tilde {a}_{t}\rightarrow \tilde {r}_{t}\) 定义
        • 损失函数见:CAVE/…/dt.py:\(L_v\) 定义
    • 一个用于估计可学习价值函数 \(V_{t + 1}\) 的 \(\hat{V}_{t + 1}\)(注:文章后面会介绍,损失函数是分位点回归)
    • 一个 RTG 值 \(\hat{r}_{t + 1}\) (注:文章后面会介绍,拟合目标是真实的 RTG \(r_{t+1}\))
  • 以下创新共同使GAVE能够实现更好的性能和鲁棒性:
    • 通过使用基于 RTG 的评估方法评估探索动作 \(\tilde{a}_{t}\) 和动作标签 \(a_{t}\),GAVE应用平衡更新策略来协调 \(\tilde{a}_{t}\) 和 \(a_{t}\)。这确保了一个保持稳定性的更新过程
    • 引入可学习的价值函数 \(V_{t + 1}\) 来引导模型朝着潜在的最优策略改进,同时进一步降低OOD风险

Score-based RTG

  • 如2.1节所述,直接优化赢得曝光的累积价值可能会导致每次行动成本(CPA)约束显著超出其限制范围。为解决这个问题,可以构建包含惩罚项的目标函数作为评估指标,从而能够依据特定的广告目标调整对CPA限制的重视程度
    • 这种方式有助于对最优模型进行评估和筛选。例如,先前的研究工作[44]提出在测试阶段使用分数 \(S\) 来评估模型的实际性能,进而能够挑选出性能更优的模型。该分数整合了针对CPA约束的惩罚项,用于评估整个出价周期内出价模型的整体表现,公式如下:
      $$\begin{cases}
      CPA = \frac{\sum_{i} x_{i} c_{i} }{\sum_{i} x_{i} v_{i} } \\
      \mathbb{P}(CPA; C) = \min\left\{\left(\frac{C}{CPA}\right)^{\gamma}, 1\right\} \\
      S = \mathbb{P}(CPA; C) \cdot \sum_{i} x_{i} v_{i}
      \end{cases} \tag{13}$$
    • 注:前文已经定义过,\(C\) 是允许的最大 \(CPA\)
    • 理解: \(CPA > C\) 时,\(\mathbb{P}(CPA; C) < 1\) 成立,此时原始收益会变小
  • 在论文中,论文将约束条件直接融入训练阶段,不再仅仅依赖于预训练模型的选择来提升评估分数(如何理解?)
    • 为了使训练与各种广告目标的评估指标保持一致,论文提出在 GAVE 中采用带约束的分数函数(而非无约束的 \(\sum_{i = 1}^{I} x_{i} v_{i}\)) 来进行 RTG 建模,如图1(a.1)所示。例如,基于公式(13)所定义的评估指标,可以利用以下 Score-based RTG 函数来使训练与评估同步:
      $$\begin{cases}
      CPA_{t} = \frac{\sum_{i}^{I_{t} } x_{i} c_{i} }{\sum_{i}^{I_{t} } x_{i} v_{i} } \\
      \mathbb{P}(CPA_{t}; C) = \min\left\{\left(\frac{C}{CPA_{t} }\right)^{\gamma}, 1\right\} \\
      S_{t} = \mathbb{P}(CPA_{t}; C) \cdot \sum_{i}^{I_{t} } x_{i} v_{i} \\
      r_{t} = S_{T} - S_{t - 1}
      \end{cases} \tag{14}$$
    • \(I_{t}\) 表示从时间步0到时间步 \(t\) 的曝光数量
    • \(S_{t}\) 代表时间步 \(t\) 的广义分数函数
    • \(T\) 表示出价周期中的最后一个时间步
    • 通过将分数计算推广到每个时间步,推导出 RTG \(r_{t}\),以表示尚未获得的未来分数,进而引导GAVE的优化方向
  • 此外,在实际应用中,不同的广告目标对CPA约束的依赖程度可能有所不同,从而产生不同的评估指标。尽管如此,通过以类似的方式将分数推广到每个时间步(即 \(S_{t}\)),训练和评估仍可保持一致,公式如下:
    $$r_{t} = S_{T} - S_{t - 1} \tag{15}$$
  • 这种 Score-based RTG 函数增强了 GAVE 的灵活性,确保其能够适用于各种不同的广告目标
  • 问题:在推理阶段,广告曝光次数等是未知的,如何设计对应的 RTG?

Action Explorations

  • 本节的主要目标是在训练过程中探索新的动作,以发现离线数据集中可能缺失的策略,从而实现更好的模型优化,但离线环境动作探索面临以下问题:
    • 不探索面临的问题 :在离线环境中,由于无法与环境进行交互,仅从固定的数据集中学习可能会导致模型局限于已记录的行为模式
    • 探索面临的问题 :但在数据集之外探索动作可能会引入固有的分布转移,进而可能导致行为崩溃[6, 21](与实际动作标签相比,探索出的动作对模型性能的影响可能是有益的,也可能是有害的,这给开发保持稳定性的更新过程带来了巨大挑战)
  • 为应对这些挑战,GAVE 引入了一种全新的动作探索机制,并结合基于 RTG 的评估方法,如图1(a.2)所示。这使得GAVE能够通过识别动作的重要性,自适应地调整动作的探索和更新方向,从而实现保持稳定性的更新
    • 具体而言,在时间步 \(t\),GAVE预测一个与 \(a_{t}\) 维度相同的系数 \(\hat{\beta}_{t}\),以生成一个新的动作 \(\tilde{a}_{t}\)。该过程的正式表达式为:
      $$\begin{cases}
      \hat{\beta}_{t} = \sigma(FC_{\beta}( DT (r_{t - M}, s_{t - M}, a_{t - M}, \cdots, r_{t}, s_{t}))) \\
      \tilde{a}_{t} = \hat{\beta}_{t}a_{t}
      \end{cases}$$
      • 如前文所述,\(M\) 是一个超参数,表示具有 \(M + 1\) 个输入时间步的序列
  • 其中,\( DT (\cdot)\) 表示 DT backbone(主干网络),\(FC_{\beta}(\cdot)\) 表示全连接层,\(\sigma\) 是缩放函数。为减轻分布外(OOD)问题,缩放函数定义为:
    $$\sigma(x) = Sigmoid(x) + 0.5$$
    • 该公式将 \(\hat{\beta}_{i}\) 限制在区间 \([0.5, 1.5]\) 内,确保探索出的动作 \(\tilde{a}_{t}\) 与动作标签 \(a_{t}\) 保持接近
  • 为了在训练过程中最小化分布转移并实现保持稳定性的更新,论文并未直接使用 \(\tilde{a}_{t}\) 来生成新样本,而是将其作为额外标签,与原始标签 \(a_{t}\) 共同平衡动作更新
    • 这种方法需要估计 \(\tilde{a}_{t}\) 和 \(a_{t}\) 的相对重要性,以确定预测动作 \(\hat{a}_{t}\) 的最优更新方向
    • 根据强化学习的惯例[21, 39, 41],论文将 \(a_{t}\) 的动作价值定义为 \(r_{t + 1}\) (时间步 \(t + 1\) 的 RTG),因为它 代表了执行动作 \(a_{t}\) 后 未来的累积回报
  • 论文设计了如图1(b.1)所示的 \(w_{t}\),以平衡更新方向:
    $$\begin{cases}
    \tilde{r}_{t + 1} = GAVE(r_{t - M}, s_{t - M}, a_{t - M}, \cdots, r_{t}, s_{t}, \tilde{a}_{t}) \\
    \hat{r}_{t + 1} = GAVE(r_{t - M}, s_{t - M}, a_{t - M}, \cdots, r_{t}, s_{t}, a_{t}) \\
    w_{t} = Sigmoid(\alpha_{r} \cdot (\tilde{r}_{t + 1} - \hat{r}_{t + 1}))
    \end{cases} \tag{18}$$
    • 其中,\(\tilde{r}_{t + 1}\) 和 \(\hat{r}_{t + 1}\) 分别表示 \(\tilde{a}_{t}\) 和 \(a_{t}\) 的估计 RTG
    • 问题:\(\alpha_{r}\) 是超参数吗?如何设置?
    • 相应的动作探索损失函数定义为:
      $$\begin{cases}
      L_{r} = \frac{1}{M + 1} \sum_{t - M}^{t}(\hat{r}_{t + 1} - r_{t + 1})^{2} \\
      L_{a} = \frac{1}{M + 1} \sum_{t - M}^{t}((1 - w_{t}’) \cdot (\hat{a}_{t} - a_{t})^{2} + w_{t}’ \cdot (\hat{a}_{t} - \tilde{a}_{t}’)^{2})
      \end{cases} \tag{19}$$
      • \(w’\) 和 \(\tilde{a}_{t}’\) 表示梯度冻结后的 \(w\) 和 \(\tilde{a}_{t}\)
      • \(\hat{a}_t\) 是预测动作,也是 \(L_{a}\) 的学习目标
      • 通过 \(L_{r}\),GAVE 确保了 RTG 预测的准确性,能够可靠地估计 \(\tilde{a}_{t}\) 和 \(a_{t}\) 的 RTG
      • 通过 \(L_{a}\),GAVE 在 \(\tilde{a}_{t}\) 和 \(a_{t}\) 之间维持了平衡且保持稳定性的更新过程,当 \(w_{t} > 0.5\) 时,更新方向朝着 \(\tilde{a}_{t}\) ;否则,朝着 \(a_{t}\),以此减轻OOD问题以及探索可能带来的负面影响
        • 理解:当 \(w_{t} > 0.5\) 时,说明探索动作 \(\tilde{a}_{t}\) 预估的 RTG \(\tilde{r}_{t + 1}\) 比真实动作 \(a_{t}\) 预估的 RTG \(\hat{r}_{t + 1}\) 好的比较多,值得让 \(\hat{a}_t\) 朝探索动作 \(\tilde{a}_{t}\) 更新一些

Learnable Value Function

  • 虽然动作探索机制确保了在数据集之外进行探索并实现保持稳定性的更新过程,但随机生成的 \(\tilde{a}_{t}\) 并不能保证提升模型性能。为解决这一局限性,论文提出了一种可学习价值函数,如图1(a.3)所示,该函数有助于发现更优的动作以改进策略。具体而言,受强化学习惯例[21, 39, 41]的启发,论文提出了一个序列价值函数 \(V_{t + 1}\),类似于强化学习中的最优状态价值函数,它表示 \(r_{t + 1}\) 的上限,公式如下:
    $$V_{t + 1} = \underset{a_{t} \in \mathbb{A} }{\arg \max} \ r_{t + 1} \tag{20}$$
    • \(\mathbb{A}\) 表示可用动作空间
    • 由于动作空间广泛,且离线数据集中的实际动作有限,直接对 \(V_{t + 1}\) 进行统计计算并不可行。论文使用 \(r_{t + 1}\) 的期望分位数回归过程来学习这个值:
      $$\begin{align}
      L_{e} &= \frac{1}{M + 1} \sum_{t - M}^{t}(L_{2}^{\tau}(r_{t + 1} - \hat{V}_{t + 1})) \\
      &= \frac{1}{M + 1} \sum_{t - M}^{t}(\left|\tau - \mathbb{1}((r_{t + 1} - \hat{V}_{t + 1}) < 0)\right|(r_{t + 1} - \hat{V}_{t + 1})^{2})
      \end{align} \tag{21}$$
      • \(\hat{V}_{t + 1}\) 表示 \(V_{t + 1}\) 的预测值
      • \(L_{2}^{\tau}(y - m(x))\) 表示使用模型 \(m(x)\) 预测标签 \(y\) 的期望分位数 \(\tau \in (0, 1)\) 时的损失函数[21]。根据公式(20),论文将 \(\tau = 0.99\),以学习 \(r_{t + 1}\) 的上限,从而有效地估计 \(V_{t + 1}\)
  • 通过使用 \(\hat{V}_{t + 1}\) 估计 \(V_{t + 1}\),并利用它来指导 \(\tilde{r}_{t + 1}\) 的更新方向,GAVE隐式地将探索出的 \(\tilde{a}_{t}\) 的更新方向引导向潜在的最优动作。这一过程如图1(b.2)所示,可正式表示为:
    $$L_{v} = \frac{1}{M + 1} \sum_{t - M}^{t}(\tilde{r}_{t + 1} - \hat{V}_{t + 1}’)^{2} \tag{22}$$
    • 其中,\(\hat{V}_{t + 1}’\) 表示梯度冻结后的 \(\hat{V}_{t + 1}\)。通过应用 \(L_{v}\),GAVE将 \(\tilde{a}_{t}\) 的 RTG 锚定在 \(\hat{V}_{t + 1}\) 附近,从而隐式地将 \(\tilde{a}_{t}\) 的更新方向引导向最优动作。这种方法减轻了OOD风险,并实现了可控的外推以改进策略

Optimization Algorithm

  • 通过上述机制,GAVE实现了一个离线生成式自动出价框架,该框架结合了价值引导的探索,以增强策略学习能力。综合损失函数由公式(19)、(21)和(22)中定义的各个组件加权组合而成:
    $$L_{o} = \alpha_{1} \cdot L_{r} + \alpha_{2} \cdot L_{a} + \alpha_{3} \cdot L_{e} + \alpha_{4} \cdot L_{v} \tag{23}$$

    • 其中,\({\alpha_{1}, \alpha_{2}, \alpha_{3}, \alpha_{4} }\) 是超参数,用于控制每个损失组件的相对贡献
  • GAVE的完整优化过程在算法1中详细列出,训练过程如图1(b)所示

  • 在推理过程中,如图1(c)所示,GAVE处理每个输入序列以预测 \(\hat{a}_{t} = \lambda_{t}\),它作为时间步 \(t\) 的出价参数。然后,根据公式(7),时间步 \(t\) 第 \(n\) 个曝光的出价计算为 \(b_{t n} = \lambda_{t} v_{t n}\),从而实现实时出价模拟


离线实验

  • 在本节中,论文在两个公共数据集上进行实验,以研究以下问题:
    • RQ1 :与 SOTA 自动出价基线方法相比,GAVE 的性能如何?
    • RQ2 :GAVE 能否适应多样化的广告目标?
    • RQ3 :可学习价值函数在促进动作探索方面的效果如何?
    • RQ4 :GAVE 中所提出的组件对最终出价性能有何贡献?

Experiment Setup

  • 数据集 :先前的自动出价研究主要依赖于专有出价日志进行评估,问题的表述往往针对特定场景。这种评估方法的异质性阻碍了不同方法之间进行公平、系统的比较。最近,阿里巴巴妈妈推出了AuctionNet,这是行业内首个标准化的大规模模拟出价基准,能够在一致的条件下对模型进行全面评估。在本研究中,论文使用AuctionNet框架中的两个数据集:
    • (i)AuctionNet:主要数据集,包含全面的出价轨迹;
    • (ii)AuctionNet-Sparse:AuctionNet的稀疏变体,具有较低的转化率
    • 以上这两个数据集都包含约 50 万个出价轨迹,收集自 1 万个不同的投放期,每个投放期由 48 个时间步组成,并且包含来自数百万个曝光机会的交互数据。详细统计信息见表1
  • 评估协议 :论文的评估方法遵循AuctionNet基准,并采用模拟环境来模拟现实世界的广告系统,如图1(c)所示
    • 评估涵盖一个 24 小时的投放期,离散化为 48 个均匀的时间步,在此期间,预测动作用于出价(\((\hat{a}_{t} = a_{t})\))
    • 在这个模拟环境中,48个具有不同策略的出价智能体竞争即将到来的(incoming)曝光机会,性能使用公式(13)(\(\gamma = 2\))进行衡量。为确保全面评估,论文采用循环测试策略:测试模型依次替换48个智能体中的每一个,在每一轮中与其余智能体竞争。最终性能计算为所有评估的平均得分,从而提供了对模型有效性的可靠衡量
  • 基线方法 :为评估GAVE的有效性,论文将其与多种基线方法进行全面比较:
    • DiffBid:应用扩散框架来模拟出价轨迹并对出价序列进行建模
    • USCB:在在线RL出价环境中动态调整出价参数以实现最优出价性能
    • CQL:学习一个保守的价值函数,以减轻 Offline RL 中的高估问题
    • IQL:应用期望分位数回归方法,在不评估超出范围动作的情况下实现策略改进
    • BCQ:在典型的 Offline RL 学习过程中对动作空间施加限制
    • DT:采用transformer架构进行顺序决策建模,并使用行为克隆方法从数据集中学习平均策略
    • CDT:尝试在离线设置中训练一个约束满足策略,以平衡安全性和任务性能
    • GAS:尝试通过在建模中应用蒙特卡洛树搜索(MCTS)来构建一个基于 DT 的离线出价框架,并进行训练后搜索
  • 实现细节 :根据先前的研究,论文使用原始数据集中不同的预算比率进行评估。性能使用以下评分指标衡量:
    $$S = \mathbb{P}(CPA; C) \cdot \sum_{i} x_{i} v_{i}$$
  • 该指标如公式(13)所定义,其中 \(Y = 2\)。所有实验均在NVIDIA H100 GPU上进行,使用固定的批量大小128,最大训练步数为40万步。GAVE的实现采用具有8层和16个注意力头的因果transformer架构。模型参数使用AdamW优化器进行优化,学习率为 \(1e^{-5}\)。其他超参数通过全面的网格搜索确定,以最大化性能。为确保统计显著性,论文使用最优参数配置进行10次独立运行,并报告平均性能指标

整体性能(RQ1)

  • 论文在不同预算设置下对GAVE和各种基线方法进行了全面比较,结果汇总在表2中
  • 实验分析揭示了几个关键发现:
    • GAVE在所有预算和数据集配置下均表现出色,始终优于现有方法。这种优越性可归因于论文新颖的动作探索方法,该方法在价值函数的指导下,能够在离线数据集之外发现新颖的、潜在的最优动作,同时通过平衡探索收益和风险的稳定更新过程保持稳健的训练
    • 在所有基线方法中,基于 DT 的方法(GAS、 DT 和 CDT)表现较为突出,这凸显了 DT 结构在捕捉时间依赖关系和促进出价场景中的顺序决策方面的有效性。值得注意的是,GAS比 DT 和 CDT 取得了更好的结果,验证了其MCTS实现对策略优化的有效性。DiffBid在数据集上的表现不佳,可能是由于长序列和高度动态的环境给DiffBid准确预测轨迹和从反向过程中学习带来了额外挑战

一致性分析(RQ2)

  • 如3.2节所述,广告目标可能需要不同的评估指标。为解决这一问题,GAVE采用了 Score-based自适应 RTG 建模方法,该方法能够适应各种优化目标,从而使训练目标与评估指标保持一致,如公式(15)所示。在本节中,论文探究GAVE在不同 RTG 和评估指标配置下的性能,以回答RQ2。具体而言,论文考虑以下三种评估指标:
    $$\begin{cases}
    S_{1}=\sum_{i} x_{i} v_{i} \\
    S_{2}=\min\left\{\left(\frac{C}{CPA}\right)^{2}, 1\right\} \cdot \sum_{i} x_{i} v_{i} \\
    S_{3}=\min\left\{\left(\frac{C}{CPA}\right)^{5}, 1\right\} \cdot \sum_{i} x_{i} v_{i}
    \end{cases}$$
    • 其中,\(S_{1}\) 仅考虑获得的总曝光价值,代表对CPA条件限制较为宽松的业务场景。\(S_{2}\) 是论文的优化目标和评估分数,它对CPA约束添加了惩罚项。\(S_{3}\) 进一步提高了CPA的惩罚系数,代表对CPA条件限制严格的业务场景。这些指标既可以在训练期间用于 RTG 建模,也可以在测试期间用作评估标准。结果如表3所示
  • 从表3中可以观察到,当训练 RTG 与用作评估指标的函数一致时,GAVE始终能取得最高性能。这一发现强调了通过论文 Score-based RTG 方法使训练目标与特定评估指标保持一致的重要性
  • 注:表3体现不出来自适应能力吧,毕竟没有对照,靠衰减不多来说明目标变化时的有效性吗?

参数分析(RQ3)

  • 为回答RQ3,论文对权重 \(w_{t}\) 进行参数分析,如图1(b.1)所示,以阐明训练过程中 \(\tilde{a}_{t}\) 和 \(a_{t}\) 之间的差异。具体而言,图2曝光了训练步骤中平均总损失 \(L_{o}\) 和权重 \(w_{t}\) 的变化情况,使论文能够监测 \(\tilde{r}_{t + 1}\) 和 \(\hat{r}_{t + 1}\) 之间的差异。\(w_{t}\) 越大,表明 \(\tilde{r}_{t + 1}\) 对 \(\hat{r}_{t + 1}\) 的影响越大,进而证明 \(\tilde{a}_{t}\) 优于 \(a_{t}\)。这一结果凸显了价值函数在指导动作探索方面的有效性
  • 从图2中明显可以看出,随着训练的进行,参数 \(w_{t}\) 从约0.5增加到稳定高于0.5的位置。该稳定位置受数据集分布和模型超参数的共同影响。这一趋势证实了可学习价值函数在指导动作探索方面的有效性。在价值函数的引导下,模型持续探索具有更高 RTG 值 \(\tilde{r}_{t + 1}\) 且接近估计最优值 \(\hat{V}_{t + 1}\) 的动作 \(\tilde{a}_{t}\)。这种方法有助于学习潜在的最优策略,同时减轻OOD问题

消融研究(RQ4)

  • 为进一步阐明GAVE中每个模块的贡献以回答RQ4,论文进行了消融研究,评估以下修改版本的GAVE:
  • GAVE-V :不包含3.4节中描述的可学习价值函数。在此配置下,损失函数 \(L_{v}\) 和 \(L_{e}\) 被以下更新规则取代,以确保探索出的动作通过提高其 RTG 值 \(\tilde{r}_{t + 1}\) 总体上优于原始标签:
    $$L_{w}=1 - Sigmoid\left(\alpha_{r} \cdot \left(\tilde{r}_{t + 1}-\hat{r}_{t + 1}’\right)\right)$$
    • 其中,\(\hat{r}_{t + 1}’\) 是 \(\hat{r}_{t + 1}\) 的梯度冻结版本。然而,由于没有价值函数,\(\tilde{r}_{t + 1}\) 的更新方向变得无界,导致OOD问题和次优性能
  • GAVE-VA :既不包含3.4节中的价值函数,也不包含3.3节中详细介绍的动作探索机制
  • DT :移除所有与GAVE相关的设计模块,包括3.4节、3.3节和3.2节中描述的模块。因此,此配置与纯 DT 框架一致,使用 \(S=\sum_{i} x_{i} v_{i}\) 进行 RTG 建模
  • 图3曝光了评估结果。结果表明:
    • (i)使用 Score-based RTG 建模使优化目标与评估指标保持一致,这使得GAVE-VA的性能优于 DT,证明了训练中目标一致性的重要性;
    • (ii)GAVE-V中融入动作探索机制和基于 RTG 的评估,使模型能够发现离线数据集之外的潜在策略,并评估其重要性以实现稳定更新过程,从而比GAVE-VA取得更好的性能;
    • (iii)GAVE中完全集成价值函数以指导动作探索,利用了潜在的最优策略,进一步缓解了OOD问题并提高了整体性能

在线部署

  • 论文通过在两个工业实时出价场景(Nobid 和 Costcap)中的A/B测试来评估GAVE的有效性。Nobid 旨在在每日预算内最大化转化次数,Costcap 旨在在CPA/ROI限制下最大化转化次数。实验设置如下:
    • 状态 :20步的序列,特征包括预算、CPA限制、预测值、流量/成本速度、时间分段预算、剩余时间和窗口平均出价系数
    • 动作 :为稳定出价结果,出价系数 \(\lambda\) 基于前两小时包含 \(E\) 个时间步的窗口平均值确定,\(\lambda_{t}=a_{t}+\frac{1}{|E|} \sum_{t’=t-E}^{t-1} \lambda_{t’}\),其中 \(a_{t}\) 是GAVE在时间步 \(t\) 的输出动作
    • 未来回报(RTG) :鉴于实际转化的稀疏性,论文在训练期间使用预期总转化次数 \(\sum_{i} pcvr_{i}\),其中 \(pcvr_{i}\) 是赢得流量 \(i\) 的预测转化率。在推理时,整个序列的 RTG 设置为前一天广告计划的总预期转化次数
  • 论文将GAVE与目前正在实际应用中的离线强化学习算法IQL进行比较
    • 评估指标包括成本、转化次数、目标成本和CPA有效率,出价策略侧重于在预算和CPA约束下最大化转化次数
    • 为考虑不同的广告计划目标,目标成本作为一种价值加权的转化度量,对于 Costcap 广告计划,转化价值等于CPA限制;对于 Nobid 广告计划,使用总流量的平均实际 CPA
    • 如果 Costcap 广告计划的 CPA 保持在限制以下,则认为其 CPA 有效,该指标仅针对 Costcap 广告计划进行评估。论文进行了为期五天的在线A/B测试,将每个广告计划25%的预算和流量分配给基线出价模型和GAVE,结果汇总在表4中
  • 对于 Nobid 和 Costcap 广告计划,GAVE均改善了成本和转化次数指标。在 Nobid 广告计划中,GAVE使成本增加了0.8%,转化次数增加了8.0%,目标成本增加了3.2%。在 Costcap 广告计划中,广告收入和广告商价值有所提升,同时CPA有效性显著改善,成本增加2.0%,转化次数增加3.6%,目标成本增加2.2%,有效CPA率增加1.9%

相关工作

离线强化学习和Decision Transformer

  • RL 通过与环境的交互来训练决策智能体,从基础工作发展到如策略梯度、深度Q学习和确定性策略优化等先进方法。尽管有效,但它们对频繁在线交互的依赖在实际应用中存在风险和成本。Offline RL 通过从静态数据集学习策略来解决这一问题,像BCQ、CQL和IQL等方法为稳定的连续控制、减轻价值高估和减少分布转移提供了可靠的解决方案。然而,它们对马尔可夫决策过程(MDPs)的依赖限制了对先前观测的访问以及对长程依赖关系的建模,而这在具有强烈时间模式的顺序任务中至关重要。Decision Transformer(DT)通过将RL重新构建为序列建模,利用transformer架构捕捉历史模式和长期依赖关系,克服了这些限制,实现了 Offline RL 的最先进性能。像 CDT 这样的扩展进一步实现了零样本约束适应,在无需在线微调的情况下平衡安全性和性能。基于 DT,论文提出了一种自动出价框架,通过将出价调整建模为基于轨迹的序列生成,与 DT 的优势相结合,有效地捕捉高风险、数据敏感环境中复杂的时间相关性

在线广告平台的自动出价

  • 自动出价在管理大规模广告拍卖中起着至关重要的作用,它通过自动优化每次曝光的出价来实现广告商的目标。早期方法如 PID 和 OnlineLP 侧重于基于规则的方法,使用反馈回路和随机规划来解决预算分配和出价优化问题,尽管它们依赖于简化假设。为应对现代广告生态系统的复杂性,基于RL的解决方案如 RLB、USCB、MAAB 和 SORL 能够进行自适应决策,具备处理高维状态和多智能体协调的能力。然而,由于实时出价的风险,像 BCQ、CQL 和 IQL 这样的 Offline RL 方法因利用历史数据而受到更多关注。这些方法在MDP框架下虽然有效,但在对顺序出价优化至关重要的长程时间依赖关系建模方面存在困难。像 DiffBid 和 GAS 这样的生成式序列建模方法通过使用扩散模型和带有 MCTS 的 transformer 来改进出价轨迹生成,解决了这些挑战。在这项工作中,论文提出了一种 Score-based RTG、动作探索机制和可学习价值函数框架,以使优化目标与评估指标保持一致、增强动作探索,并使用Decision Transformer学习最优策略来提高出价性能

结论

  • 论文提出了GAVE,通过价值引导探索来增强 DT 在离线生成式自动出价中的应用
    • 为适应复杂的广告目标,论文设计了一种可定制的 Score-based RTG 机制,能够对各种优化目标进行自适应建模,以匹配不同的评估指标
    • 论文将动作探索机制与基于 RTG 的评估方法相结合,在离线数据集之外探索动作的同时,确保稳定的更新过程
    • 为进一步引导探索并减轻 OOD 风险,论文采用了可学习价值函数,将 RTG 更新锚定在分布合理的区域,同时允许可控的外推以改进策略
  • 大量实验、在线部署和 NeurIPS 竞赛结果表明,论文的 GAVE 框架在增强自动出价策略的适应性和性能方面是有效的,为在动态环境中优化数字广告计划提供了一种通用解决方案
1…208209210…352
San Ye

San Ye

Stay Hungry. Stay Foolish.

704 posts
53 tags
© 2026 San Ye
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4