跳到主内容
快讯直播
AI智模界
AI 词典

因果掩码(Causal Mask):为什么模型只能往前看

一句话定义:因果掩码是一张盖在注意力分数上的"遮罩"——在计算注意力时,把每个位置对未来 token 的注意力权重强行压成 0,让模型永远只能根据已经出现的内容预测下一个词。

为什么需要它

训练时,Transformer 习惯把整句话一次性喂进去并行计算;但推理时必须一个 token 一个 token 往外蹦。如果训练时不加限制,第 3 个位置的词就能直接"看到"第 4 个位置的正确答案,模型学会的是抄答案,而不是预测。等上线推理时没有未来可抄,效果立刻崩掉。

做法很朴素:注意力分数是一个 L×L 的矩阵(L 是序列长度),在 softmax 之前,把上三角部分(列号大于行号的位置)填上负无穷,softmax 之后这些位置的权重就变成 0。对角线保留——每个词还是能看到自己。

打个比方:像做一份只能顺着往下填的答卷。每写完一格,前面写过的内容都摊在桌上随便看,但后面的格子被胶带封死。这也正是"自回归(autoregressive)"的字面意思——用自己前面的输出,喂出后面的话。

和相邻概念的区别

最容易混淆的是填充掩码(padding mask)。它屏蔽的是为了长度对齐补上的占位符,和"偷不偷看未来"完全无关,实际训练里两者经常叠加使用。

掩码类型屏蔽对象目的典型场景
因果掩码当前位置之后的 token防止信息泄漏,保证自回归解码器、对话、代码补全
填充掩码补齐用的占位符不去关注无意义的 token变长 batch 训练
不加掩码(双向)每个位置看到整个序列编码器、分类、语义检索

注意"带因果掩码"和"双向"不是好坏之分,而是任务之分:前者天生是续写机器,后者天生是理解机器。

对从业者的实际意义

1. 它划定了模型的能力边界。 用因果模型做分类、做句向量检索,通常要额外设计,效果未必比双向模型好。

2. 它是 AI 词典:KV Cache">KV Cache 成立的前提。 因为每个位置只依赖过去,生成时就能只缓存历史算好的 Key/Value,不必重算整段——这是大模型能高速流式输出的工程基础。

3. 它是常见的踩坑点。 微调时把 attention mask 拼错、形状对不上,会出现 loss 掉得很快但实际效果很差的"假收敛"。具体实现细节各家框架有差异,以官方文档为准。

一句话收尾:因果掩码的本质是一条纪律——预测第 t 个词时,只准用第 1 到第 t 个词的信息,多一个字都不行。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。