Transformer上下文窗口预测解释 | AI生成和翻译
问题:在上下文大小为1024的Transformer中,是用1023个token预测第1024个token,还是用1024个token预测窗口外的新token?
答案:你理解得没错,是后者。在Transformer模型(如GPT)中,如果最大上下文窗口为1024,模型最多可将1024个token作为输入来预测下一个token(即第1025个)。
以下是该空间的具体利用方式:
1. 上下文窗口限制
“上下文大小”指模型一次能”看到”或关注的token最大数量。若限制为1024,模型会创建一个$1024 \times 1024$的注意力矩阵。
2. 训练与推理的区别
- 训练阶段: 模型实际上会同时处理全部1024个token。由于因果掩码(也称前瞻掩码)的存在,模型按以下方式训练:
- 位置1预测token 2。
- 位置2(看到1和2)预测token 3。
- ……
-
位置1024(看到token 1到1024)预测token 1025。
- 推理(生成)阶段: 若提供包含1024个token的提示,模型会利用第1024个token的隐藏状态生成下一个token。生成新token后,窗口必须”滑动”或开始丢弃最早期的token,因为无法超过1024的硬性限制。
3. 输入/输出总结
| 输入大小 | 作用 | 输出 |
|---|---|---|
| 1023个token | 预测窗口末尾 | Token 1024 |
| 1024个token | 填满上下文 | Token 1025 |
因此,若拥有完整的1024个token缓冲区,模型会用所有1024个token来决定下一个token是什么。它不会在上下文窗口中”预留”预测位置——预测是基于现有上下文生成的词汇概率分布。