One-Step Retrieval Framework for Real-Time Sponsored Search Ads Using Hierarchical Text Representations
Tongtong Liu, Renyu Zhang, Jiayu Ding, Hongchao Guo, Xintao Yang, He Wei, Zhaoyu Li, Haiyang Wu
cs.IR
2026-09-16
ANGLE让一颗Hunyuan把检索、相关性和商业排序做进同一次生成,用意图×摘要倒排代替SID,线上消费+1.81%、GMV+2.16%,线下HR@10为0.1961,高于BERT的0.1313。
搜索广告的多级漏斗把检索、相关性、粗排、精排串起来,每级单独训练。前面漏掉的高价值广告,后面救不回来;目标也不一致,检索在追覆盖,精排在追收入。LLM 生成检索想一步做完,但主流做法给广告贴离散语义 ID(SID)。底座模型本来不会这些 ID,SFT 得背 SID 到广告的映射,新广告要重新建映射,一对一解码也慢。奖励还常常是一颗小的 pCTR 模型,LLM 评商业价值的能力用不上。
ANGLE 把广告写成两层短文本:商业意图是压缩过的类别描述(约 70 万条粗粒度意图),广告摘要是标题里抽出来的具体词,例如游戏广告意图是「角色扮演游戏」,摘要是游戏名。广告侧用 Hunyuan-13B 离线生成这对文本,建意图×摘要到广告的倒排;新广告按约束生成意图、自由生成摘要,按小时更新索引,不必重训查询模型。
查询侧是 1B 的 GDR-LLM(Hunyuan-1B),三件事叠在同一颗模型上。
总损失是三项加权和。推理用动态约束 beam search(DCBS,beam=64):先在意图前缀树上生成,再按当前用户可投的广告动态重建摘要树,剪掉没有可投广告的路径。意图最多 3 个 token,摘要最多 4 个,单对大约 90 毫秒以内。召回结果跳过相关性和粗排,直接进精排。论文写明精排还在,因为创意选择和智能出价仍绑在精排上。
线下 1 万 query、约 22 万候选(含从库里随机抽的无关广告),对照七个基线。
| 方法 | HR@10 | HR@50 | HR@100 | MAP | ACR |
| BERT | 0.1313 | 0.2384 | 0.3075 | 0.3910 | 47.70% |
| Hunyuan-2B | 0.1153 | 0.2184 | 0.2889 | 0.3519 | 42.51% |
| DSI-1B | 0.0320 | 0.0830 | 0.1058 | 0.2831 | 55.49% |
| ANGLE-1B | 0.1961 | 0.4834 | 0.5273 | 0.4834 | 69.17% |
消融:去掉摘要,HR@10 掉到 0.1738、HR@100 掉到 0.3519,比去掉意图伤得更重。去掉 DCBS 改成自由生成再 ANN 对齐,HR@10 0.1442,ACR 55.14%。换成底座模型做约束生成,HR@10 0.1278。细摘要和合法集合约束,比再堆模型尺寸更关键。
线上五天、20% 流量。WTS 场景消费 +1.81%,GMV +2.16%,点击 +1.50%,转化 +1.44%,曝光 +2.49%。QBS 场景消费 +6.57%,GMV +5.01%。已经作为精排队列的补充全量铺上。服务端是数百张 L40,FP8,单卡大约 30 QPS,端到端目标 60 毫秒。
生成式检索在广告上要过的关是新广告和可投约束,不是再做一个 SID 词表。短文本当中间表示,LLM 的世界知识用得上,索引可以按小时换。1B 查询模型加 13B 离线广告模型,是能进时延预算的拆法。对已经有多级漏斗的搜索广告团队,这是把检索、相关性、粗排收进一次生成,精排暂时不动。
精排还在。局限节自己写了,搜索里创意和出价绑在精排,现阶段去不掉。GDR-LLM 的相关标签是点击,点击不等于相关,商业排序用花费,可能强化已经贵的广告。广告侧 SFT 大约 5 千条、查询侧 43 万,两边数据来源不同,层级文本质量依赖清洗。线上段落有一处写成消费 +1.18%,与摘要和表中的 +1.81% 不一致,解读按表。WTS/QBS 是匿名场景名,外推到其他检索形态要小心。没有报告与现网多级漏斗的延迟和成本对照,只报了自身时延预算。