2 个章节·按类别展开/折叠
知识
为什么需要 Causal Mask
Causal Mask(因果掩码)让每个 token 只能看到自己和之前的 token,不能看未来。
GPT 是自回归生成(从左到右),训练时如果不 mask,下一个 token 的预测会「作弊」看到答案。
实现:在 softmax 前,把未来位置分数设为 -inf(mask=1 处)。
矩阵形式:上三角为 0,下三角为 1,对角线为 1。
BERT 是双向的,不用 causal mask;GPT 单向,必须用。
代码
Causal Mask(因果掩码)让每个 token 只能看到自己和之前的 token,不能看未来。
GPT 是自回归生成(从左到右),训练时如果不 mask,下一个 token 的预测会「作弊」看到答案。
实现:在 softmax 前,把未来位置分数设为 -inf(mask=1 处)。
矩阵形式:上三角为 0,下三角为 1,对角线为 1。
BERT 是双向的,不用 causal mask;GPT 单向,必须用。