【Transformer 与注意力机制】17|Causal Mask:让模型只看过去不看未来

💡 原文中文,约26300字,阅读约需63分钟。
📝

内容提要

因果掩码是自回归生成模型中的关键技术,确保模型在训练时仅依赖过去的信息,解决了Transformer在并行处理与生成任务之间的矛盾。通过将上三角部分设为负无穷,因果掩码确保模型在生成时不“偷看”未来的token。这一技术是现代大语言模型(如GPT系列)的基础,提升了模型训练的效率和规模。

🎯

关键要点

  • 因果掩码是自回归生成模型中的关键技术,确保模型在训练时仅依赖过去的信息。
  • 因果掩码通过将上三角部分设为负无穷,确保模型在生成时不“偷看”未来的token。
  • 因果掩码解决了Transformer在并行处理与生成任务之间的矛盾,提升了模型训练的效率和规模。
  • 自回归模型的定义是将整个序列的联合概率分解为条件概率的乘积,模型在预测时只能见到过去的信息。
  • 因果掩码强制让self-attention在结构上变得因果,使Transformer能够像RNN一样满足因果性。
  • Teacher forcing是一种训练技巧,确保模型在每一步预测时使用真实的历史信息。
  • 因果掩码与teacher forcing结合,使得Transformer的训练能够实现并行化,显著提高训练速度。
  • 因果掩码的实现形式是一个n × n的矩阵,确保每个位置的注意力分布只在对角线及以下。
  • Encoder self-attention不使用因果掩码,Decoder self-attention必须使用因果掩码,Decoder cross-attention则需要padding mask。
  • Prefix LM是一种部分因果的设计,前半段双向,后半段因果,适用于特定任务。
  • 推理时的KV cache与因果掩码的关系,推理过程天然是因果的,不需要显式的因果掩码。
  • 因果掩码的设计影响了模型的表示结构,导致了attention sink现象的出现。
  • 长序列下因果掩码的开销显著,需采用优化策略如常量化、按需计算等。
  • 常见的错误包括在BERT中误加因果掩码、encoder-decoder模型中cross-attention错误加因果掩码等。
  • 因果掩码是Transformer时代所有自回归大模型存在的工程基础,定义了自回归的精确语义。

延伸问答

因果掩码在自回归生成模型中的作用是什么?

因果掩码确保模型在训练时仅依赖过去的信息,避免在生成时“偷看”未来的token,从而解决了Transformer在并行处理与生成任务之间的矛盾。

因果掩码是如何实现的?

因果掩码通过将上三角部分设为负无穷,确保模型在生成时只关注对角线及以下的token,从而形成合法的注意力分布。

因果掩码如何提高模型训练的效率?

因果掩码结合teacher forcing,使得Transformer的训练能够实现并行化,显著提高训练速度,避免了串行训练的低效。

自回归模型的定义是什么?

自回归模型是将整个序列的联合概率分解为条件概率的乘积,模型在预测时只能见到过去的信息。

推理时因果掩码的作用是什么?

推理时因果掩码在prefill阶段需要使用,以确保模型在处理长prompt时只看到之前的token,保持训练与推理的一致性。

因果掩码与teacher forcing的关系是什么?

因果掩码与teacher forcing结合,确保模型在每一步预测时使用真实的历史信息,从而提高训练的稳定性和效率。

➡️

继续阅读