2026 腾讯广告算法大赛落下帷幕,获奖方案直击工业推荐系统最核心的痛点 ——94% 的曝光噪声淹没仅 2.5% 的高价值转化信号,通过 FiLM+Gated Fusion+Attention Biasing 三机制协同实现了不同行为语义的彻底解耦。
本文将从问题本质、技术细节、灵感溯源、知识体系四个维度对该方案进行深度拆解,不仅告诉你 "第一名做了什么",更重要的是告诉你 "他是怎么想到的",以及"你需要具备哪些能力才能做出这样的方案"。

编辑
腾讯广告算法大赛是国内含金量最高的算法竞赛之一,每年都吸引着来自全球顶尖高校和互联网公司的数万名选手参赛。今年的赛题聚焦于广告序列推荐,提供了包含 1000 万条用户行为记录的真实工业数据集 TencentGR-10M。
与学术数据集不同,工业推荐系统面临着一个极其残酷的现实:绝大多数行为都是无效噪声。在 TencentGR-10M 数据集中:
这就像一个侦探在破案时,收到了 100 条线索,其中 95 条都是无关的路人证词,只有 2-3 条是目击证人的关键口供。
绝大多数选手的第一反应是:"用最新的大模型做序列推荐!" 于是纷纷拿出了 Qwen、Llama 等大模型,把用户行为序列直接扔进 Transformer 里训练。
但结果却令人失望:无论怎么调参、怎么加特征,效果都上不去。
问题出在哪里?Transformer 是 "众生平等" 的,它会把所有 Token 一视同仁。当 94% 的噪声信号占据了绝大多数注意力时,模型学出来的就是一堆垃圾。它会记住 "用户看过什么",但永远学不会 "用户真正想要什么"。
这就是工业推荐系统最棘手的核心难题:行为信号天然异质。
第一名团队的核心洞察非常简单却极其深刻:
我们不能再让模型自己去分辨哪些线索重要,我们要直接告诉它哪些是高价值线索,哪些是噪声。
受 Pinterest 2025 年 PinRec 论文的启发,他们提出了逐位置行为条件化机制,在序列的每个位置,根据该位置的行为类型动态变形 Token 表征。
为了实现最彻底的语义解耦,他们没有满足于单一的调制机制,而是从特征空间、融合层面、注意力层三个不同粒度同时下手,形成了三管齐下的组合拳。
FiLM(Feature-wise Linear Modulation)原本是计算机视觉领域用于视觉问答的技术,它可以对特征进行逐元素的仿射变换。
直觉解释:同一件商品,"被用户点击" 和 "只是被用户扫了一眼",在用户兴趣建模中的语义是完全不同的。FiLM 无需为每种行为维护独立的 Embedding,而是在特征空间中直接对商品表征进行条件化变换。
单一的 FiLM 变换可能会丢失原始特征中的有用信息,因此他们引入了门控融合机制,自适应地混合原始特征和条件化特征。
效果:
最后,他们在 Transformer 的注意力计算层面加入了行为类型偏置矩阵,从最宏观的层面调控模型的注意力分布。
\(Attention(Q, K, V) = softmax\left(\frac{QK^T}{\sqrt{d}} + B(a_t)\right)V\)
\(B(a_t)\)是一个基于行为类型构造的偏置矩阵,它会让模型在计算注意力时,天生就更关注高价值的点击和转化行为,自动降低曝光行为的权重。
表格
机制 | 作用粒度 | 核心效果 |
|---|---|---|
FiLM | 特征空间 | 行为条件化的特征仿射变换,实现语义解耦 |
Gated Fusion | 融合层面 | 原始特征与条件化特征的自适应混合 |
Attention Bias | 注意力层 | 序列级行为优先级调控,压制噪声 |
这三个机制单独使用都能带来提升,但合在一起产生了1+1+1>3的质变效果,彻底解决了噪声淹没有效信号的问题。
Transformer 的位置编码只能表达 "这是第几个行为",但完全无法感知真实时间的语义。用户早上 8 点刷到的广告和晚上 8 点刷到的广告,相隔 10 秒的两个行为和相隔 10 天的两个行为,其含义天差地别。
为此,第一名团队设计了三级层次的时序特征工程,全方位榨干时间信息的价值。
捕捉用户行为的绝对时间模式:
计算相邻两个行为之间的时间间隔\(\Delta t_{u,t} = t_{u,t} - t_{u,t-1}\),捕捉事件间隔的语义:
将用户行为划分为三个层级的会话:
每条行为都会携带 "属于哪个会话"、"在会话内的位置" 等上下文信息,让模型理解用户访问的宏观结构。
为了让模型更好地感知时间的周期性规律,他们使用了多频傅里叶编码:
其中频率覆盖了小时、日、周等多个时间尺度,让模型同时感知多频率的周期性规律。
传统的原始 Item ID 存在两个致命缺陷:
随着多模态大模型的兴起,每个商品都有了高质量的图片和文本 Embedding。语义相近的商品,它们的多模态 Embedding 也会很接近。
第一名团队敏锐地抓住了这个机会,提出了RQ-KMeans 语义 ID方案:
RQ-KMeans 流程:
plaintext
多模态Embedding e ↓ 第1级量化 c₁ = argmin_k ||e - μ₁ᵏ||² → 码字id₁ 残差r₁ = e - μ₁c₁ ↓ 第2级量化(对残差再量化) c₂ = argmin_k ||r₁ - μ₂ᵏ||² → 码字id₂ 残差r₂ = r₁ - μ₂c₂ ↓ ...(L级) 语义ID = (id₁, id₂, ..., id_L)
为了防止模型只依赖粗粒度的语义码而忽略后续的精细层级,他们还引入了Random-k 正则化:训练时随机选取第 k 级语义码作为起始输入,强迫模型学习不同粒度的语义信息。
这一技巧起到了类似 Dropout 的正则化作用,显著增强了模型对长尾物品细粒度差异的感知能力。
再好的算法,没有扎实的工程实现也无法发挥出全部威力。第一名团队在训练和推理环节做了大量细致的优化,这也是他们能拉开差距的重要原因。
混合策略:
为了平衡性能与延迟,他们采用了推理解耦的架构:
这种架构将大部分计算量转移到了离线,在线推理延迟控制在 10ms 以内,完全满足工业级要求。
很多人看完这个方案会觉得:"这些技术我都听过,为什么我想不到把它们组合起来?"
其实,能想出这个方案的人,既不是凭空顿悟的天才,也不是只会堆论文的书呆子。他走的是一条 **"发现真问题 → 跨领域找武器 → 组合优化成杀招 → 工程落地验证"** 的标准路径。
这是最容易被学生忽略,但也是最重要的一层。你需要知道:
这个知识怎么来:不是从课本上来的,而是从跑真实的工业数据集、分析 bad case来的。当你调了一个月的 Transformer,发现效果怎么都上不去,然后去看模型的注意力权重,发现它把 90% 的注意力都放在了曝光数据上时,你才会真正理解 "行为异质性" 这个问题有多致命。
你不能只会用transformers.AutoModel.from_pretrained(),你得知道 Transformer 的每一层、每一个公式是干嘛的,以及哪里可以动手脚。
这个知识怎么来:手推一遍 Transformer 的前向传播和反向传播,然后自己从零写一个简单的 Transformer,而不是永远用别人的封装。
这是这个作者最厉害的地方:他没有局限在推荐系统的小圈子里,而是把其他领域已经验证过的成熟技术,拿来解决推荐系统的老问题。
表格
方案中的技术 | 原本来自哪个领域 |
|---|---|
FiLM 特征调制 | 计算机视觉(视觉问答) |
RQ-KMeans 残差量化 | 语音识别、向量数据库 |
Muon 优化器 | 大模型训练 |
多频傅里叶编码 | 信号处理、NeRF |
这个知识怎么来:不要只读推荐系统的论文,要同时关注 CV、NLP、大模型训练、甚至信号处理领域的进展。很多时候,你在推荐系统里卡了半年的问题,别的领域早就有成熟的解决方案了。
再好的想法,跑不起来都是空谈。这个方案里有大量的工程优化细节,没有扎实的工程能力根本做不出来。
这个知识怎么来:多写代码,多调性能,多踩坑。不要满足于 "能跑通",要追求 "跑得又快又好"。
你会发现,所有的灵感都有迹可循,没有任何 "神来之笔"。
表格
维度 | 核心优势 |
|---|---|
行为建模 | 三机制协同 Action Conditioning,彻底解耦不同行为语义 |
时序建模 | 三级层次 + 多频 Fourier,远超单一位置编码 |
冷启动 | RQ-KMeans 语义 ID,长尾广告天然受益于语义共享 |
训练稳定性 | Random-k 防语义 ID 退化,Muon 加速收敛 |
工程效率 | 静态计算图 + 推理解耦,GPU 利用率高、延迟可控 |
随着大模型技术的不断发展,推荐系统正在经历从 "协同过滤" 到 "生成式推荐" 的范式转变。行为条件化、多模态融合、Agent 化将是未来推荐系统的重要发展方向。
对于想要进入这个领域的同学来说,现在正是最好的时机。你不需要从头训练一个大模型,你只需要学会如何把大模型的能力和推荐系统的业务场景结合起来,就能做出非常有价值的工作。
很多人觉得算法竞赛拼的是天赋,但实际上,拼的更多的是对问题的理解深度和知识体系的广度。第一名的方案里没有任何黑科技,所有的技术都是公开的,但只有他把这些技术用在了正确的地方,解决了真正的问题。
希望这篇文章能给你带来一些启发。如果你觉得有用,欢迎点赞、收藏、转发。如果你有任何问题,也欢迎在评论区留言交流。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。