LLM面试题: Transformer

Q:请详细解释一下 Transformer 模型中的自注意力机制是如何工作的?它为什么比 RNN 更适合处理长序列?

难度:⭐⭐

公司:字节、阿里、腾讯(高频)

算法岗回答要点:

  1. 自注意力机制原理

    • 输入序列通过三个线性变换得到 Q(Query)、K(Key)、V(Value)
    • 计算注意力分数:scores = QK^T / √d_k
    • Softmax 归一化得到注意力权重
    • 加权求和:output = softmax(scores) · V
  2. 数学推导

    Attention(Q,K,V) = softmax(QK^T/√d_k)V
    
    • 为什么除以√d_k?防止点积过大导致梯度消失
    • Multi-Head 机制:并行计算多个注意力头,捕获不同子空间的特征
  3. vs RNN 的优势

    • 并行计算:RNN 必须顺序计算,Transformer 可以并行处理整个序列
    • 长距离依赖:RNN 存在梯度消失/爆炸,Transformer 通过直接注意力机制解决
    • 计算复杂度:序列长度 n,RNN 为 O(n),Self-Attention 为 O(n²)但可并行

开发岗回答要点:

  1. 理解注意力机制的作用

    • 模型能自动关注序列中重要的部分
    • 类似于"加权平均",权重由模型学习得到
  2. 工程实现要点

    • 使用成熟框架(PyTorch/TensorFlow)内置的 Attention 层
    • 注意 Attention Mask 的使用(Padding mask、Causal mask)
    • 推理时可以使用 KV Cache 加速
  3. 优化技巧

    • Flash Attention:减少显存占用,加速计算
    • Multi-Query Attention(MQA):共享 K/V,降低显存

延伸问题:

  • Multi-Head Attention 的作用是什么?
    • 答:类似CNN的多通道,不同head关注不同特征子空间
  • Self-Attention vs Cross-Attention 的区别?
    • 答:Self-Attention 的 Q/K/V 来自同一序列;Cross-Attention 的 Q 来自一个序列,K/V 来自另一个序列(如 Encoder-Decoder)

面试技巧:

  • 开场先说核心公式,展示理论功底
  • 画图说明计算流程(Q/K/V 矩阵乘法)
  • 主动提及优化技术(Flash Attention)加分
#AI求职记录#
全部评论

相关推荐

今天 00:39
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务