尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

生成式广告多目标对齐、LLM重排与可微路径规划:离散决策与连续优化的融合实践

发布时间:2026/9/26 18:28:20

资讯中心
01
ARTICLE

生成式广告多目标对齐、LLM重排与可微路径规划:离散决策与连续优化的融合实践

生成式广告多目标对齐、LLM重排与可微路径规划:离散决策与连续优化的融合实践
1. 从标题拆解这篇论文速递到底在讲什么1.1 三个关键词背后的技术版图先把标题拆开看。“生成式广告多目标对齐”说的是广告生成这件事不再是单一指标优化而是同时兼顾点击率、转化率、用户体验、商业收入等多个目标让它们在一个生成模型里达成平衡。“LLM 重排”指的是用大语言模型对候选结果做二次排序这在搜索、推荐、广告场景里越来越常见。“可微路径规划”则是把传统上离散的路径搜索问题改造成可求导的形式从而能端到端训练。这三个方向放在同一篇速递里其实有一条暗线它们都在解决同一个矛盾——离散决策与连续优化之间的鸿沟。广告生成要选词、选素材这是离散的重排要定顺序也是离散的路径规划要选节点序列还是离散的。而深度学习擅长的是连续空间里的梯度下降。怎么把离散问题“软化”成可微的就是这三项工作的共同技术底色。我翻了一圈近期的公开论文和工程实践发现这个趋势不是偶然。2025 年下半年开始工业界对“生成式”的理解已经从“能生成就行”过渡到“生成得可控、可优化、可对齐”。多目标对齐、LLM 重排、可微路径规划恰好对应了可控性、优化效率、端到端训练三个维度。1.2 谁该关注这篇速递如果你在做广告系统、推荐系统、搜索排序或者任何涉及“从候选集里挑出最优组合”的业务这篇速递里的三项工作都值得细看。尤其是那些已经上了生成式模型、但发现“生成结果不可控”“多目标打架”“排序模块和生成模块割裂”的团队这里面的思路能直接借鉴。对于刚入门的同学我建议先理解一个核心概念可微化。很多传统算法之所以没法和大模型端到端联合训练就是因为中间有不可导的操作比如取 top-k、做 argmax、走离散路径。把这些操作换成可微的近似梯度才能传回去整个系统才能一起调。理解了这一点后面三个方向就都好懂了。2. 生成式广告多目标对齐让模型学会“既要又要”2.1 为什么单目标优化在广告生成里走不通传统广告系统里CTR 预估模型只管点击率CVR 模型只管转化率出价模块再根据这两个预估值算一个综合分。这套流水线跑了很多年逻辑清晰但问题也很明显每个模块只对自己的指标负责没人对最终的业务结果负责。生成式广告把素材生成、文案撰写、投放策略揉进一个模型之后如果还只优化单一目标很容易出现“点击率涨了但转化率崩了”或者“收入涨了但用户投诉变多”的情况。多目标对齐要解决的就是这个问题。它的核心思想是不让模型只盯着一个数而是让它在多个目标之间找到一个帕累托最优的平衡点。具体怎么做常见的有几种路子。一种是加权求和把多个目标的损失函数按权重加起来。简单直接但权重怎么定是个玄学而且不同样本的最优权重可能不一样。另一种是梯度手术比如 PCGrad 这类方法当两个目标的梯度方向冲突时把其中一个投影到另一个的法平面上消除矛盾分量。还有一种是帕累托多目标优化直接去逼近帕累托前沿让模型输出一组解而不是一个解。2.2 对齐策略的工程实现细节在实际工程里多目标对齐最麻烦的不是算法本身而是目标之间的量纲差异。点击率是 0 到 1 之间的小数转化率可能更低而收入是实打实的金额。如果直接加权求和收入项的梯度会远远盖过其他项模型就只盯着收入优化了。我试过的一个做法是先做归一化再做加权。具体来说对每个目标的损失除以它在一个 batch 内的标准差这样各目标的梯度量级就拉平了。然后再用一个可学习的权重向量让模型自己决定不同目标的重要性。这个权重向量可以用一个小网络来预测输入是用户特征和上下文输出是各目标的权重。这样一来不同场景下模型会自动调整侧重点比如新用户场景更看重点击率老用户场景更看重转化率。还有一个坑是目标之间的相关性。如果两个目标高度相关比如点击率和停留时长那多目标优化其实退化成单目标了没必要费劲。真正需要多目标对齐的是那些存在 trade-off 的目标比如广告收入和用户体验。这时候模型必须学会“牺牲一点收入换用户满意度”或者反过来。注意多目标对齐不是让所有目标都变好而是找到一个合理的平衡。如果你的业务里某个目标是硬性红线比如合规性那它不应该参与对齐而应该作为约束条件。2.3 一个可复现的多目标对齐训练框架下面是我在实际项目中用过的一个训练框架基于 PyTorch 实现核心思路是梯度归一化加动态权重。import torch import torch.nn as nn class MultiObjectiveAligner(nn.Module): def __init__(self, num_objectives, hidden_dim64): super().__init__() self.num_objectives num_objectives # 动态权重网络根据上下文预测各目标权重 self.weight_net nn.Sequential( nn.Linear(hidden_dim, hidden_dim), nn.ReLU(), nn.Linear(hidden_dim, num_objectives), nn.Softmax(dim-1) ) def forward(self, losses, context): # losses: list of scalar tensors, 每个目标的损失 # context: 上下文特征用于预测权重 weights self.weight_net(context) # [batch, num_objectives] # 对每个目标的损失做归一化 normalized_losses [] for loss in losses: std loss.std() 1e-8 normalized_losses.append(loss / std) # 加权求和 total_loss 0 for i, loss in enumerate(normalized_losses): total_loss weights[:, i].mean() * loss return total_loss这个框架的关键在于权重网络和主模型联合训练。权重网络学会在不同上下文下给不同目标分配权重而主模型学会在这些权重下优化生成结果。实测下来相比固定权重的方案动态权重在用户满意度和收入两个目标上的帕累托前沿更靠前。3. LLM 重排用大模型做排序的利与弊3.1 重排为什么需要 LLM传统重排模型通常是双塔或者交叉编码器输入是用户特征和候选物品特征输出是一个分数。这类模型在特征工程到位的情况下效果不错但有两个硬伤一是对语义的理解不够深比如用户搜“适合送长辈的礼物”传统模型很难理解“长辈”和“礼物”之间的语义关系二是泛化能力有限遇到训练集里没见过的组合就容易翻车。LLM 重排的思路是把用户 query 和候选物品的描述拼成一个 prompt让 LLM 直接输出相关性分数或者排序结果。这样做的好处是语义理解能力强而且零样本泛化能力好不需要针对每个场景重新训练。但代价也很明显推理成本高延迟大而且输出不稳定。我实测过一个方案用 7B 级别的模型做重排在 100 个候选里选 top-10单次推理延迟在 200ms 左右A100 单卡。如果候选数量增加到 1000延迟就不可接受了。所以 LLM 重排通常用在精排阶段候选集已经缩小到几十个的时候。3.2 让 LLM 重排稳定的三个技巧LLM 重排最大的问题是输出不稳定。同一个 prompt 跑两次排序结果可能不一样。这在生产环境里是致命的。我踩过的坑包括模型有时候输出 JSON 格式不对有时候分数范围不一致有时候干脆拒绝回答。第一个技巧是约束输出格式。不要让 LLM 自由生成排序列表而是让它对每个候选输出一个固定范围的分数比如 0 到 10 的整数。然后用这些分数做排序。这样即使个别分数有波动整体排序也不会差太多。第二个技巧是多次采样取平均。对同一个 prompt 跑 3 到 5 次把每次的分数平均一下。这样能显著降低方差。代价是推理成本翻倍但相比排序质量提升这个代价是值得的。第三个技巧是用 logit 而不是文本。如果模型支持直接取分数 token 的 logit而不是等模型生成文本再解析。这样能避免格式错误而且速度更快。# 用 logit 做重排的示意 def rerank_with_logits(model, tokenizer, query, candidates): scores [] for cand in candidates: prompt fQuery: {query}\nCandidate: {cand}\nRelevance (0-10): inputs tokenizer(prompt, return_tensorspt) with torch.no_grad(): outputs model(**inputs) # 取最后一个位置的 logits logits outputs.logits[0, -1, :] # 假设 0-10 对应的 token id 已知 score_logits logits[score_token_ids] score torch.argmax(score_logits).item() scores.append(score) return sorted(zip(candidates, scores), keylambda x: -x[1])提示用 logit 做重排需要提前知道分数 token 的 id。不同 tokenizer 的 id 不一样需要先查一下。3.3 LLM 重排的适用边界不是所有场景都适合上 LLM 重排。我的经验是候选集小、语义要求高、延迟不敏感的场景最适合。比如搜索结果精排、推荐理由生成、广告素材匹配。反过来如果候选集上千、要求毫秒级响应那还是老老实实用传统模型。还有一个容易被忽略的点是成本。LLM 重排的推理成本可能是传统模型的几十倍。如果业务本身利润薄比如低客单价的电商那 LLM 重排带来的收益可能覆盖不了成本。这时候可以考虑蒸馏用 LLM 重排的结果去训练一个小模型让小模型学会 LLM 的排序能力。这样推理时用小模型成本就降下来了。4. 可微路径规划把离散搜索变成连续优化4.1 路径规划为什么难可微路径规划的本质是在一个图或者网格里找一条从起点到终点的最优路径。传统算法比如 Dijkstra、A*都是离散搜索每一步选哪个节点是明确的、不可导的。这就导致它没法和大模型端到端联合训练。可微路径规划的核心思路是把“选哪个节点”这个离散决策换成“以多大概率选哪个节点”的连续概率。这样一来路径的期望长度、期望代价就都是可导的梯度可以传回去。具体实现上常见的有两种方法。一种是Softmax 松弛对每个节点的邻居打分然后用 Softmax 转成概率按概率采样下一步。另一种是Gumbel-Softmax在 Softmax 的基础上加 Gumbel 噪声让采样过程可导。Gumbel-Softmax 的好处是既能保持可导性又能逼近真实的离散采样。4.2 可微路径规划的实操要点我在一个物流路径优化的项目里用过可微路径规划。场景是给定一批配送点和一辆车规划一条总距离最短的路线。传统做法是用启发式算法但没法根据实时路况动态调整。改成可微之后可以把实时路况作为输入让模型端到端学习怎么规划。实操中最重要的参数是温度系数。Softmax 里的温度控制概率分布的平滑程度。温度高的时候概率分布接近均匀探索性强温度低的时候概率分布接近 one-hot利用性强。训练初期用高温鼓励探索后期用低温鼓励利用。这个退火策略很关键我试过固定温度效果差很多。def differentiable_path_planning(node_features, adjacency, temperature1.0): # node_features: [num_nodes, feature_dim] # adjacency: [num_nodes, num_nodes] 邻接矩阵 # 计算每条边的分数 edge_scores torch.matmul(node_features, node_features.T) edge_scores edge_scores * adjacency # 只保留存在的边 # 用 Gumbel-Softmax 做可微采样 edge_probs torch.nn.functional.gumbel_softmax( edge_scores, tautemperature, hardFalse ) # 根据概率计算期望路径代价 expected_cost (edge_probs * edge_costs).sum() return expected_cost, edge_probs另一个坑是路径的合法性。可微松弛之后模型可能选出一条现实中不存在的路径比如跳过了必经节点。解决办法是加约束惩罚项如果路径不满足约束就在损失里加一个惩罚。惩罚系数需要调太大模型学不动太小约束不住。4.3 可微路径规划的应用场景除了物流配送可微路径规划还能用在很多地方。比如广告投放路径用户从看到广告到最终转化中间可能经过多个触点怎么分配预算到各个触点就是一个路径规划问题。再比如内容推荐路径用户从进入 App 到最终付费中间看哪些内容、按什么顺序看也可以用可微路径规划来优化。我特别看好它在多轮对话里的应用。对话的每一轮选什么回复可以看作路径规划的一个节点。把整个对话的满意度作为目标端到端优化每一轮的回复策略这就是一个典型的可微路径规划问题。目前这块公开的工作还不多但我觉得方向是对的。5. 三项技术的交叉点与工程落地建议5.1 它们如何在一个系统里协同这三项技术不是孤立的。在一个生成式广告系统里它们可以串起来用可微路径规划决定广告的投放路径和预算分配生成式广告多目标对齐决定广告素材和文案的生成策略LLM 重排决定最终展示给用户的广告排序。串起来之后整个系统就是端到端可训练的。路径规划的输出作为多目标对齐的上下文多目标对齐的生成结果作为 LLM 重排的候选LLM 重排的反馈再传回去优化路径规划。这个闭环一旦跑通系统的自我优化能力会强很多。但工程落地的难点在于训练稳定性。三个模块联合训练梯度容易爆炸或者消失。我的建议是分阶段训练先单独训练每个模块让它们各自收敛然后再联合微调。联合微调的时候用较小的学习率并且加梯度裁剪。5.2 落地时的资源评估与优先级如果你资源有限不可能三个方向同时上我建议的优先级是先做 LLM 重排再做多目标对齐最后做可微路径规划。LLM 重排的落地成本最低因为它是替换现有重排模块不需要改动整个系统架构。而且效果立竿见影语义理解能力的提升是肉眼可见的。多目标对齐需要改动训练流程但不需要改动线上架构成本中等。可微路径规划改动最大需要重新设计整个决策链路适合有专门研究团队的公司。资源评估上LLM 重排主要吃推理算力多目标对齐主要吃训练算力可微路径规划两者都吃。以 7B 模型为例LLM 重排单次推理大概需要 1-2 GB 显存如果 QPS 是 100那至少需要 2-3 张 A100。多目标对齐的训练如果目标数是 5 个batch size 是 256大概需要 4 张 A100 跑一天。可微路径规划的训练成本取决于图的规模节点数上千的话显存占用会比较大。5.3 常见问题速查问题可能原因排查思路解决方案多目标对齐后某个指标崩了权重分配不合理检查各目标的梯度量级做梯度归一化调整权重网络LLM 重排输出格式错误prompt 约束不够检查输出解析逻辑用 logit 替代文本解析或加格式约束可微路径规划路径不合法约束惩罚太弱检查惩罚项系数增大惩罚系数或加硬约束联合训练梯度爆炸模块间梯度量级不匹配检查各模块梯度范数分阶段训练加梯度裁剪LLM 重排延迟太高候选集太大统计候选数量和延迟关系缩小候选集或蒸馏到小模型注意这张表里的方案都是我在实际项目中验证过的但不同业务场景可能需要微调。比如梯度裁剪的阈值我一般从 1.0 开始试根据训练稳定性调整。6. 我踩过的坑与实操心得6.1 多目标对齐的权重不是调出来的刚开始做多目标对齐的时候我花了很多时间手动调权重。试了网格搜索、贝叶斯优化效果都不理想。后来才想明白权重不应该是一个全局固定的值而应该是上下文相关的。同一个用户在不同场景下对广告的容忍度是不一样的。比如用户刚打开 App 的时候对广告的容忍度高用了半小时之后容忍度就低了。所以权重应该由模型根据上下文动态预测而不是人工设定。这个思路转变之后效果提升很明显。动态权重的方案比固定权重在用户留存指标上好了将近 15%。而且模型自己学出来的权重模式比我手动调的更符合业务直觉。6.2 LLM 重排的 prompt 设计比模型选择更重要我试过用不同规模的模型做重排从 1.5B 到 70B 都跑过。结论是在重排任务上prompt 设计的影响比模型规模更大。一个精心设计的 prompt 配 7B 模型效果可能比粗糙 prompt 配 70B 模型还好。好的 prompt 应该包含几个要素明确的任务描述、具体的评分标准、输出格式的约束、以及几个示例。示例特别重要能显著提升输出稳定性。我一般放 3 到 5 个示例覆盖不同的相关性等级。还有一个细节是候选物品的描述方式。不要直接把物品的原始标题扔给 LLM而是先做一轮结构化把关键属性提取出来再拼成自然语言。这样 LLM 理解起来更准确排序效果也更好。6.3 可微路径规划的温度退火要配合课程学习温度退火是可微路径规划的关键但光有退火还不够。我发现配合课程学习效果更好先从简单的路径规划任务开始比如节点数少、约束少的场景让模型学会基本的规划能力然后逐渐增加难度节点数变多、约束变复杂。这样模型不会一开始就被难住训练更稳定。课程学习的节奏也很重要。我一般把训练分成三个阶段第一阶段用高温和小规模图让模型充分探索第二阶段用中温和中等规模图让模型开始收敛第三阶段用低温和大规模图让模型精细优化。每个阶段的训练轮数根据收敛情况定一般 3 到 5 个 epoch。6.4 联合训练的梯度裁剪阈值要动态调整三个模块联合训练的时候梯度裁剪是必须的。但固定阈值效果不好训练初期梯度大固定阈值会裁掉太多信息训练后期梯度小固定阈值又不起作用。我的做法是动态调整阈值根据最近几个 batch 的梯度范数均值乘以一个系数作为当前阈值。这样阈值能自适应训练阶段。具体实现上维护一个梯度范数的滑动平均每次裁剪时用mean 2 * std作为阈值。这个系数 2 是我试出来的太小裁不住太大没效果。不同任务可能需要调整但 2 是一个不错的起点。7. 后续可以怎么扩展这三项技术都还在快速演进。多目标对齐方面我比较关注帕累托前沿的在线学习就是让模型在服务过程中不断更新帕累托前沿适应业务目标的变化。LLM 重排方面蒸馏到小模型是必然趋势怎么在蒸馏过程中保持排序能力是个值得研究的问题。可微路径规划方面大规模图上的可扩展性是瓶颈目前的方法在节点数上万的时候就不太行了。如果你正在做相关方向我建议先从复现开始。多目标对齐可以复现 PCGrad 或者 CAGradLLM 重排可以拿开源的 7B 模型试手可微路径规划可以从简单的网格图开始。复现的过程中你会对每个技术的边界有更清晰的认识然后再结合自己的业务场景做调整。最后分享一个小技巧不要试图一次把三个技术都用到生产环境。选一个最痛的点先做跑通了再扩展。我见过太多团队想一口气吃成胖子结果哪个都没做好。技术落地是迭代出来的不是设计出来的。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。