SWE / MLE / Applied Scientist · ML / System Design

Amazon Encoder与Decoder场景:表示、生成与Mask

按输出目标选双向表示或自回归生成,说明padding、causal及cross attention。

题目重点:按输出目标选双向表示或自回归生成,说明padding、causal及cross attention。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 明确问encoder/decoder分别何时用、mask场景;不要求某未披露模型版本。练习讨论Transformer的常见双向encoder、自回归decoder和encoder-decoder组合。
  • 架构与训练目标绑定,不能由产品叫“搜索”或“聊天”就断定唯一模型。检索系统也可能使用生成式重排。

解题路线

  1. 需要全句上下文表示的分类、标签或检索encoder可双向看有效token,padding mask排掉占位符。表示如何池化及监督目标决定embedding质量,不能认为任意hidden mean就是可比较句向量。
  2. 逐token续写使用causal decoder,当前位置不看未来目标token;训练teacher forcing也必须保持这种信息边界。推理逐步增长context,与编码一次得到表示的计算路径不同。
  3. 输入和输出是不同序列时encoder-decoder可先双向编码输入,再在decoder中causal self-attention并cross-attend输入表示;输入padding也应在cross attention屏蔽。
  4. padding与causal mask解决不同问题:一个排无效位置,一个限制时间信息。batch包含不同长度或训练拼接多样本时还需明确segment边界,避免跨样本泄漏。
  5. 先定评价:分类准确/校准、检索recall/排序、生成质量与延迟。混合任务可采用不同模块共享数据,但不凭单一loss低就推断所有任务好。

手动走一遍

文档分类允许后面的关键词影响前面表示;续写“天气”后的下一字不能读取标签中的未来字。翻译输入可全读英文,输出中文仍逐字因果生成,并可关注完整输入。

规模与取舍

标准全attention长度L通常O(L²d),mask不自动变线性;生成缓存KV后减少重复投影但仍随已有context访问增长。模型选择还受训练数据、输出长度和服务延迟限制。

易错点与追问

容易失分的边界

  • 认为encoder永远没有mask。
  • teacher forcing时看未来答案泄漏。
  • padding mask与causal mask混用,遮掉合法上下文或保留无效token。

继续深挖

  • 如何把decoder-only模型做embedding,并验证池化/目标选择?
  • 多个对话打包时mask如何阻止读到另一个样本?
✓已复制微信号!