关于腾讯广告算法大赛2025项目面试要点

model

log2feats

  1. seqs *= self.item_emb.embedding_dim**0.5嵌入尺度缩放
    X=X×DX = X \times \sqrt{D}X=X×D

    • 维持词表权重与位置编码 的"量级平衡":如果直接把两者相加,模型在训练初期会严重跑偏,误以为"位置"决定了一切。在 attention is all u need中

    • 防止后续计算中的点积注意力(Attention)饱和:Attention(Q,K,V)=Softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VAttention(Q,K,V)=Softmax(dk QKT)V乘以 D\sqrt{D}D 之后:输入的词向量方差达到标准的 1。进入注意力机制计算点积时,其方差会扩大为 DDD,然后通过公式里的除以 dk\sqrt{d_k}dk 完美对冲,重新让注意力的方差回到 1。这样,Softmax 就能输出高低分明、松紧度恰到好处的平滑概率分布,既不会梯度消失(Softmax 饱和),也不会由于信息太平均而失去聚焦能力。

  2. attention_mask = attention_mask_tril.unsqueeze(0) & attention_mask_pad.unsqueeze(1)
    在工业级推荐系统的长序列建模中,面临着"时间线标签泄露"与"短序列填充信息污染"的双重挑战。attention_mask_tril 将全true矩阵右上三角区域强行抹除为 False,建立严格的时间单向可见性约束,确保模型在提取任何时刻的用户兴趣表征时,只能聚合当前及过去的行为。attention_mask_pad则可以识别出序列中哪些地方是真正的用户行为数据,避免填充信息污染。

  3. Pre-LN(层归一化在前):GPT-4,LLaMa,HSTU
    彻底解决梯度消失 问题
    求导Si+1=Si+MHA(LN(Si))+FFN(LN(Si+MHA(LN(Si))))S_{i+1} = S_i + \text{MHA}(\text{LN}(S_i)) + \text{FFN}(\text{LN}(S_i + \text{MHA}(\text{LN}(S_i))))Si+1=Si+MHA(LN(Si))+FFN(LN(Si+MHA(LN(Si))))
    下一层的 seqs 就是前一层的 seqs 直接加上一堆残差增量,直接求导。
    ∂Si+1∂Si=∂Si∂Si+∂MHA(... )∂Si+∂FFN(... )∂Si\frac{\partial S_{i+1}}{\partial S_i} = \frac{\partial S_i}{\partial S_i} + \frac{\partial \text{MHA}(\dots)}{\partial S_i} + \frac{\partial \text{FFN}(\dots)}{\partial S_i}∂Si∂Si+1=∂Si∂Si+∂Si∂MHA(...)+∂Si∂FFN(...)
    由于第一项 ∂Si∂Si\frac{\partial S_i}{\partial S_i}∂Si∂Si 恒等于 111,两层之间的导数结果为:∂Si+1∂Si=1+(包含 MHA 和 FFN 的那一堆复杂导数)\frac{\partial S_{i+1}}{\partial S_i} = 1 + \text{(包含 MHA 和 FFN 的那一堆复杂导数)}∂Si∂Si+1=1+(包含 MHA 和 FFN 的那一堆复杂导数)
    网络n层,链式法则连乘
    ∂S最后一层∂S第一层=∂Sn∂Sn−1×⋯×∂Si+1∂Si×⋯×∂S2∂S1\frac{\partial S_{\text{最后一层}}}{\partial S_{\text{第一层}}} = \frac{\partial S_n}{\partial S_{n-1}} \times \dots \times \frac{\partial S_{i+1}}{\partial S_i} \times \dots \times \frac{\partial S_2}{\partial S_1}∂S第一层∂S最后一层=∂Sn−1∂Sn×⋯×∂Si∂Si+1×⋯×∂S1∂S2=(1+Δn)×⋯×(1+Δi+1)×⋯×(1+Δ2)\quad = (1 + \Delta_n) \times \dots \times (1 + \Delta_{i+1}) \times \dots \times (1 + \Delta_2)=(1+Δn)×⋯×(1+Δi+1)×⋯×(1+Δ2)把这一大串括号全部乘开(展开)之后,数学上必定会剥离出一项孤零零的:1×1×⋯×1=11 \times 1 \times \dots \times 1 = 11×1×⋯×1=1。也就是说:∂S最后一层∂S第一层=1+(其他所有复杂的交叉项)\frac{\partial S_{\text{最后一层}}}{\partial S_{\text{第一层}}} = 1 + \text{(其他所有复杂的交叉项)}∂S第一层∂S最后一层=1+(其他所有复杂的交叉项)
    解决梯度消失 :所有的 MHA 和 FFN 都是以增量(残差)的形式横向加在主干上,且它们内部的 LN 绝不拦截主干本身。哪怕后面那堆复杂的交叉项因为网络太深、激活函数饱和而全部衰减变成了 000,总梯度依然能通过这个保底的 111,把最后一层的信号稳稳当当地送回第一层。
    讲一讲残差设计和 Pre-LN 的优势
    每一层的更新语句都是 seqs = seqs + mha_outputs。在反向传播时,根据多元微积分的链式法则,由于 seqs 是直接与外部进行元素级相加,它对上一层 seqs 的偏导数恒等于 111。并且由于 LayerNorm(attention_layernorms)是被包裹在子层内部(Pre-LN 架构),这就导致整个深层网络存在一条由加号拓扑出的**'全等映射主干道(Identity Path)'**。最后一层的初始梯度可以不受任何 LayerNorm 函数的稀释和惩罚,无损地通过这条全等通路直达最底层的 Embedding 层。这使得我们即使面对大促期间极其复杂的长行为序列、堆叠很深的注意力层时,网络也能展现出惊人的训练稳定性,收敛速度极快。"

  4. Post-LN 层归一化在后:最初版Transformer
    Si+1=LN(LN(Si+MHA(Si))+FFN(LN(Si+MHA(Si))))S_{i+1} = \text{LN}\bigg( \text{LN}\big(S_i + \text{MHA}(S_i)\big) + \text{FFN}\Big(\text{LN}\big(S_i + \text{MHA}(S_i)\big)\Big) \bigg)Si+1=LN(LN(Si+MHA(Si))+FFN(LN(Si+MHA(Si))))LN 在残差捷径的外侧(把主干给截断了),梯度回传必须层层穿越 LN 滤网(求导结果全是连乘,没有 +1+1+1),层数稍深就会引发严重的梯度消失。
    先对最外层的 LN\text{LN}LN 求导: f(g(x))′=f′(g(x))⋅g′(x)f(g(x))' = f'(g(x)) \cdot g'(x)f(g(x))′=f′(g(x))⋅g′(x)∂Si+1∂Si=γi⋅∂LN(... )∂内部⏟💥 致命的衰减因子⋅[∂LN(Si+MHA(Si))∂Si+... ]\frac{\partial S_{i+1}}{\partial S_i} = \mathbf{\gamma_i} \cdot \underbrace{\frac{\partial \text{LN}(\dots)}{\partial \text{内部}}}{\text{💥 致命的衰减因子}} \cdot \left[ \frac{\partial \text{LN}(S_i + \text{MHA}(S_i))}{\partial S_i} + \dots \right]∂Si∂Si+1=γi⋅💥 致命的衰减因子 ∂内部∂LN(...)⋅[∂Si∂LN(Si+MHA(Si))+...]LayerNorm 在求导时,其导数项与当前向量的方差 σ\sigmaσ 成反比(约等于小于 1 的分数 1σ\frac{1}{\sigma}σ1)。
    (随着网络层数加深,后面几层残差不断往里叠加,特征向量里的数字会像滚雪球一样越来越大,导致方差和标准差 σ\sigmaσ 变得巨高无比(远远大于 1)。)
    当网络有 NNN 层时,我们使用链式法则连乘:∂S最后一层∂S第一层=(γn⋅1σn⋅Δn)×⋯×(γ1⋅1σ1⋅Δ1)\frac{\partial S
    {\text{最后一层}}}{\partial S_{\text{第一层}}} = \left(\gamma_n \cdot \frac{1}{\sigma_n} \cdot \Delta_n \right) \times \dots \times \left(\gamma_1 \cdot \frac{1}{\sigma_1} \cdot \Delta_1 \right)∂S第一层∂S最后一层=(γn⋅σn1⋅Δn)×⋯×(γ1⋅σ11⋅Δ1)
    LayerNorm:
    y=x−μσ2+ϵ⋅γ+βy = \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} \cdot \gamma + \betay=σ2+ϵ x−μ⋅γ+β

相关推荐
Hui_AI7209 小时前
抖店铺货自动化:7个核心功能的技术实现方案
大数据·运维·人工智能·自动化·产品运营·ai写作·内容运营
运维帮手大橙子9 小时前
自动驾驶通过红路灯路口卡停
人工智能·机器学习·自动驾驶
sheeta19989 小时前
LeetCode 每日一题笔记 日期:2026.05.15 题目:153. 寻找旋转排序数组中的最小值
笔记·算法·leetcode
不懒不懒9 小时前
【基于 YOLOv10 与 PyQt5 的汽车零件缺陷检测系统实战开发】
人工智能·计算机视觉·目标跟踪
GEO从入门到精通9 小时前
GEO学习与传统SEO学习有什么区别?
人工智能·学习·microsoft
墨北小七9 小时前
如何用 Dify 替代传统客服机器人
人工智能·机器人
jarvisuni9 小时前
《掌门日记》之GPT5.5测评报告!
人工智能·ai编程
一头爱吃肉的牛9 小时前
2026年AI PPT工具体验:6款主流工具深度横评
人工智能·powerpoint
chatexcel9 小时前
ChatExcel AI文档上线:AI自动生成Word报告的完整工作流
人工智能·word